---
title: Как подключить MCP? Любой клиент: Cursor, Perplexity и другие
description: Пошаговое руководство по подключению MCP-серверов в Cursor, Claude Desktop, Claude Code, VS Code, Windsurf, Cline, Perplexity и ChatGPT. Разбираем локальные и удалённые серверы, формат конфига, типовые ошибки и безопасность.
createdAt: 2026-07-14
updatedAt: 2026-07-14
---
MCP (Model Context Protocol) это открытый стандарт, через который ИИ-ассистент дотягивается до внешних инструментов: баз данных, API, файловой системы, поисковиков, ваших внутренних сервисов. Написали MCP-сервер один раз, и он работает в любом клиенте, который понимает протокол. Ниже разберёмся, как вообще устроено подключение, и пройдёмся по шагам для каждого популярного клиента.

## Сначала о главном: серверы бывают двух видов

Половина мучений с MCP отваливается, как только понимаешь эту развилку.

### Локальные серверы (stdio)

Сервер поднимается прямо у вас на машине как процесс: через `npx`, `uvx`, `python`, `docker`. Клиент говорит с ним по стандартному вводу-выводу. Такому серверу вы даёте команду запуска и, если он просит, переменные окружения с ключами.

```json
{
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/projects"]
}
```

### Удалённые серверы (http)

Сервер уже где-то развёрнут и висит по адресу. Клиенту нужна только ссылка, ну и токен, если сервер закрыт авторизацией. Локально запускать нечего.

```json
{
  "url": "https://example.com/mcp",
  "headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
```

Как отличить на глаз: в карточке сервера есть готовый URL, значит удалённый, подключается за секунды. Есть только ссылка на GitHub и команда `npx`/`uvx`, значит локальный, и ему понадобится установленный Node.js или Python.

Дальше конкретика. Формат конфига у всех клиентов родственный (JSON с ключом `mcpServers`), а вот где лежит файл и какие мелочи отличаются, зависит от клиента.

## Cursor

Cursor умеет MCP из коробки. **Поддерживает и локальные (stdio), и удалённые (http/sse) серверы.**

**Через файл.** Создайте:

- для одного проекта: `.cursor/mcp.json` в корне;
- глобально: `~/.cursor/mcp.json`.

```json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
    },
    "my-remote": {
      "url": "https://example.com/mcp",
      "headers": { "Authorization": "Bearer TOKEN" }
    }
  }
}
```

**Через интерфейс.** `Settings → Cursor Settings → MCP → Add new MCP server`. Вписываете имя, команду или URL, а конфиг Cursor запишет сам.

Дальше загляните в `Settings → MCP` и проверьте: рядом с сервером горит зелёный индикатор, инструменты подтянулись. Работают они в режиме **Agent**, в обычном чате их нет. Перед каждым вызовом Cursor будет переспрашивать разрешение. Это нормально, для доверенных серверов автозапуск включается в пару кликов.

## Claude Desktop

Тот самый клиент, с которого MCP и начинался. **Поддерживает и локальные (stdio), и удалённые серверы:** локальные понимает напрямую через конфиг, удалённые (http/sse, пока в бете) подключает через коннекторы.

Откройте `Settings → Developer → Edit Config`. Откроется файл:

- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx" }
    }
  }
}
```

Дальше главное: перезапустите приложение целиком. Не свернуть окно, а выйти через меню и открыть заново. После этого в поле ввода появится иконка инструментов (ползунок с молоточком), под ней и живут подключённые серверы. Удалённые серверы проще завести иначе: `Settings → Connectors → Add custom connector`, вставили URL, готово.

## Claude Code

CLI-ассистент от Anthropic. **Транспортов у него больше всех: локальные stdio, удалённые http и sse** (sse уже считается устаревшим, для новых серверов берите http). Конфиг удобнее не править руками, а добавлять командой.

```bash
# Локальный сервер (stdio)
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem /path/to/dir

