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 интеграцию пишут один раз в виде сервера, и её подхватывает любой совместимый хост.

Как это выглядит в работе:

  1. Хост передаёт модели список инструментов: имя, описание и схему параметров каждого.
  2. Модель решает, что нужен инструмент, и возвращает вызов с аргументами.
  3. Хост через MCP-клиент вызывает сервер и получает результат.
  4. Результат добавляется в контекст, и модель продолжает работу уже с новыми данными.

По сути это обычный tool calling, только сторона инструментов стандартизирована. Если хотите увидеть такой цикл без MCP, в чистом коде, — посмотрите статью об автономных агентах с нуля или пошаговый пример ИИ-агент на Python с нуля.

Как подключить MCP сервер в Claude Code

Сначала сам Claude Code должен работать через ваш ключ. Для Zukko это четыре переменные (подробно — в инструкции по Claude Code):

bash
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 — удалённый сервер, удалённый сервер с токеном в заголовке и локальный сервер, где всё после -- является командой запуска:

bash
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 не запускает молча: в интерактивной сессии он спросит подтверждение. Это защита от репозитория, который подсовывает вам свой сервер.

Проверка и управление:

bash
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.