MCP для Claude: как подключить инструменты к Claude Code и Claude Desktop

Практическая инструкция: как подключить MCP-серверы к Claude Code через команду claude mcp add и к Claude Desktop через claude_desktop_config.json. Разбираем три транспорта, scope, готовые серверы (github, notion, postgres, filesystem) и риски prompt injection.

MCP для Claude: как подключить инструменты к Claude Code и Claude Desktop

Поставить Claude в проект и дать ему читать твой код, это одно. А когда Claude сам открывает issue на GitHub, тянет активных юзеров из базы и правит страницу в Notion, это уже совсем другая история. Разница в том, подключены ли к нему инструменты. По умолчанию модель сидит в чате и знает ровно то, что ты ей скинул руками.

В ноябре 2024 Anthropic выкатили для этого открытый стандарт, Model Context Protocol. Аналогия у них простая: USB-C для AI. Один разъём, в который втыкается что угодно, файлы, базы, API, внешние сервисы. И да, протокол не привязан к Claude: те же серверы работают в Cursor, VS Code, Codex и ChatGPT. Поднял сервер один раз, цепляешь везде.

Что такое MCP и при чём тут Claude?

MCP, или Model Context Protocol, это открытый стандарт от Anthropic для подключения AI к внешним данным и инструментам. Claude сам по себе живёт в чате. MCP даёт ему руки: через сервер-посредник модель читает файлы, ходит в базу, дёргает API. Базовое устройство протокола мы разбирали отдельно.

MCP-сервер, это программа-переходник между Claude и конкретным сервисом: умеет разговаривать с базой или GitHub и подсовывает Claude готовые инструменты. Подробно про то, что такое MCP-сервер и как он устроен внутри, у нас есть отдельный разбор. Здесь занимаемся практикой: как прицепить такой сервер именно к Claude.

Что реально можно сделать с MCP в Claude?

Главное, что меняется, это кто делает работу. Без инструментов Claude подсказывает, какую команду набрать тебе. С подключённым сервером он выполняет её сам. Вход у задачи остаётся человеческий, словами, а на выходе уже готовое действие: созданный PR, выгрузка из базы, поправленная страница.

  • Закрыть задачу и открыть PR. Описываешь, что нужно поправить, Claude через сервер github создаёт пул-реквест с изменениями, а не диктует тебе команды для git.
  • Выгрузить данные из базы. Просишь активных юзеров за месяц, Claude через postgres сам пишет и выполняет SELECT. SQL руками копипастить не приходится.
  • Не таскать данные между окнами. Claude сам читает нужный файл, лезет в базу или в Notion, вместо того чтобы ждать, пока ты перенесёшь всё это в чат.

Транспорты: stdio, HTTP и SSE

У MCP-сервера есть способ связи с Claude, это транспорт. На практике их три, и выбор обычно простой: всё локальное идёт через stdio, всё удалённое, что висит на чьём-то сервере, через HTTP.

ТранспортГде живёт серверКогда брать
stdioЛокальный процесс на твоей машине, запускается как дочерний (например, через npx)С него начинают все: файлы, локальные скрипты, база на том же компьютере
HTTP (streamable-http)Удалённый сервер, доступный по сетиХостящиеся сервисы: github, notion, linear. Anthropic сейчас рекомендует HTTP для remote
SSEУдалённый, устаревший способ связиСам не подключай. Встречается в старых конфигах, помечен как deprecated

Пара уточнений, чтобы не путаться. В JSON-конфиге streamable-http, это тот же http, просто другое имя для того же транспорта. А SSE остался с ранних версий протокола и новые серверы на нём уже не поднимают, так что закладываться на него не стоит.

Как подключить MCP к Claude Code?

Через одну команду в терминале, claude mcp add. Дальше указываешь имя сервера и как до него достучаться: для удалённого, адрес и флаг --transport http, для локального, команду запуска после разделителя --. Claude Code сам поднимет сервер и подключит его к сессии. Перед этим, понятно, нужно установить Claude Code.

bash
# удалённый сервер по HTTP (Notion)
claude mcp add --transport http notion https://mcp.notion.com/mcp

# то же самое, но с токеном в заголовке
claude mcp add --transport http notion https://mcp.notion.com/mcp --header "Authorization: Bearer ВАШ_ТОКЕН"

# локальный сервер через stdio (Airtable)
claude mcp add airtable --env AIRTABLE_API_KEY=ВАШ_КЛЮЧ -- npx -y airtable-mcp-server

Разделитель -- в последней строке отделяет опции самого Claude от аргументов, которые уйдут серверу. Всё, что стоит после --, это уже команда запуска сервера (тут npx, который скачает и поднимет airtable-mcp-server). Так Claude не путает, где его флаги, а где чужие.

У каждого подключения есть область видимости, scope, про неё чуть ниже. А если ты в принципе настраиваешь Claude Code под проект, посмотри отдельный разбор про настройку Claude Code через CLAUDE.md: это то место, где задаются правила проекта и поведение агента.

Точный синтаксис флагов в разных версиях CLI отличается, инструмент быстро меняется. Если команда из статьи не сработала один в один, не угадывай: посмотри claude mcp add --help, там актуальные опции именно для твоей версии.

Схема подключения MCP-сервера к Claude Code командой claude mcp add: транспорт stdio или http и запуск сервера
Подключение в Claude Code: одна команда claude mcp add, дальше Claude сам поднимает сервер.
@yourself_realize

