diff options
| author | Adam <[email protected]> | 2026-02-09 11:34:35 -0600 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-02-09 11:34:35 -0600 |
| commit | dc53086c1e73d43d3a28fc4cdf161e83d09b1877 (patch) | |
| tree | 45a1d0e38de958d0886a5120b2806b21db74145b /packages/web/src/content/docs/ru/mcp-servers.mdx | |
| parent | f74c0339cc6315f7e7743e26b7eab47ce026c239 (diff) | |
| download | opencode-dc53086c1e73d43d3a28fc4cdf161e83d09b1877.tar.gz opencode-dc53086c1e73d43d3a28fc4cdf161e83d09b1877.zip | |
wip(docs): i18n (#12681)
Diffstat (limited to 'packages/web/src/content/docs/ru/mcp-servers.mdx')
| -rw-r--r-- | packages/web/src/content/docs/ru/mcp-servers.mdx | 511 |
1 files changed, 511 insertions, 0 deletions
diff --git a/packages/web/src/content/docs/ru/mcp-servers.mdx b/packages/web/src/content/docs/ru/mcp-servers.mdx new file mode 100644 index 000000000..8996ae56f --- /dev/null +++ b/packages/web/src/content/docs/ru/mcp-servers.mdx @@ -0,0 +1,511 @@ +--- +title: MCP-серверы +description: Добавьте локальные и удаленные инструменты MCP. +--- + +Вы можете добавить внешние инструменты в OpenCode, используя _Model Context Protocol_ или MCP. OpenCode поддерживает как локальные, так и удаленные серверы. + +После добавления инструменты MCP автоматически становятся доступными для LLM наряду со встроенными инструментами. + +--- + +#### Предостережения + +Когда вы используете сервер MCP, он добавляет контекст. Это может быстро сложиться, если у вас много инструментов. Поэтому мы рекомендуем быть осторожными с тем, какие серверы MCP вы используете. + +:::кончик +Серверы MCP добавляются к вашему контексту, поэтому будьте осторожны с тем, какие из них вы включаете. +::: + +Некоторые серверы MCP, такие как сервер MCP GitHub, имеют тенденцию добавлять много токенов и могут легко превысить ограничение контекста. + +--- + +## Давать возможность + +Вы можете определить серверы MCP в своем [OpenCode Config](https://opencode.ai/docs/config/) в разделе `mcp`. Добавьте каждому MCP уникальное имя. Вы можете обратиться к этому MCP по имени при запросе LLM. + +```jsonc title="opencode.jsonc" {6} +{ + "$schema": "https://opencode.ai/config.json", + "mcp": { + "name-of-mcp-server": { + // ... + "enabled": true, + }, + "name-of-other-mcp-server": { + // ... + }, + }, +} +``` + +Вы также можете отключить сервер, установив для `enabled` значение `false`. Это полезно, если вы хотите временно отключить сервер, не удаляя его из конфигурации. + +--- + +### Переопределение удаленных настроек по умолчанию + +Организации могут предоставлять серверы MCP по умолчанию через свою конечную точку `.well-known/opencode`. Эти серверы могут быть отключены по умолчанию, что позволяет пользователям выбирать те, которые им нужны. + +Чтобы включить определенный сервер из удаленной конфигурации вашей организации, добавьте его в локальную конфигурацию с помощью `enabled: true`: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "mcp": { + "jira": { + "type": "remote", + "url": "https://jira.example.com/mcp", + "enabled": true + } + } +} +``` + +Значения вашей локальной конфигурации переопределяют удаленные значения по умолчанию. Дополнительную информацию см. в [config Priorce](/docs/config#precedence-order). + +--- + +## Местный + +Добавьте локальные серверы MCP с помощью `type` в `"local"` внутри объекта MCP. + +```jsonc title="opencode.jsonc" {15} +{ + "$schema": "https://opencode.ai/config.json", + "mcp": { + "my-local-mcp-server": { + "type": "local", + // Or ["bun", "x", "my-mcp-command"] + "command": ["npx", "-y", "my-mcp-command"], + "enabled": true, + "environment": { + "MY_ENV_VAR": "my_env_var_value", + }, + }, + }, +} +``` + +Эта команда запускает локальный сервер MCP. Вы также можете передать список переменных среды. + +Например, вот как можно добавить тестовый сервер [`@modelcontextprotocol/server-everything`](https://www.npmjs.com/package/@modelcontextprotocol/server-everything) MCP. + +```jsonc title="opencode.jsonc" +{ + "$schema": "https://opencode.ai/config.json", + "mcp": { + "mcp_everything": { + "type": "local", + "command": ["npx", "-y", "@modelcontextprotocol/server-everything"], + }, + }, +} +``` + +И чтобы использовать его, я могу добавить `use the mcp_everything tool` в свои подсказки. + +```txt "mcp_everything" +use the mcp_everything tool to add the number 3 and 4 +``` + +--- + +#### Параметры + +Вот все варианты настройки локального сервера MCP. + +| Вариант | Тип | Необходимый | Описание | +| ------------- | ------- | -------- | ----------------------------------------------------------------------------------- | +| `type` | Нить | Да | Тип подключения к серверу MCP должен быть `"local"`. | +| `command` | Множество | Да | Команда и аргументы для запуска сервера MCP. | +| `environment` | Объект | | Переменные среды, которые необходимо установить при запуске сервера. | +| `enabled` | логическое значение | | Включите или отключите сервер MCP при запуске. | +| `timeout` | Число | | Тайм-аут в мс для получения инструментов с сервера MCP. По умолчанию 5000 (5 секунд). | + +--- + +## Удаленный + +Добавьте удаленные серверы MCP, установив для `type` значение `"remote"`. + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/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` вы можете передать список заголовков. + +--- + +#### Параметры + +| Вариант | Тип | Необходимый | Описание | +| --------- | ------- | -------- | ----------------------------------------------------------------------------------- | +| `type` | Нить | Да | Тип подключения к серверу MCP должен быть `"remote"`. | +| `url` | Нить | Да | URL-адрес удаленного сервера MCP. | +| `enabled` | логическое значение | | Включите или отключите сервер MCP при запуске. | +| `headers` | Объект | | Заголовки для отправки с запросом. | +| `oauth` | Объект | | Конфигурация аутентификации OAuth. См. раздел [OAuth](#oauth) ниже. | +| `timeout` | Число | | Тайм-аут в мс для получения инструментов с сервера MCP. По умолчанию 5000 (5 секунд). | + +--- + +## OAuth + +OpenCode автоматически обрабатывает аутентификацию OAuth для удаленных серверов MCP. Когда серверу требуется аутентификация, OpenCode: + +1. Обнаружьте ответ 401 и инициируйте поток OAuth. +2. Используйте **Динамическую регистрацию клиента (RFC 7591)**, если это поддерживается сервером. +3. Надежно храните токены для будущих запросов + +--- + +### Автоматический + +Для большинства серверов MCP с поддержкой OAuth не требуется никакой специальной настройки. Просто настройте удаленный сервер: + +```json title="opencode.json" +{ + "$schema": "https://opencode.ai/config.json", + "mcp": { + "my-oauth-server": { + "type": "remote", + "url": "https://mcp.example.com/mcp" + } + } +} +``` + +Если сервер требует аутентификации, OpenCode предложит вам пройти аутентификацию при первой попытке его использования. Если нет, вы можете [вручную запустить поток ](#authenticating) с помощью `opencode mcp auth <server-name>`. + +--- + +### Предварительная регистрация + +Если у вас есть учетные данные клиента от поставщика сервера MCP, вы можете их настроить: + +```json title="opencode.json" {7-11} +{ + "$schema": "https://opencode.ai/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: + +```bash +opencode mcp auth my-oauth-server +``` + +Перечислите все серверы MCP и их статус аутентификации: + +```bash +opencode mcp list +``` + +Удалить сохраненные учетные данные: + +```bash +opencode mcp logout my-oauth-server +``` + +Команда `mcp auth` откроет ваш браузер для авторизации. После того как вы авторизуетесь, OpenCode надежно сохранит токены в `~/.local/share/opencode/mcp-auth.json`. + +--- + +#### Отключение OAuth + +Если вы хотите отключить автоматический OAuth для сервера (например, для серверов, которые вместо этого используют ключи API), установите для `oauth` значение `false`: + +```json title="opencode.json" {7} +{ + "$schema": "https://opencode.ai/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 + +| Вариант | Тип | Описание | +| -------------- | --------------- | -------------------------------------------------------------------------------- | +| `oauth` | Объект \ | ЛОЖЬ | Объект конфигурации OAuth или `false`, чтобы отключить автоматическое обнаружение OAuth. | +| `clientId` | Нить | Идентификатор клиента OAuth. Если этот параметр не указан, будет предпринята попытка динамической регистрации клиента. | +| `clientSecret` | Нить | Секрет клиента OAuth, если этого требует сервер авторизации. | +| `scope` | Нить | Области OAuth для запроса во время авторизации. | + +#### Отладка + +Если удаленный сервер MCP не может аутентифицироваться, вы можете диагностировать проблемы с помощью: + +```bash +# View auth status for all OAuth-capable servers +opencode mcp auth list + +# Debug connection and OAuth flow for a specific server +opencode mcp debug my-oauth-server +``` + +Команда `mcp debug` показывает текущий статус аутентификации, проверяет соединение HTTP и пытается выполнить поток обнаружения OAuth. + +--- + +## Управлять + +Ваши MCP доступны в виде инструментов OpenCode наряду со встроенными инструментами. Таким образом, вы можете управлять ими через конфигурацию OpenCode, как и любым другим инструментом. + +--- + +### Глобальный + +Это означает, что вы можете включать или отключать их глобально. + +```json title="opencode.json" {14} +{ + "$schema": "https://opencode.ai/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. + +```json title="opencode.json" {14} +{ + "$schema": "https://opencode.ai/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 + } +} +``` + +Здесь мы используем шаблон `my-mcp*` для отключения всех MCP. + +--- + +### За агента + +Если у вас большое количество серверов MCP, вы можете включить их только для каждого агента и отключить глобально. Для этого: + +1. Отключите его как инструмент глобально. +2. В вашей [конфигурации агента](/docs/agents#tools) включите сервер MCP в качестве инструмента. + +```json title="opencode.json" {11, 14-18} +{ + "$schema": "https://opencode.ai/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 использует простые шаблоны подстановки регулярных выражений: + +- `*` соответствует нулю или более любого символа (например, `"my-mcp*"` соответствует `my-mcp_search`, `my-mcp_list` и т. д.). +- `?` соответствует ровно одному символу. +- Все остальные символы совпадают буквально + +:::примечание +Инструменты сервера MCP регистрируются с именем сервера в качестве префикса, поэтому, чтобы отключить все инструменты для сервера, просто используйте: + +``` +"mymcpservername_*": false +``` + +::: + +--- + +## Примеры + +Ниже приведены примеры некоторых распространенных серверов MCP. Вы можете отправить PR, если хотите документировать другие серверы. + +--- + +### Часовой + +Добавьте [сервер Sentry MCP](https://mcp.sentry.dev) для взаимодействия с вашими проектами и проблемами Sentry. + +```json title="opencode.json" {4-8} +{ + "$schema": "https://opencode.ai/config.json", + "mcp": { + "sentry": { + "type": "remote", + "url": "https://mcp.sentry.dev/mcp", + "oauth": {} + } + } +} +``` + +После добавления конфигурации пройдите аутентификацию с помощью Sentry: + +```bash +opencode mcp auth sentry +``` + +Откроется окно браузера для завершения процесса OAuth и подключения OpenCode к вашей учетной записи Sentry. + +После аутентификации вы можете использовать инструменты Sentry в своих подсказках для запроса данных о проблемах, проектах и ошибках. + +```txt "use sentry" +Show me the latest unresolved issues in my project. use sentry +``` + +--- + +### Контекст7 + +Добавьте [сервер Context7 MCP](https://github.com/upstash/context7) для поиска в документах. + +```json title="opencode.json" {4-7} +{ + "$schema": "https://opencode.ai/config.json", + "mcp": { + "context7": { + "type": "remote", + "url": "https://mcp.context7.com/mcp" + } + } +} +``` + +Если вы зарегистрировали бесплатную учетную запись, вы можете использовать свой ключ API и получить более высокие ограничения скорости. + +```json title="opencode.json" {7-9} +{ + "$schema": "https://opencode.ai/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` в запросы на использование сервера Context7 MCP. + +```txt "use context7" +Configure a Cloudflare Worker script to cache JSON API responses for five minutes. use context7 +``` + +Альтернативно вы можете добавить что-то подобное в свой файл [AGENTS.md](/docs/rules/). + +```md title="AGENTS.md" +When you need to search docs, use `context7` tools. +``` + +--- + +### Греп от Верселя + +Добавьте сервер MCP [Grep от Vercel](https://grep.app) для поиска по фрагментам кода на GitHub. + +```json title="opencode.json" {4-7} +{ + "$schema": "https://opencode.ai/config.json", + "mcp": { + "gh_grep": { + "type": "remote", + "url": "https://mcp.grep.app" + } + } +} +``` + +Поскольку мы назвали наш сервер MCP `gh_grep`, вы можете добавить `use the gh_grep tool` в свои запросы, чтобы агент мог его использовать. + +```txt "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](/docs/rules/). + +```md title="AGENTS.md" +If you are unsure how to do something, use `gh_grep` to search code examples from GitHub. +``` |
