MCP-сервер: что это, зачем агентам и как подключить в Claude Code
Model Context Protocol простыми словами: из чего состоит, как подключить MCP-сервер в Claude Code и почему каждый подключённый сервер стоит токенов.
7 мин · · агенты · разработка
MCP сервер — что это и зачем он нужен? Вопрос возникает, как только Claude Code или другой агент предлагает «подключить MCP». Коротко: это программа, через которую ИИ-приложение по общему стандарту получает доступ к вашим инструментам и данным. Ниже — как это устроено, как подключить сервер в Claude Code и почему каждый подключённый сервер влияет на расход токенов.
MCP сервер: что это простыми словами
MCP (Model Context Protocol) — открытый стандарт для подключения ИИ-приложений к внешним системам: файлам, базам данных, поиску, рабочим сервисам. Авторы протокола сравнивают его с разъёмом USB-C: один стандартный порт вместо набора переходников под каждое устройство.
В MCP три участника:
- Хост — ИИ-приложение, в котором вы работаете: Claude Code, Claude Desktop, VS Code, Cursor.
- Клиент — компонент внутри хоста. На каждый сервер хост создаёт отдельный клиент со своим соединением.
- Сервер — программа, которая отдаёт хосту данные и действия. Именно его и называют MCP-сервером.
Сервер бывает локальным и удалённым. Локальный запускается на вашей машине как процесс и общается с клиентом через стандартный ввод-вывод (транспорт stdio). Удалённый работает в интернете и принимает запросы по HTTP (транспорт Streamable HTTP), часто с авторизацией через OAuth или токен в заголовке. Сами сообщения в обоих случаях — JSON-RPC 2.0.
Что сервер умеет отдавать
| Примитив | Что это | Пример |
|---|---|---|
| Tools (инструменты) | Функции, которые модель может вызвать | Запрос к базе, создание задачи в трекере |
| Resources (ресурсы) | Данные для контекста | Схема базы данных, содержимое файла |
| Prompts (промпты) | Готовые шаблоны взаимодействия | Шаблон код-ревью с примерами |
Клиент узнаёт, что есть у сервера, методами вида tools/list, а вызывает инструмент через tools/call. Список может меняться на лету: сервер умеет уведомить клиента, что набор инструментов обновился.
Важная деталь из документации протокола: MCP отвечает только за обмен контекстом и не определяет, какую модель использует приложение. Поэтому один и тот же сервер работает с любой моделью, которую вы выбрали в хосте.
Зачем MCP агентам
Модель сама по себе знает только то, что было в обучающих данных, и то, что вы положили в запрос. Чтобы агент мог посмотреть задачу в трекере, выполнить SQL-запрос или прочитать макет дизайна, ему нужны инструменты. До MCP каждую такую интеграцию писали заново под каждое приложение. С MCP интеграцию пишут один раз в виде сервера, и её подхватывает любой совместимый хост.
Как это выглядит в работе:
- Хост передаёт модели список инструментов: имя, описание и схему параметров каждого.
- Модель решает, что нужен инструмент, и возвращает вызов с аргументами.
- Хост через MCP-клиент вызывает сервер и получает результат.
- Результат добавляется в контекст, и модель продолжает работу уже с новыми данными.
По сути это обычный tool calling, только сторона инструментов стандартизирована. Если хотите увидеть такой цикл без MCP, в чистом коде, — посмотрите статью об автономных агентах с нуля или пошаговый пример ИИ-агент на Python с нуля.
Как подключить MCP сервер в Claude Code
Сначала сам Claude Code должен работать через ваш ключ. Для Zukko это четыре переменные (подробно — в инструкции по Claude Code):
export ANTHROPIC_BASE_URL=https://api.zukko.pro
export ANTHROPIC_AUTH_TOKEN=fetch_ваш_ключ
export ANTHROPIC_MODEL=claude-sonnet-5
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-sonnet-5Последняя обязательна: фоновые запросы Claude Code идут на модель слота Haiku (по умолчанию claude-haiku-*), которой нет в каталоге Zukko, а на неизвестное имя модели шлюз отвечает 404 model_not_found. Если переключаетесь через /model opus или /model sonnet, задайте также ANTHROPIC_DEFAULT_OPUS_MODEL и ANTHROPIC_DEFAULT_SONNET_MODEL на модели из каталога.
MCP-серверы добавляются командой claude mcp add. Примеры из официальной документации Claude Code — удалённый сервер, удалённый сервер с токеном в заголовке и локальный сервер, где всё после -- является командой запуска:
claude mcp add --transport http notion https://mcp.notion.com/mcp # удалённый сервер по HTTP
claude mcp add --transport http secure-api https://api.example.com/mcp \
--header "Authorization: Bearer your-token" # удалённый сервер с токеном
claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
-- npx -y airtable-mcp-server # локальный сервер (stdio)Где хранится настройка, задаёт флаг --scope:
| Область | Где действует | Хранится |
|---|---|---|
local (по умолчанию) | Только текущий проект, только у вас | ~/.claude.json |
project | Текущий проект, у всей команды через git | .mcp.json в корне проекта |
user | Все ваши проекты | ~/.claude.json |
Серверы из .mcp.json Claude Code не запускает молча: в интерактивной сессии он спросит подтверждение. Это защита от репозитория, который подсовывает вам свой сервер.
Проверка и управление:
claude mcp list # все серверы и их статус
claude mcp get notion # подробности по одному серверу
claude mcp remove notion # удалитьВнутри сессии команда /mcp показывает статус серверов, число инструментов у каждого, позволяет пройти OAuth-авторизацию и временно выключить сервер, не удаляя настройку.
Про безопасность: MCP-сервер получает данные из вашей сессии и выполняет действия от вашего имени. Подключайте серверы из проверенных источников и не давайте им токенов шире, чем нужно для задачи.
Как MCP связан с расходом токенов
Сервер сам по себе ничего не стоит, но всё, что он добавляет в контекст, оплачивается как входные токены модели.
Описания инструментов. Имя, описание и схема параметров каждого инструмента уходят модели в составе запроса. В Claude Code для этого есть механизм tool search: при старте загружаются только имена инструментов, а полные описания подгружаются по необходимости. Но по документации Claude Code этот режим по умолчанию выключается, если ANTHROPIC_BASE_URL указывает не на сервер Anthropic, — то есть при работе через любой шлюз, включая Zukko. Тогда описания всех инструментов всех подключённых серверов загружаются в контекст сразу. Включать tool search принудительно через ENABLE_TOOL_SEARCH=true без проверки не стоит: документация предупреждает, что запросы падают на прокси, которые не поддерживают нужные для этого блоки. Практический вывод — держите включёнными только нужные серверы и смотрите, что занимает контекст, командой /context.
Результаты инструментов. Всё, что вернул сервер, остаётся в контексте и едет в каждом следующем запросе сессии. Claude Code предупреждает, если ответ MCP-инструмента больше 10 000 токенов, и по умолчанию обрезает его на 25 000 (лимит меняется переменной MAX_MCP_OUTPUT_TOKENS).
Кэш. Claude Code работает в Anthropic-формате, а в нём шлюз видит, какая часть входа пришла из кэша, и списывает её по цене чтения кэша. Описания инструментов стоят в начале запроса и почти не меняются, поэтому хорошо кэшируются. Подробности — в документации по лимитам ключей и кэшу.
Пример расчёта
Цены на 7 октября 2026, claude-sonnet-5: вход $0.4, чтение кэша $0.05, запись кэша $0.5 за 1M токенов. Допустим, описания инструментов подключённых серверов занимают 10 000 токенов (своё число смотрите в /context), а в сессии 100 запросов.
- Без кэша: 100 × 10 000 × 0.4 / 1 000 000 = $0.40.
- С кэшем: одна запись 10 000 × 0.5 / 1 000 000 = $0.005 плюс 99 чтений 99 × 10 000 × 0.05 / 1 000 000 = $0.0495, итого $0.0545.
Большой ответ инструмента на 25 000 токенов, который потом едет в 50 следующих запросах: с кэшем 25 000 × 0.5 / 1 000 000 + 50 × 25 000 × 0.05 / 1 000 000 = $0.0125 + $0.0625 = $0.075, без кэша 50 × 25 000 × 0.4 / 1 000 000 = $0.50.
Суммы небольшие, но они повторяются в каждой сессии и у каждого агента, а ещё занимают контекстное окно. Документация Claude Code советует там, где есть консольная утилита (gh, aws и подобные), использовать её вместо MCP-сервера: у неё нет списка инструментов, который висит в контексте. Цены — пример расчёта; актуальный список и цены — GET https://api.zukko.pro/v1/models или страница «Модели» в кабинете.
Если Claude Code ещё не подключён, создайте ключ в кабинете и сразу задайте ему дневной лимит в долларах — так эксперименты с MCP-серверами не выйдут за бюджет.
Частые вопросы
MCP-сервер и API — это одно и то же?
Нет. API — интерфейс конкретного сервиса. MCP-сервер — адаптер, который описывает инструменты и данные в едином формате для ИИ-приложений. Часто MCP-сервер как раз обёртывает чей-то API.
Работают ли MCP-серверы, если Claude Code подключён через Zukko?
Да. Серверы подключаются к самому Claude Code, а шлюз получает обычные запросы к модели, где описания инструментов и их результаты — часть контекста. Учтите только, что через шлюз описания инструментов по умолчанию загружаются сразу, без tool search.
Сколько MCP-серверов можно подключить?
Жёсткого лимита в Claude Code нет, ограничение — контекстное окно и бюджет. Выключайте через /mcp серверы, которые в текущей задаче не нужны.
Безопасно ли ставить MCP-серверы из интернета?
Сервер выполняет код на вашей машине или получает ваши данные, поэтому ставьте только проверенные. Для серверов из .mcp.json Claude Code запрашивает подтверждение.
zukko
Платите в 25×
меньше
за Claude Code & ChatGPT
Один ключ fetch_* и base URL api.zukko.pro — в Cursor, Claude Code, Codex и любом SDK.
Похожие статьи
- Промпт-инъекция: что это и как защитить бота и агентаОбъясняем, как работает промпт-инъекция через пользовательский ввод и чужие документы, и какие меры снижают ущерб: изоляция данных, права инструментов, лимиты ключа.
- Claude Code YOLO: режимы разрешений и работа без подтвержденийОтдельного режима YOLO в Claude Code нет, зато есть шесть режимов разрешений и гибкие правила. Разбираем, как перестать нажимать «Да» и не лишиться файлов.
- Claude Code: чек-лист лучших практик для ежедневной работыПривычки, которые делают работу с Claude Code предсказуемой: короткий CLAUDE.md, план перед правками, мелкие задачи, проверка результата и контроль расхода.
- MCP-сервер на Java: минимальный пример с одним инструментомПишем минимальный MCP-сервер на Java с одним инструментом, регистрируем его в Claude Code и учимся находить причину, если агент его не видит.