Разбираю AI-инструменты на практике

В Telegram показываю, как подключать агентов к реальным системам и не ловить хаос: команды, конфиги, рабочие схемы без магии.

Подписаться

Как подключить MCP к Claude Desktop?

Здесь команды нет, конфиг правится руками. Открываешь Settings, Developer, Edit Config, и попадаешь в файл claude_desktop_config.json. В него добавляешь блок mcpServers, где у каждого сервера прописана команда запуска command и её аргументы args. После сохранения и перезапуска Claude Desktop сервер появляется в приложении.

Сам файл лежит в разных местах в зависимости от системы:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Минимальный рабочий пример, сервер filesystem, который даёт Claude доступ к одной разрешённой папке:

json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/folder"]
    }
  }
}

Сервер filesystem требует установленного Node.js, потому что запускается через npx. И учти важную деталь: каждое действие с файлами Claude Desktop просит подтвердить вручную. Сам по себе он ничего не перезапишет, пока ты не нажмёшь подтверждение.

Три scope: кто видит твои серверы?

Когда добавляешь сервер через claude mcp add, флагом --scope можно выбрать, кому он виден. Вариантов три: local, только ты в этом проекте, project, общий для команды через файл в репозитории, и user, твои инструменты сразу во всех проектах. По умолчанию стоит local.

ScopeГде хранитсяКогда брать
localВ твоём личном конфиге, по умолчаниюЛичные эксперименты и токены, которые не хочешь ни с кем шарить
projectФайл .mcp.json в корне репозитория, коммитится в gitОбщие для команды инструменты: подключил один раз, у всех заработало после pull
userФайл ~/.claude.jsonТвои персональные серверы, которые нужны во всех проектах сразу

Если настройки пересекаются, командные перекрывают личные: project и правила команды идут выше user-настроек. Логика тут понятная, общий проект важнее личных привычек отдельного разработчика.

Три scope в claude mcp: local только для тебя, project через .mcp.json для команды, user во всех проектах
Scope решает, кто видит сервер: только ты, вся команда через .mcp.json или ты во всех проектах.

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

Писать сервер с нуля чаще всего не нужно, готовых полно. Вот те, что закрывают большинство задач:

  • filesystem — чтение и запись локальных файлов в разрешённой папке.
  • github — issue, пул-реквесты, чтение и запись репозитория.
  • postgres — запросы к базе данных.
  • notion — работа со страницами и базами Notion.
  • slack — чтение и отправка сообщений.
  • brave-search — веб-поиск.
  • playwright — управление браузером для тестов и скрапинга.

Где брать и как не нарваться на мусор: официальный репозиторий modelcontextprotocol/servers и каталог awesome-mcp-servers. Оттуда же видно, какой у сервера транспорт и нужен ли ему токен. Это удобная отправная точка, прежде чем тянуть что-то с незнакомого гитхаба.

Безопасность: каким серверам можно доверять?

Главный риск у MCP, это доверие к серверу, который ты подключаешь. Баги в его коде тут вторичны. При старте описания всех инструментов сервера автоматически попадают в системный промпт Claude. Навредить может сам факт подключения, ещё до того как ты вызвал хоть один инструмент. Поэтому ставь только проверенное.

Почему это вообще работает. Описания инструментов, которые сервер отдаёт Claude, это обычный текст, и в него можно зашить инструкцию для модели. Подключил сомнительный сервер, и его метаданные уже влияют на поведение Claude в твоей сессии. Это и есть prompt injection.

  • Подключай серверы из официального каталога Anthropic и репозитория modelcontextprotocol. Чужой код с непонятного гитхаба, это лотерея.
  • С remote-серверами по HTTP будь осторожнее, чем с локальными: они живут на чужой инфраструктуре и видят то, что ты им открыл.
  • OAuth-аутентификацию добавили в спецификацию только в марте 2025. Ранние серверы поднимались вообще без неё, так что свежесть и репутация сервера важны.
  • Filesystem-доступ давай к конкретной папке, а не ко всему диску. Сервер увидит ровно то, что прописано в args, и ничего сверх того.
claude mcp add, это способ для Claude Code: команда в терминале сама пропишет сервер. Claude Desktop команды не понимает, там конфиг claude_desktop_config.json правится руками через Settings, Developer, Edit Config. Результат похожий, механика разная.
Да. MCP, это открытый стандарт, не привязанный к Claude. Те же серверы цепляются в Cursor, VS Code, Codex и ChatGPT. Поставил или поднял сервер один раз, используешь в разных инструментах без переделки.
Локальный сервис на твоей машине, stdio: он запускается как дочерний процесс, например через npx. Удалённый сервис, что висит в сети, например github или notion, HTTP. SSE не трогай, он устаревший и встречается только в старых конфигах.
Да, нужен Node.js, потому что сервер запускается через npx. И учти, что каждое действие с файлами Claude просит подтвердить вручную, автоматически он ничего не перезапишет.
В самом CLI: claude mcp add --help. Флаги между версиями меняются, и справка инструмента надёжнее любой статьи. Если команда не сработала один в один, сверься с ней, а не подбирай флаги наугад.
@yourself_realize

Хочешь внедрять AI без хаоса?

В канале показываю рабочие схемы: как подключать инструменты к Claude, ставить задачи агентам и проверять результат в реальных проектах.

Перейти в Telegram