Dropstone CLI

MCP-серверы

Добавляйте локальные и удаленные MCP-инструменты.

Вы можете добавлять внешние инструменты в Dropstone с помощью Model Context Protocol, или MCP. Dropstone поддерживает как локальные, так и удаленные серверы.

После добавления MCP-инструменты автоматически становятся доступны LLM наряду со встроенными инструментами.


Предостережения

Когда вы используете MCP-сервер, он добавляет данные в контекст. Это может быстро накапливаться, если у вас много инструментов. Поэтому мы рекомендуем внимательно подходить к выбору MCP-серверов.

Tip

MCP-серверы добавляют данные в контекст, поэтому будьте осторожны с тем, какие из них вы включаете.

Некоторые MCP-серверы, например GitHub MCP server, добавляют много токенов и могут легко превысить лимит контекста.


Включение

Вы можете определить MCP-серверы в вашем конфиге Dropstone в разделе mcp. Добавьте каждый MCP с уникальным именем. Вы можете обращаться к этому MCP по имени при запросах к LLM.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "name-of-mcp-server": {
      // ...
      "enabled": true,
    },
    "name-of-other-mcp-server": {
      // ...
    },
  },
}

Вы также можете отключить сервер, установив enabled в false. Это полезно, если вы хотите временно отключить сервер, не удаляя его из конфига.


Переопределение удаленных настроек по умолчанию

Организации могут предоставлять MCP-серверы по умолчанию через свою конечную точку .well-known/dropstone. Эти серверы могут быть отключены по умолчанию, позволяя пользователям включать только те, которые им нужны.

Чтобы включить конкретный сервер из удаленного конфига вашей организации, добавьте его в локальный конфиг с enabled: true:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "jira": {
      "type": "remote",
      "url": "https://jira.example.com/mcp",
      "enabled": true
    }
  }
}

Значения вашего локального конфига переопределяют удаленные настройки по умолчанию. Подробнее см. в разделе приоритет конфига.


Локальные

Добавляйте локальные MCP-серверы, установив type в "local" внутри объекта MCP.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "my-local-mcp-server": {
      "type": "local",
      // Или ["bun", "x", "my-mcp-command"]
      "command": ["npx", "-y", "my-mcp-command"],
      "enabled": true,
      "environment": {
        "MY_ENV_VAR": "my_env_var_value",
      },
    },
  },
}

Команда определяет, как запускается локальный MCP-сервер. Вы также можете передать список переменных окружения.

Например, вот как можно добавить тестовый MCP-сервер @modelcontextprotocol/server-everything.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "mcp_everything": {
      "type": "local",
      "command": ["npx", "-y", "@modelcontextprotocol/server-everything"],
    },
  },
}

Чтобы использовать его, я могу добавить use the mcp_everything tool в свои запросы.

use the mcp_everything tool to add the number 3 and 4

Опции

Вот все опции для настройки локального MCP-сервера.

ОпцияТипОбязательноОписание
typeStringДаТип подключения MCP-сервера, должен быть "local".
commandArrayДаКоманда и аргументы для запуска MCP-сервера.
environmentObjectПеременные окружения для установки при запуске сервера.
enabledBooleanВключить или отключить MCP-сервер при запуске.
timeoutNumberТаймаут в мс для получения инструментов с MCP-сервера. По умолчанию 5000 (5 секунд).

Удаленные

Добавляйте удаленные MCP-серверы, установив type в "remote".

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "my-remote-mcp": {
      "type": "remote",
      "url": "https://my-mcp-server.com",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer MY_API_KEY"
      }
    }
  }
}

url — это URL удаленного MCP-сервера, а с помощью опции headers вы можете передать список заголовков.


Опции

ОпцияТипОбязательноОписание
typeStringДаТип подключения MCP-сервера, должен быть "remote".
urlStringДаURL удаленного MCP-сервера.
enabledBooleanВключить или отключить MCP-сервер при запуске.
headersObjectЗаголовки для отправки с запросом.
oauthObjectКонфигурация аутентификации OAuth. См. раздел OAuth ниже.
timeoutNumberТаймаут в мс для получения инструментов с MCP-сервера. По умолчанию 5000 (5 секунд).

OAuth

Dropstone автоматически обрабатывает аутентификацию OAuth для удаленных MCP-серверов. Когда сервер требует аутентификацию, Dropstone:

  1. Обнаруживает ответ 401 и запускает поток OAuth
  2. Использует Dynamic Client Registration (RFC 7591), если это поддерживается сервером
  3. Безопасно хранит токены для будущих запросов

Автоматическая

Для большинства MCP-серверов с поддержкой OAuth не требуется специальная настройка. Просто настройте удаленный сервер:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "my-oauth-server": {
      "type": "remote",
      "url": "https://mcp.example.com/mcp"
    }
  }
}

Если сервер требует аутентификацию, Dropstone предложит вам пройти аутентификацию при первой попытке использования. Если нет, вы можете вручную запустить поток с помощью dropstone mcp auth <server-name>.


Предварительно зарегистрированные

Если у вас есть учетные данные клиента от провайдера MCP-сервера, вы можете настроить их:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "my-oauth-server": {
      "type": "remote",
      "url": "https://mcp.example.com/mcp",
      "oauth": {
        "clientId": "{env:MY_MCP_CLIENT_ID}",
        "clientSecret": "{env:MY_MCP_CLIENT_SECRET}",
        "scope": "tools:read tools:execute"
      }
    }
  }
}

Аутентификация

Вы можете вручную запустить аутентификацию или управлять учетными данными.

Аутентификация с конкретным MCP-сервером:

dropstone mcp auth my-oauth-server

