# Как подключить MCP-сервер

Общий порядок для любого клиента: команда или адрес, файл настроек, проверка

> Страница сайта MCP Docs — руководство (https://mcpdocs.ru/podklyuchenie/). Тип: Руководство. Форматы сверены с документацией клиентов и SDK 13.10.2026. Ревизия спецификации 2026-07-28, сверено 13.10.2026.

Любой MCP-сервер подключается одинаково: клиенту нужно знать либо команду, которая запускает локальный сервер, либо адрес удалённого. Отличаются только файл настроек и его формат.

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

## Что нужно знать о сервере

**Два вида серверов**
| | Локальный | Удалённый |
|---|---|---|
| Что указать клиенту | Команду запуска и её аргументы | Адрес, обычно с окончанием `/mcp` |
| Транспорт | stdio | Streamable HTTP |
| Вход | Обычно не нужен; ключи передают в переменных окружения | OAuth в браузере или токен в заголовке `Authorization` |
| Пример | `npx @playwright/mcp@latest` | `https://mcp.atlassian.com/v2/mcp` |

Команду или адрес берите из документации сервера. В [каталоге MCP-серверов](https://mcpprotocol.ru/katalog/) они вынесены в карточку каждого сервера.

## Порядок подключения

1. **Найдите настройки клиента.** У каждого клиента свой файл или своя команда — ссылки ниже.
2. **Добавьте сервер.** Для локального — команду, аргументы и переменные окружения, для удалённого — адрес и, если нужно, заголовки.
3. **Перезапустите клиент.** Многие клиенты читают настройки только при запуске; Claude Desktop нужно закрыть полностью, а не только окно.
4. **Проверьте список инструментов.** В клиенте должен появиться сервер и его инструменты.
5. **Разрешайте вызовы осознанно.** Клиент спросит согласие перед вызовом инструмента. Постоянное разрешение давайте только инструментам, которые ничего не меняют.

## Форматы настроек

**Где клиенты хранят список серверов**
| Клиент | Где | Ключ | Руководство |
|---|---|---|---|
| Claude Desktop | `claude_desktop_config.json` | `mcpServers` | [Claude Desktop](https://mcpdocs.ru/podklyuchenie/claude-desktop/) |
| Claude Code | команда `claude mcp add` или `.mcp.json` | `mcpServers` | [Claude Code](https://mcpdocs.ru/podklyuchenie/claude-code/) |
| Cursor | `~/.cursor/mcp.json` или `.cursor/mcp.json` | `mcpServers` | [Cursor](https://mcpdocs.ru/podklyuchenie/cursor/) |
| VS Code | `.vscode/mcp.json` | `servers` | [VS Code](https://mcpdocs.ru/podklyuchenie/vs-code/) |
| OpenCode | `opencode.json` | `mcp` | [OpenCode](https://mcpdocs.ru/podklyuchenie/opencode/) |

Самый распространённый формат — объект `mcpServers`. Так выглядит локальный сервер:

_Локальный сервер в формате mcpServers_

```json
{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["@playwright/mcp@latest"],
      "env": { "PLAYWRIGHT_BROWSERS_PATH": "/opt/browsers" }
    }
  }
}
```

А так — удалённый в Cursor и других клиентах, которые принимают поле `url`:

_Удалённый сервер в формате mcpServers_

```json
{
  "mcpServers": {
    "atlassian": { "url": "https://mcp.atlassian.com/v2/mcp" }
  }
}
```

## Где хранить ключи

- Не вписывайте ключи в файлы, которые попадают в репозиторий: `.mcp.json`, `.vscode/mcp.json`, `.cursor/mcp.json` в папке проекта.
- Передавайте ключ через переменную окружения (`env` для локального сервера) или используйте подстановку, если клиент её поддерживает: в VS Code — `${input:…}` с запросом пароля, в OpenCode — `{env:ИМЯ}`.
- Если удалённый сервер поддерживает OAuth, выбирайте вход через браузер, а не постоянный токен: доступ можно отозвать, а токен живёт недолго.

## Как проверить сервер без клиента

MCP Inspector — официальное приложение, которое запускает сервер и показывает его инструменты, ресурсы и шаблоны. Удобно, чтобы отделить ошибки сервера от ошибок настройки клиента:

_Запуск MCP Inspector для локального сервера_

```bash
npx @modelcontextprotocol/inspector npx @playwright/mcp@latest
```

Удалённый сервер на соответствие ревизии 2026-07-28 можно проверить [бесплатной проверкой](https://mcpprotocol.ru/mcp-check/) справочника.

## Частые ошибки

**Признаки и причины**
| Признак | Причина | Что сделать |
|---|---|---|
| Сервер не запускается, в журнале `ENOENT` или «command not found» | Клиент не находит `npx`, `uvx` или `python`: он запускает сервер с урезанной переменной `PATH` | Укажите полный путь к команде (`which uvx` на macOS и Linux, `where uvx` в Windows) |
| В Windows не запускается `npx` | Команду нужно запускать через оболочку | `"command": "cmd", "args": ["/c", "npx", …]` |
| Сервер запускается и сразу отключается | Сервер пишет журнал в стандартный вывод и ломает обмен | Писать журнал только в stderr; для чужого сервера — сообщить автору |
| Файл или папка «не найдены» | Относительный путь: клиент запускает сервер из своей рабочей папки | Только абсолютные пути |
| Удалённый сервер отвечает `401` | Нужен вход или токен | Пройти вход в браузере или добавить заголовок `Authorization` |
| В инструкции адрес оканчивается на `/sse` | Устаревший транспорт HTTP+SSE | Взять у поставщика адрес Streamable HTTP; если его нет, нужен клиент, который ещё поддерживает SSE |
| Инструментов слишком много, модель путается | Сервер открывает десятки инструментов | Отключить лишние в настройках клиента или сервера (у многих серверов есть группы инструментов) |
