MCP в Claude Code: как подключить серверы и зачем нужны агенты
Практический гайд по claude code mcp: подключаем серверы командой claude mcp add, настраиваем скоупы и запускаем субагентов в Claude Code.
Коротко: что такое MCP
Model Context Protocol – открытый стандарт, который Anthropic опубликовала в конце 2024 года. Он задаёт единый способ, которым ИИ-приложения подключаются к внешним инструментам, базам данных и API. До MCP каждый клиент изобретал свой формат: один слал "action": "get_available_tools", другой "type": "list_functions". Сейчас и Claude Code, и Cursor, и Claude Desktop говорят на одном языке – и разработчику сервера не нужно писать отдельную интеграцию под каждый клиент.
Схема простая: есть MCP-клиент (сам Claude Code), который при старте сессии подключается к серверу и спрашивает, какие инструменты тот предоставляет. Сервер отвечает списком, и дальше Claude вызывает нужный инструмент по запросу. Подробнее о протоколе и его архитектуре читайте в базовой статье «Что такое MCP» – там разобраны host, client и server как отдельные компоненты.
Как подключить MCP-сервер
Claude Code поддерживает три транспорта: stdio для локальных процессов, HTTP для удалённых серверов и устаревающий SSE. Для большинства задач хватает stdio и HTTP. Важная деталь: в stdio-командах аргументы сервера отделяются двойным дефисом --, иначе Claude Code попытается разобрать флаги сервера как свои собственные и выдаст ошибку.
Если вы только устанавливаете Claude Code, загляните в гайд «Как установить Claude Code» – там пошагово описана первоначальная настройка окружения.
Команда claude mcp add (stdio и HTTP)
Для локального stdio-сервера базовый синтаксис такой:
# Локальный stdio-сервер
claude mcp add <имя> -- <команда запуска> [аргументы]
# Пример: файловая система с доступом к двум папкам
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/Projects ~/Documents
# Пример: передача переменной окружения
claude mcp add --env AIRTABLE_API_KEY=ваш_ключ airtable -- npx -y airtable-mcp-server
Для удалённого HTTP-сервера используется флаг --transport http:
# Удалённый HTTP-сервер
claude mcp add --transport http <имя> <url>
# Пример: подключение к Notion
claude mcp add --transport http notion https://mcp.notion.com/mcp
# Пример: сервер с Bearer-токеном
claude mcp add --transport http secure-api https://api.example.com/mcp \
--header "Authorization: Bearer ваш_токен"
Есть ещё третий вариант – передать конфиг куском JSON, если вы копируете готовую конфигурацию из документации сервера:
claude mcp add-json github '{"type":"stdio","command":"npx","args":["-y","@modelcontextprotocol/server-github"],"env":{"GITHUB_TOKEN":"ваш_токен"}}'
Скоупы: local, project (.mcp.json), user
Каждый сервер существует в одном из трёх скоупов, и от этого зависит, где он будет доступен. По умолчанию, если не указывать флаг -s, сервер получает скоуп local – он виден только в текущем проекте и только вам, в git не попадает.
Скоуп user через флаг -s user делает сервер доступным во всех ваших проектах на этой машине – удобно для GitHub, файловой системы и других инструментов, которые нужны везде:
# Сервер для всех проектов текущего пользователя
claude mcp add -s user filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/Projects
Скоуп project работает через файл .mcp.json в корне репозитория. Закоммитьте его в git – и все участники команды получат одинаковый набор серверов без ручной настройки. Секретные ключи в этот файл писать нельзя; вместо них используйте переменные окружения через синтаксис ${GITHUB_TOKEN}:
{
"mcpServers": {
"github": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
},
"postgres": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "${DATABASE_URL}"]
}
}
}
Проверка и управление (/mcp, list, remove)
После добавления сервера запустите Claude Code и наберите /mcp прямо в сессии – вы увидите список всех подключённых серверов, их статус и, если нужна OAuth-авторизация, ссылку для входа. Зелёный connected означает, что сервер поднялся и инструменты доступны модели.
Для управления серверами вне сессии есть три команды:
# Показать все настроенные серверы
claude mcp list
# Подробности по конкретному серверу
claude mcp get filesystem
# Удалить сервер
claude mcp remove filesystem
Если сервер показывает failed, первым делом запустите команду запуска вручную в терминале – так вы увидите реальную ошибку: отсутствующий Node.js, неверный API-ключ или опечатка в пути. Ещё одна частая причина проблем со stdio-серверами – пропущенный разделитель --: без него Claude Code пытается разобрать аргументы сервера как свои флаги и молча пропускает сервер.
8 полезных MCP-серверов для разработки
Ниже – серверы, которые реально меняют повседневную работу в Claude Code. Не теория, а конкретные сценарии: что подключить, чтобы Claude перестал просить вас копировать данные вручную.
1. Файловая система
Официальный сервер от Anthropic даёт Claude доступ к папкам за пределами текущего проекта. По умолчанию Claude Code работает только внутри директории, где запущен – файловый сервер снимает это ограничение для явно указанных путей.
Подключается без API-ключа, что делает его хорошим первым сервером для знакомства с MCP:
claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/Projects ~/Documents
2. GitHub
Сервер открывает доступ к issues, pull request-ам, репозиториям и комментариям прямо из чата. Реальный сценарий: «реализуй фичу из issue #142 и создай PR» – Claude прочитает описание задачи, напишет код и откроет черновик PR без вашего участия.
Нужен персональный токен с нужными правами. Удобнее всего держать его в переменной окружения и подключить сервер через .mcp.json с ${GITHUB_TOKEN}, чтобы токен не светился в истории терминала.
3. Браузер (Playwright)
Microsoft-овский сервер на базе Playwright даёт Claude управление реальным браузером: открыть страницу, кликнуть кнопку, заполнить форму, сделать скриншот. В отличие от скрейпинга по HTML, Claude видит страницу так же, как видит её пользователь, включая динамически подгружаемый контент.
Особенно полезен для E2E-тестирования: вместо того чтобы описывать, как должен выглядеть интерфейс, просите Claude пройти по сценарию и зафиксировать, где что-то ломается. API-ключ не нужен, при первом запуске скачается Chromium:
claude mcp add playwright -- npx @playwright/mcp@latest
4. Базы данных (Postgres / SQLite)
Сервер для Postgres или SQLite позволяет выполнять SQL-запросы к базе прямо из чата. Больше не нужно копировать схему таблиц и надеяться, что Claude не нафантазирует названия колонок – он сам прочитает схему и сходит за данными.
Типичный запрос: «найди 10 пользователей, которые зарегистрировались за последнюю неделю, но ни разу не вошли». Claude напишет запрос, выполнит его и вернёт результат. Для подключения нужна строка соединения; её передают через переменную окружения, чтобы не хранить в конфиге:
claude mcp add postgres -- npx -y @modelcontextprotocol/server-postgres "${DATABASE_URL}"
5. Figma
Официальный Dev Mode MCP от Figma позволяет Claude читать макеты напрямую из дизайн-файла. Агент получает реальные значения: отступы, цвета, типографику, имена компонентов – и переводит их в код без промежуточного «посмотрите на скриншот и угадайте».
Подключение требует токена Figma Dev Mode и активной подписки с доступом к Dev Mode. Зато результат ощутимый: вместо «сделай примерно как на скриншоте» получаете «реализуй компонент Card из файла Design System, фрейм Mobile/Home». Подробнее о связке Figma и MCP читайте в статье «Blender Claude MCP Connector» – там разобраны похожие принципы работы с внешними дизайн-инструментами.
6. Документация (Context7)
Context7 подтягивает актуальную документацию библиотек прямо в контекст сессии. Проблема без него знакома: Claude знает React или Next.js по обучающим данным, которые могут быть устаревшими, и иногда предлагает API, которого уже нет или который изменился.
С Context7 вы пишете «используй последнюю документацию React Router v7» – и сервер загружает актуальные доки в контекст перед тем, как Claude начнёт писать код. Особенно ценно при работе с быстро меняющимися библиотеками или теми, что вышли уже после даты обучения модели.
7. Slack
Сервер Slack даёт Claude доступ к сообщениям и тредам. Практический сценарий: «обнови email-шаблон на основе новых макетов Figma, которые Маша скинула в канале #design вчера» – Claude сам найдёт сообщение, прочитает ссылку на макет и реализует изменения.
Нужен OAuth-токен с правами на чтение каналов. Стоит ограничить доступ только нужными каналами – это и безопаснее, и снижает риск, что Claude начнёт читать нерелевантный контекст и засорять им сессию.
8. Sentry
Sentry MCP подключает Claude к ошибкам продакшена. Вместо того чтобы копировать стектрейс из браузера в чат, вы просто говорите: «посмотри последние ошибки по проекту frontend и предложи фиксы для тех, что встречаются чаще пяти раз в день».
Claude прочитает реальные стектрейсы, найдёт соответствующий код в репозитории и предложит конкретные правки. Связка Sentry + GitHub MCP особенно удобна: Claude видит и ошибку, и код, и может сразу открыть PR с фиксом. Для подключения нужен токен Sentry с правами на чтение событий.
Агенты и субагенты в Claude Code
Claude Code поддерживает модель, в которой один «главный» агент делегирует подзадачи субагентам. Субагент – это отдельный экземпляр Claude со своим контекстным окном и своим набором инструментов. Главный агент ставит ему задачу, субагент выполняет её независимо и возвращает результат. Это не просто удобство – это принципиально другой способ работы с большими задачами.
Три причины использовать субагентов на практике. Первая – параллелизм: пока один субагент пишет тесты, другой готовит документацию, третий проверяет линтером существующий код. Всё это происходит одновременно, а не по очереди. Вторая – изоляция контекста: масштабный поиск по документации или анализ большого лога не засоряет основную сессию лишними токенами. Третья – специализация: каждый субагент настроен под конкретную роль и работает точнее, чем универсальный агент.
Кастомные субагенты в .claude/agents/
Субагентов можно создавать прямо в репозитории. Для этого в корне проекта создаётся директория .claude/agents/, в которой каждый файл .md описывает одного агента. Структура файла – frontmatter с метаданными и тело с инструкцией:
---
name: reviewer
description: Проверяет код на соответствие стандартам проекта и находит потенциальные проблемы
tools: read_file, list_files
---
Ты – ревьюер кода. Проверяй каждый файл на соответствие соглашениям из CLAUDE.md.
Обращай внимание на: именование переменных, обработку ошибок, дублирование логики.
Не предлагай рефакторинг за пределами задачи – только конкретные замечания.
Поле tools в frontmatter ограничивает набор инструментов, доступных субагенту. Ревьюеру достаточно читать файлы – зачем давать ему доступ к bash или к базе данных. Тестировщику нужен bash для запуска тестов, но не нужен доступ к Slack. Такое разграничение снижает риск случайных действий и делает поведение агента предсказуемым.
Субагент может работать в фоне: главный агент запустил задачу и продолжил другую работу. Когда субагент завершит выполнение, придёт уведомление. Это особенно удобно для долгих операций – например, полного прогона тестов или анализа большого репозитория.
Как MCP, skills и субагенты работают вместе
Три компонента закрывают разные потребности и хорошо дополняют друг друга. MCP – это доступ: руки, которые тянутся к внешним системам. Skills (файлы .claude/skills/*.md) – это процедуры: зафиксированные сценарии, которые Claude воспроизводит предсказуемо. Субагенты – это команда: несколько специализированных исполнителей, которые работают параллельно.
Разберём конкретный рабочий процесс. Допустим, задача – реализовать фичу из Jira, покрыть тестами и задокументировать. Главный агент читает задачу через MCP-сервер Jira, запускает субагента-разработчика с доступом к файловой системе и GitHub MCP. Параллельно запускает субагента-тестировщика, который следит за покрытием. После того как оба завершили работу, skill «create-pr» автоматически формирует описание PR по шаблону команды и открывает его через GitHub MCP. Вы получаете уведомление о готовом PR, не участвуя ни в одном из промежуточных шагов.
Такой подход масштабируется. Небольшие задачи решает один агент с нужными MCP-серверами. Сложные многоэтапные процессы разбиваются на субагентов, каждый из которых получает ровно те инструменты и тот контекст, которые нужны для его части работы. Skills фиксируют повторяющиеся процедуры, чтобы не объяснять одно и то же в каждой сессии. Подробнее о настройке Claude Code и доступных возможностях читайте на странице /claude-code.
Вопросы и ответы
Безопасно ли подключать MCP-серверы?
Подключать стоит только серверы из доверенных источников – официальный каталог Anthropic Directory, репозитории с понятным кодом и известными авторами. Серверы, которые загружают внешний контент (веб-страницы, документы), создают риск prompt injection: вредоносные инструкции могут быть встроены в загружаемый контент и повлиять на поведение модели. Это не повод отказываться от таких серверов, но повод ограничивать права: давайте серверу доступ только к тем папкам и API, которые ему действительно нужны. Claude Code запрашивает подтверждение перед выполнением инструментов – не отключайте эти запросы для серверов, которым не доверяете полностью.
Для командных проектов особенно важно не хранить токены и API-ключи в .mcp.json. Используйте переменные окружения через синтаксис ${VAR_NAME} – тогда конфиг можно безопасно коммитить в git, а у каждого разработчика будут свои ключи.
MCP работает только в Claude Code?
Нет. MCP – открытый протокол, и его поддерживают несколько клиентов: Claude Desktop, Cursor, и другие инструменты, которые реализовали стандарт. Один и тот же сервер можно подключить к Claude Code для работы в терминале и к Claude Desktop для работы в графическом интерфейсе. Конфиги хранятся отдельно: у Claude Code это ~/.claude.json и .mcp.json в проекте, у Claude Desktop – свой файл конфигурации. Сервер, добавленный через claude mcp add, в Desktop не появится автоматически – нужно добавить его отдельно.
Нужно ли программировать, чтобы использовать MCP-серверы?
Для готовых серверов из каталога – нет. Достаточно скопировать команду подключения из документации сервера и выполнить её в терминале. Нужен Node.js для серверов на базе npx-пакетов, но его установка занимает несколько минут. Если хотите написать собственный сервер под специфическую задачу, понадобится базовое знание Python или JavaScript – но Claude Code сам поможет его сгенерировать через плагин mcp-server-dev.
Чем MCP-сервер отличается от скилла?
Сервер – это доступ к внешней системе: он даёт Claude инструменты, которых у него нет по умолчанию. Скилл (файл в .claude/skills/) – это инструкция, как выполнять конкретный повторяющийся сценарий внутри проекта. Сервер отвечает на вопрос «что Claude может делать», скилл – «как именно это делать в вашем конкретном контексте». Они не заменяют друг друга: GitHub MCP даёт доступ к репозиторию, а скилл «create-pr» описывает, по какому шаблону оформлять PR в вашей команде.
Смотрите также
-
Инструменты разработчика·Claude + Obsidian: как собрать второй мозг на своих заметках
-
Новости·Водяной знак Claude в тексте: что он на самом деле доказывает
-
Инструменты разработчика·Что такое MCP (Model Context Protocol): открытый протокол для подключения ИИ к внешнему миру
-
Инструменты разработчика·Claude Skills: что это, как работают и как создать свой навык
-
Инструменты разработчика·Optima: собственный бенчмарк для моделей на своих же данных
-
Инструменты разработчика·Claude Code vs Cursor vs Codex: сравнение и что выбрать в 2026
-
Инструменты разработчика·YOLO-режим в Codex: как отключить подтверждения и не потерять при этом проект
-
Инструменты разработчика·Как установить Claude Code: гайд 2026 для Windows, macOS и Linux
-
ИИ-агент·ИИ-браузеры в 2026 году: сравнение Comet, Dia, Aside и ego lite – и почему закрылся ChatGPT Atlas