Как подключить MCP к Claude Code и Cursor
Коротко
MCP (Model Context Protocol) — это открытый протокол, по которому ИИ-агент подключается к внешним инструментам: документации, GitHub, браузеру, базам данных. В Claude Code сервер добавляется одной командой claude mcp add, в Cursor — файлом .cursor/mcp.json или через настройки. Рабочий стартовый набор: Context7 (актуальные доки библиотек), GitHub (issues и PR из чата) и Playwright (агент сам проверяет результат в браузере). Два железных правила: секреты передаём только через переменные окружения, серверы ставим только официальные. Если сервер «не виден» — сначала claude mcp list и проверка scope. Какие серверы вообще существуют и что выбрать под задачу — в подборке MCP-серверов; эта статья — про то, как подключить выбранное и не сломать.
Что даёт MCP и когда он нужен
Из коробки агент в Claude Code и Cursor умеет три вещи: читать файлы, править код, запускать команды. MCP-сервер расширяет этот набор: он описывает свои инструменты (tools), клиент передаёт описания модели, и дальше агент вызывает их сам, когда сочтёт нужным. На практике это даёт:
- документацию без галлюцинаций — агент запрашивает API конкретной версии библиотеки вместо того, что модель помнит с обучения;
- сервисы из чата — GitHub, Sentry, базы данных: без переключения окон и копипасты;
- самопроверку — агент открывает браузер и смотрит на результат своей работы глазами пользователя.
Обратная сторона: каждый подключённый сервер добавляет описания инструментов в контекст каждого запроса и расширяет поверхность атаки. Поэтому подключаем то, что нужно в текущем проекте, а не всё интересное сразу. Проверенные серверы с разбором «зачем и кому» мы собираем в MCP-разделе арсенала.
Как подключить MCP к Claude Code
Транспорта два. Stdio — сервер запускается локально как дочерний процесс; HTTP — сервер работает удалённо, вы обращаетесь к нему по URL.
# stdio: всё после -- это команда запуска сервера
claude mcp add context7 -- npx -y @upstash/context7-mcp
# HTTP: удалённый сервер по URL
claude mcp add --transport http github https://api.githubcopilot.com/mcp/
Нюанс синтаксиса: флаги самого Claude Code (--transport, --scope, --env, --header) ставятся до имени сервера, а всё после -- уходит серверу как есть.
Scope — это уровень, на котором хранится конфигурация сервера:
| Scope | Где хранится | Кто видит | Для чего |
|---|---|---|---|
local (по умолчанию) |
~/.claude.json, привязка к папке проекта |
только вы, только этот проект | эксперименты, личные токены |
project |
.mcp.json в корне репозитория |
вся команда через git | общие инструменты проекта |
user |
~/.claude.json, глобально |
вы во всех проектах | повседневные серверы вроде Context7 |
.mcp.json — это командный конфиг MCP-серверов, который коммитят в репозиторий:
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"],
"env": { "CONTEXT7_API_KEY": "${CONTEXT7_API_KEY}" }
}
}
}
Файл поддерживает подстановки ${VAR} и ${VAR:-значение_по_умолчанию} — благодаря им секреты остаются в окружении, а не в git. Проверка: claude mcp list в терминале покажет статус каждого сервера, команда /mcp внутри сессии — статус, список инструментов и OAuth-авторизацию, где она нужна. Если сам инструмент для вас новый, начните с гайда по Claude Code.
Как настроить MCP в Cursor
В Cursor два конфига: ~/.cursor/mcp.json действует во всех проектах, .cursor/mcp.json в корне — только в текущем. Формат тот же mcpServers; отличие — удалённый сервер описывается полем url вместо command:
{
"mcpServers": {
"context7": {
"url": "https://mcp.context7.com/mcp",
"headers": { "CONTEXT7_API_KEY": "ваш_ключ" }
},
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
Через интерфейс: Cursor Settings → MCP (в свежих версиях — Tools & Integrations) → New MCP Server — откроется тот же файл. После правки сервер появляется в списке с зелёным индикатором; красный или жёлтый — повод нажать refresh или перезапустить редактор. Каждый сервер выключается тумблером — гасите неиспользуемые, контекст скажет спасибо. Для популярных серверов у Cursor есть установка в один клик с OAuth — удобно для GitHub и Linear. Чем ещё различаются два клиента — в сравнении Claude Code и Cursor.
Три примера: Context7, GitHub, Playwright
Context7 — свежая документация библиотек
Context7 — это MCP-сервер от Upstash, который отдаёт агенту документацию по конкретной версии библиотеки. Лечит типовую боль: модель уверенно пишет код под API двухлетней давности.
claude mcp add --scope user --transport http context7 https://mcp.context7.com/mcp \
--header "CONTEXT7_API_KEY: ваш_ключ"
API-ключ выдают в личном кабинете context7.com. --scope user здесь осознанно: документация нужна во всех проектах. Проверка: попросите «use context7: как работает кэширование fetch в Next.js 15» — в логе появятся вызовы инструментов context7.
GitHub — issues и PR из чата
Официальный сервер GitHub — удалённый, Docker не нужен. Аутентификация в Claude Code — через fine-grained PAT:
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer ваш_PAT"
Слэш в конце URL обязателен — частая причина загадочных ошибок подключения. Токен создавайте fine-grained, только на нужные репозитории. Проверка: «покажи открытые issues в owner/repo». В Cursor тот же сервер ставится в один клик из каталога через OAuth.
Playwright — агент проверяет сам себя
Playwright MCP — это сервер от Microsoft, который даёт агенту управляемый браузер: открыть страницу, кликнуть, заполнить форму, снять скриншот и accessibility-снапшот. Он замыкает цикл «написал код → открыл страницу → увидел ошибку → починил» без человека за рулём.
claude mcp add playwright -- npx @playwright/mcp@latest
Проверка: «открой localhost:3000 и опиши, что видишь». Такой цикл самопроверки — базовый приём вайб-кодинга: в движке Quest (4900 ₽ разово, на июль 2026) агент работает по выстроенному процессу, и MCP-серверы вроде Playwright — штатные руки этого процесса.
Как не слить секреты и не подключить лишнего
Правила короткие, нарушения дорогие.
Секреты — только через окружение. .mcp.json уходит в git, и токен внутри него равен токену в публичном доступе. Используйте ${VAR}-подстановки; как хранить ключи, разбирали в памятке про API-ключи и секреты.
Доверяйте серверу как коду, который запускаете. Stdio-сервер — произвольный процесс с вашими правами. Ставьте официальные пакеты (@upstash/context7-mcp, @playwright/mcp, сервер GitHub), а в командных конфигах фиксируйте версию вместо @latest. Отдельный риск — prompt injection: сервер, который приносит в контекст внешние данные (issues, веб-страницы), может принести и вредоносные инструкции для агента.
Минимальные права токенов. Fine-grained, только нужные репозитории, read-only там, где хватает чтения.
Claude Code сам спрашивает подтверждение перед использованием серверов из .mcp.json чужого репозитория — читайте, что одобряете. Полный разбор угроз — в статье о безопасном подключении инструментов.
Почему MCP не подключается: типовые ошибки
| Симптом | Частая причина | Решение |
|---|---|---|
| Сервер не виден в списке | добавлен в другом scope или из другой папки | claude mcp list из корня проекта, проверить scope |
failed to connect у stdio |
нет Node/npx в PATH, опечатка в имени пакета | запустить команду сервера руками в терминале |
| Падает сразу на Windows | npx нужна обёртка |
claude mcp add имя -- cmd /c npx -y пакет |
| Зависает при старте | холодный запуск npx дольше таймаута | MCP_TIMEOUT=10000 claude |
| 401/403 у HTTP-сервера | протухший токен, нет заголовка, потерян слэш в URL | пересоздать токен, сверить --header и URL |
| Инструменты есть, агент их игнорирует | контекст перегружен десятками инструментов | оставить 3–5 серверов под задачу |
Универсальный порядок отладки: сначала убедитесь, что сервер запускается вне редактора той же командой в терминале, потом смотрите конфиг, потом логи. В Cursor логи лежат в панели Output, канал MCP Logs; после правки конфига сервер нужно перезапустить.
Частые вопросы
Можно ли держать один конфиг для Claude Code и Cursor?
Блок mcpServers почти одинаков, но файлы разные: .mcp.json в корне проекта читает Claude Code, .cursor/mcp.json — Cursor. На практике блок копируют между файлами, поправив описание транспорта: у Claude Code удалённый сервер — это "type": "http" плюс url, у Cursor — просто url.
Сколько серверов подключать одновременно?
Технический лимит высокий, практический — контекст: описания всех инструментов каждого сервера попадают в каждый запрос. Рабочая норма — 3–5 активных серверов под текущую задачу. Остальные выключайте тумблером в Cursor или держите в других scope в Claude Code.
MCP работает из России?
Сам протокол локальный: stdio-серверы работают где угодно. Ограничения наследуются от сервисов: удалённому серверу нужен доступ к его API, а самому Claude Code — к API Anthropic. Рабочие способы собраны в статье про Claude API из России.
Что делать с .mcp.json в чужом репозитории?
Claude Code перед первым использованием спросит, доверяете ли вы серверам проекта. Прочитайте, какие команды там прописаны, до одобрения: это код, который запустится с вашими правами. Сбросить сохранённые решения — claude mcp reset-project-choices.