Список всех MCP-серверов и их статус аутентификации:

dropstone mcp list

Удаление сохраненных учетных данных:

dropstone mcp logout my-oauth-server

Команда mcp auth откроет ваш браузер для авторизации. После авторизации Dropstone безопасно сохранит токены в ~/.local/share/dropstone/mcp-auth.json.


Отключение OAuth

Если вы хотите отключить автоматический OAuth для сервера (например, для серверов, использующих API-ключи), установите oauth в false:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "my-api-key-server": {
      "type": "remote",
      "url": "https://mcp.example.com/mcp",
      "oauth": false,
      "headers": {
        "Authorization": "Bearer {env:MY_API_KEY}"
      }
    }
  }
}

Опции OAuth

ОпцияТипОписание
oauthObject | falseОбъект конфигурации OAuth или false для отключения автоопределения OAuth.
clientIdStringOAuth client ID. Если не указан, будет предпринята попытка динамической регистрации клиента.
clientSecretStringOAuth client secret, если требуется сервером авторизации.
scopeStringOAuth-области для запроса при авторизации.

Отладка

Если удаленный MCP-сервер не может пройти аутентификацию, вы можете диагностировать проблемы с помощью:

# Просмотр статуса аутентификации для всех серверов с поддержкой OAuth
dropstone mcp auth list

# Отладка подключения и потока OAuth для конкретного сервера
dropstone mcp debug my-oauth-server

Команда mcp debug показывает текущий статус аутентификации, проверяет HTTP-подключение и пытается выполнить поток обнаружения OAuth.


Управление

Ваши MCP доступны как инструменты в Dropstone, наряду со встроенными инструментами. Поэтому вы можете управлять ими через конфиг Dropstone, как и любым другим инструментом.


Глобально

Это означает, что вы можете включать или отключать их глобально.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "my-mcp-foo": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-foo"]
    },
    "my-mcp-bar": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-bar"]
    }
  },
  "tools": {
    "my-mcp-foo": false
  }
}

Мы также можем использовать glob-шаблон для отключения всех подходящих MCP.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "my-mcp-foo": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-foo"]
    },
    "my-mcp-bar": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command-bar"]
    }
  },
  "tools": {
    "my-mcp*": false
  }
}

Здесь мы используем glob-шаблон my-mcp* для отключения всех MCP.


Для каждого агента

Если у вас большое количество MCP-серверов, вы можете включать их только для конкретного агента и отключать глобально. Для этого:

  1. Отключите его как инструмент глобально.
  2. В конфиге агента включите MCP-сервер как инструмент.
{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "my-mcp": {
      "type": "local",
      "command": ["bun", "x", "my-mcp-command"],
      "enabled": true
    }
  },
  "tools": {
    "my-mcp*": false
  },
  "agent": {
    "my-agent": {
      "tools": {
        "my-mcp*": true
      }
    }
  }
}

Glob-шаблоны

Glob-шаблон использует простые regex-подобные шаблоны:

  • * соответствует нулю или более любых символов (например, "my-mcp*" соответствует my-mcp_search, my-mcp_list и т.д.)
  • ? соответствует ровно одному символу
  • Все остальные символы соответствуют буквально

Note

Инструменты MCP-сервера регистрируются с именем сервера в качестве префикса, поэтому для отключения всех инструментов сервера используйте:

"mymcpservername_*": false

Примеры

Ниже приведены примеры некоторых распространенных MCP-серверов. Свяжитесь с нами, если вы хотите, чтобы мы задокументировали еще один.


Sentry

Добавьте Sentry MCP server для взаимодействия с вашими проектами и задачами Sentry.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "sentry": {
      "type": "remote",
      "url": "https://mcp.sentry.dev/mcp",
      "oauth": {}
    }
  }
}

После добавления конфигурации пройдите аутентификацию с Sentry:

dropstone mcp auth sentry

Это откроет окно браузера для завершения потока OAuth и подключения Dropstone к вашей учетной записи Sentry.

После аутентификации вы можете использовать инструменты Sentry в своих запросах для получения информации о задачах, проектах и данных об ошибках.

Show me the latest unresolved issues in my project. use sentry

Context7

Добавьте Context7 MCP server для поиска по документации.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "context7": {
      "type": "remote",
      "url": "https://mcp.context7.com/mcp"
    }
  }
}

Если вы зарегистрировали бесплатную учетную запись, вы можете использовать свой API-ключ и получить более высокие лимиты запросов.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "context7": {
      "type": "remote",
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "CONTEXT7_API_KEY": "{env:CONTEXT7_API_KEY}"
      }
    }
  }
}

Здесь мы предполагаем, что у вас установлена переменная окружения CONTEXT7_API_KEY.

Добавьте use context7 в свои запросы, чтобы использовать MCP-сервер Context7.

Configure a Cloudflare Worker script to cache JSON API responses for five minutes. use context7

Кроме того, вы можете добавить что-то подобное в ваш AGENTS.md.

When you need to search docs, use `context7` tools.

Grep by Vercel

Добавьте Grep by Vercel MCP server для поиска по фрагментам кода на GitHub.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "mcp": {
    "gh_grep": {
      "type": "remote",
      "url": "https://mcp.grep.app"
    }
  }
}

Поскольку мы назвали наш MCP-сервер gh_grep, вы можете добавить use the gh_grep tool в свои запросы, чтобы агент использовал его.

What's the right way to set a custom domain in an SST Astro component? use the gh_grep tool

Кроме того, вы можете добавить что-то подобное в ваш AGENTS.md.

If you are unsure how to do something, use `gh_grep` to search code examples from GitHub.
Ctrl+I