# Удалённый сервер (HTTP)
claude mcp add --transport http my-server https://example.com/mcp

# С заголовком авторизации
claude mcp add --transport http my-server https://example.com/mcp \
  --header "Authorization: Bearer TOKEN"
```

Что ещё пригодится: `claude mcp list` покажет все серверы, `claude mcp get <name>` выдаст детали, `claude mcp remove <name>` удалит. Через `--scope` (`local` / `project` / `user`) выбираете область видимости. Проектный конфиг ложится в `.mcp.json` и коммитится в репозиторий, чтобы вся команда получила ровно те же серверы, что и вы.

## VS Code (GitHub Copilot)

В VS Code MCP живёт в режиме **Copilot Agent**. **Поддерживает и локальные (stdio), и удалённые (http/sse) серверы.** Конфиг лежит в `.vscode/mcp.json`. Тут две ловушки: ключ называется `servers`, а не `mcpServers`, и у каждого сервера обязателен явный `type` (`stdio`, `http` или `sse`). Легко наступить.

```json
{
  "servers": {
    "filesystem": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "${workspaceFolder}"]
    },
    "my-remote": {
      "type": "http",
      "url": "https://example.com/mcp"
    }
  }
}
```

Можно и без файла: `Ctrl/Cmd + Shift + P → MCP: Add Server`. Потом откройте панель Chat, переключитесь в **Agent**, нажмите иконку инструментов и включите нужные. Секреты VS Code умеет прятать через `inputs`: тогда токен спрашивается при первом запуске и не валяется открытым в файле.

## Windsurf

Редактор от Codeium. **Поддерживает все три транспорта: локальные stdio, удалённые http и sse.** Конфиг: `~/.codeium/windsurf/mcp_config.json`, формат обычный.

```json
{
  "mcpServers": {
    "my-server": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx" }
    }
  }
}
```

Но руками тут лезть необязательно. Откройте Cascade (панель ассистента), найдите настройки MCP, дальше `Add Server` или `Manage plugins`. У Windsurf приятный магазин готовых серверов. Добавили, нажали **Refresh**, и клиент подхватил изменения.

## Cline (расширение для VS Code)

У Cline свой MCP-маркетплейс. **Поддерживает и локальные (stdio), и удалённые (http/sse) серверы.** Жмёте иконку **MCP Servers** на верхней панели, дальше вкладка `Marketplace` (установка в один клик) или `Installed → Configure MCP Servers`, если хочется поправить JSON руками.

Ручной конфиг стандартный, `mcpServers`, как у Claude Desktop. А ещё Cline ставит серверы «по просьбе»: попросите его в чате добавить нужный MCP-сервер, и он сам соберёт конфиг.

## Perplexity

У Perplexity поддержка разъехалась по платформам, и это важно понимать заранее.

**Локальные (stdio) серверы работают только в приложении для Mac.** Причём из-за песочницы Mac App Store придётся доустановить вспомогательную утилиту Perplexity Helper (PerplexityXPC), без неё локальные серверы не поднимутся. Фича раскатывается на платных подписчиков в первую очередь.

**Удалённые серверы** подключаются кастомным коннектором и доступны на подписках Pro, Max и Enterprise:

1. Откройте `Settings → Connectors`.
2. Нажмите `Add Connector` / `Add custom connector`.
3. Вставьте URL удалённого сервера и выберите способ авторизации (OAuth, API-ключ или без неё).

Готовые коннекторы (GitHub, Notion, базы данных) подключаются оттуда же в пару кликов. Дальше Perplexity дёргает инструменты сервера прямо по ходу ответа. Если вы не на Mac, а сервер у вас локальный (`npx`/`uvx`), путь один: задеплоить его и подключить уже как удалённый по URL.

## OpenAI

Тут легко запутаться, потому что это два разных продукта OpenAI с противоположной поддержкой транспортов.

### ChatGPT (веб и приложения)

**Только удалённые серверы.** Локальные stdio веб-ChatGPT не запускает в принципе, ему нужен HTTPS-эндпоинт (streamable HTTP или sse). Серверы подключаются как **кастомные коннекторы** через Developer mode (доступен на Plus, Pro, Business, Enterprise и Edu).

1. `Settings → Connectors → Advanced → Developer mode`.
2. `Create` / `Add custom connector`.
3. Укажите URL удалённого сервера и параметры авторизации.

Есть локальный сервер, а хочется в ChatGPT? Оберните его в удалённый мостом вроде `mcp-remote` и подключите по URL.

### Codex (CLI и IDE-расширение)

А вот Codex, наоборот, заточен под **локальные stdio-серверы** (плюс умеет streamable HTTP). CLI, IDE-расширение и десктоп делят один конфиг. Добавляется командой:

```bash
codex mcp add my-server -- npx -y @modelcontextprotocol/server-filesystem /path/to/dir
```

Для удалённого сервера в конфиге вместо `command` указываете `url` и, если нужно, переменную окружения с bearer-токеном.

## Общий шаблон и типовые грабли

Почти везде один и тот же JSON, так что держите шаблон под рукой:

```json
{
  "mcpServers": {
    "local-example": {
      "command": "npx",
      "args": ["-y", "package-name", "arg1"],
      "env": { "API_KEY": "значение" }
    },
    "remote-example": {
      "url": "https://example.com/mcp",
      "headers": { "Authorization": "Bearer TOKEN" }
    }
  }
}
```

Если сервер «не подключается», пробегитесь по списку. В девяти случаях из десяти дело в одном из этих пунктов.

- **Забыли перезапустить клиент.** Конфиг читается на старте. Закрыли целиком, открыли заново.
- **Нет Node.js или Python.** Для `npx`-серверов нужен Node, для `uvx` нужен Python и `uv`. Проверьте: `node -v`, `uvx --version`.
- **Путь не абсолютный.** Пишите полный путь (`/Users/me/project`), без `~` и без относительных: многие клиенты `~` не разворачивают.
- **Битый JSON.** Одна лишняя запятая или незакрытая скобка, и файл молча игнорируется целиком. Прогоните через любой валидатор.
- **Windows и `npx`.** Иногда спасает обёртка `cmd /c npx ...`. Не стартует, попробуйте её.
- **Не тот режим.** В Cursor, VS Code и Windsurf инструменты доступны только в Agent/Cascade, в обычном чате их не будет.
- **Токен или права.** Инструмент отвечает ошибкой авторизации? Проверьте, что ключ живой и прав ему хватает.
- **Читайте логи.** У Claude Desktop и Cursor есть панель логов MCP. Там прямым текстом написано, почему процесс упал.

## Пара слов о безопасности

MCP-сервер получает доступ к вашим данным и действует от вашего имени, так что расслабляться не стоит.

- **Ставьте только то, чему доверяете.** Загляните в репозиторий: кто автор, сколько звёзд, открыт ли код.
- **Ключи держите в узде.** Не коммитьте `mcp.json` с секретами в публичный репозиторий. Где клиент умеет прятать секреты через `inputs` (тот же VS Code), пользуйтесь этим.
- **Давайте минимум прав.** Filesystem-серверу ограничьте папку, токену API выдайте самый узкий scope, какой хватает для дела.
- **Не выключайте подтверждения на автомате.** Ручное «разрешить» на вызов инструмента это ваша страховка от того, чего вы не заказывали.

## Итог

Всё сводится к трём шагам: понять тип сервера (локальный или удалённый), вписать его в конфиг клиента или добавить через UI, перезапустить приложение. Формат конфига у клиентов почти одинаковый, так что, разобравшись с одним, вы подключите сервер где угодно.

Готовые серверы с командами запуска и ссылками удобно искать в [каталоге](https://mcp-katalog.ru): для каждого сервера уже указано, локальный он или удалённый и как именно его подцепить.
