Содержание
5. Транспорт: как клиент связывается с сервером
MCP-сервера и для чего они нужны? Давайте попробуем разобраться.
MCP - это Model Context Protocol, протокол передачи сообщений между клиентом и сервером, между разными участниками. Что такое протокол? По сути, набор правил, по которым программа с моделью подключается к внешним сервисам и их данным. MCP опубликован в ноябре 2024 года и открыт для всех - то есть совершенно бесплатен. Для любого сервиса, который вы разрабатываете, можно тоже сделать MCP-сервер, по которому, например, Claude Code сможет общаться с вашим сервисом или приложением.
Нужно понимать, что MCP - не единственный способ: к сервису можно обращаться и напрямую, по API, через консольную утилиту или навык. Но в чём преимущество MCP-серверов - сейчас разберём.
MCP простыми словами
MCP часто сравнивают с разъёмом USB-C. Раньше у каждого устройства был свой провод, теперь один разъём подходит ко всему. Так и здесь: раньше под каждый сервис и каждую модель писали отдельную интеграцию, а с MCP сервис один раз делает MCP-сервер - и к нему может подключиться любая программа с моделью, которая понимает протокол.
Протокол предложила Anthropic в ноябре 2024 года, и он быстро стал общим стандартом: MCP-серверы подключаются не только к Claude и Claude Code, но и к ChatGPT, Cursor, VS Code и другим агентам. Поэтому один раз настроенный сервер не привязывает вас к конкретной модели.
Общая схема работы
Есть клиент, сервер и сервис, к которому идёт обращение. Claude Code выполняет роль клиента - того, кто делает запросы к серверу. MCP-сервер становится промежуточным звеном между клиентом и сервисом. Вместо Claude Code здесь может быть и другая LLM-модель, другой терминальный агент - например, от OpenAI. А в качестве сервиса может выступать что угодно: веб-сервис, утилита на компьютере, база данных, GitHub - всё, чем можно управлять.
У сервиса, как правило, есть свой API - инструменты, с помощью которых им можно управлять. Но у каждого сервиса API разный: каждый разрабатывает его по-своему, и Claude Code приходится каждый раз изучать и как-то с этим взаимодействовать. Благодаря MCP мы получаем универсальный протокол, единый для всех сервисов - в этом основное преимущество, стандартизация передачи данных. Claude Code или другой терминальный агент может обратиться к MCP-серверу и спросить: что ты умеешь, какие у тебя есть инструменты.
В терминах протокола: программа, в которой вы работаете (Claude Code, Claude Desktop, Cursor), - это хост; внутри неё для каждого подключённого сервера работает свой MCP-клиент; MCP-сервер - отдельная программа, которая знает, как работать с конкретным сервисом. Клиент и сервер обмениваются сообщениями в формате JSON-RPC: клиент спрашивает список возможностей, сервер отвечает, клиент вызывает нужный инструмент и получает результат.
Прямой API против MCP
Может возникнуть вопрос: зачем нужен MCP-сервер, если можно обращаться к API напрямую?
При обращении к API напрямую модель работает с сырыми данными. Вам нужно самим написать в проекте описание вызовов и возможностей, ключ доступа записать в файл или переменную окружения, а вход и обновление ключа делать вручную. Ответ сервиса попадает в сессию как есть, сырым JSON, и работает только там, где вы это описали. Недостаток - сырые данные это трата токенов и больше времени на обработку ответа.
Если же работать через MCP-сервер, он описывается один раз - сразу для всех ситуаций. Получается универсальный инструмент, который сам отдаёт описание того, что умеет: модель подключается и запрашивает, что можно делать. Входим здесь не через ключ в переменных окружения, а через браузер, по OAuth-авторизации - это безопаснее, ключ в файле не записывается. Сервер возвращает результат в понятном модели виде, поэтому на структурированный ответ тратится меньше токенов. Причём этот структурированный ответ единый для любого сервиса, с которым вы работаете.
Ещё один плюс: один и тот же MCP-сервер можно использовать с любым клиентом - Claude Code, Cursor, ChatGPT, другими моделями. Не нужно заново писать навыки и инструкции под конкретную модель - вы просто подключаете инструменты по стандартному протоколу и работаете с ними.
В итоге получаем такую схему: единый протокол передачи данных, Claude Code как клиент общается с разными сервисами - Notion, Figma, GitHub, Postgres и любыми другими инструментами.
Что отдаёт MCP-сервер
Сервер отдаёт клиенту, как правило, три вида содержимого. Инструменты (tools) - функции, которые можно вызвать: когда клиент спрашивает, что ты умеешь, сервер отвечает, что может создать задачу, выполнить запрос к базе данных, загрузить файл. Ресурсы (resources) - данные сервера, которые можно запросить, подставляя их в запрос через символ @. И слэш-команды или промпты - готовый набор действий, который сервер выполнит по команде.
Транспорт: как клиент связывается с сервером
MCP-серверы бывают локальные и удалённые, и от этого зависит транспорт - способ, которым передаются сообщения:
- stdio - локальный сервер. Claude Code сам запускает его на вашем компьютере как отдельный процесс и общается с ним через стандартный ввод и вывод. Так работают серверы, которые ставятся через
npxилиuvx: например, для управления браузером или работы с файлами; - HTTP - удалённый сервер. Он работает у сервиса в интернете, вы подключаетесь к нему по адресу, а вход, как правило, через браузер по OAuth. Так подключаются Notion, Figma, GitHub и многие другие облачные сервисы;
- SSE - более старый вариант удалённого подключения. Встречается у части серверов, но новые делают на HTTP.
Какой транспорт указать при установке и как определить тип сервера - в уроке «Виды MCP серверов (transport)».
Примеры MCP-серверов
Чтобы было понятнее, что даёт MCP на практике, - несколько распространённых серверов:
- GitHub - задачи, pull request, код репозитория прямо из сессии;
- Playwright - модель открывает браузер, кликает, заполняет формы и проверяет вёрстку;
- Figma - модель читает макет и верстает по нему;
- Context7 - актуальная документация библиотек и фреймворков, чтобы модель не писала код по устаревшим версиям (урок «MCP сервер для получения актуальной информации по вашему стеку технологий»);
- Postgres и другие базы данных - запросы к базе на обычном языке;
- Notion - чтение и запись страниц и баз знаний.
Где искать серверы и как отличить проверенный от сомнительного - в уроке «Где найти MCP сервера для установки в Claude».
MCP и контекст сессии
До версии Claude Code 2.1 использование MCP-серверов занимало очень много контекста: в начале сессии подгружались описания всех установленных MCP-серверов. Например, 9 серверов давали 140 описаний - и всё это попадало в сессию, которая от этого сильно загромождалась при большом числе установленных серверов.
Ситуация изменилась с выходом Claude Code 2.1: появился инструмент Tool Search. Теперь при запуске сессии подгружаются не все описания инструментов MCP-серверов, а только короткие строки - по ним Claude Code определяет, нужно ли вызвать команду конкретного MCP-сервера. Tool Search включён по умолчанию - можно проверить свою версию Claude Code и убедиться, что он есть; поведение также можно отключить в настройках.
MCP-серверы, как и навыки, имеют три области видимости: локальную, проекта и пользователя.
Как подключить MCP-сервер в Claude Code
Серверы подключаются командой claude mcp add в терминале. Локальный сервер - с командой, которой он запускается:
claude mcp add playwright -- npx @playwright/mcp@latest
Удалённый - с транспортом и адресом:
claude mcp add --transport http notion https://mcp.notion.com/mcp
Список подключённых серверов показывает claude mcp list, а внутри сессии - команда /mcp: там же видно состояние сервера и проходит вход через браузер, если сервер его требует.
Флагом --scope выбирается, где сервер будет доступен: только вам в текущем проекте (local, по умолчанию), всем участникам проекта через файл .mcp.json (project) или во всех ваших проектах (user).
Подробно об этом - в уроках курса:
- «Особенность установки MCP серверов в Claude Code» - как подключать сервер командой
claude mcp add, если готовой команды в документации сервиса нет; - «Установка MCP сервера с помощью JSON настройки» - когда в документации есть только JSON-конфигурация;
- «Основные команды для работы с MCP серверами» - просмотр, свойства и удаление серверов.
Безопасность
MCP-сервер получает доступ к сервису от вашего имени и может выполнять в нём действия: создавать задачи, менять файлы, отправлять запросы к базе. Поэтому ставьте серверы из официальных источников - от самого сервиса или из репозитория Model Context Protocol, а к сторонним присматривайтесь внимательнее. Claude Code по умолчанию спрашивает разрешение перед вызовом инструмента сервера - не отключайте это для серверов, которым не доверяете.
MCP-сервер или навык - как выбрать
Возникает вопрос: что использовать в работе - MCP-сервер или навык? Вот примерная схема принятия решения.
Есть сервис, к которому нужно обратиться. Смотрим документацию: если MCP-сервера у этого сервиса нет - тут всё понятно, остаётся только писать навык, инструкции через командную строку или HTTP-запросы.
Если MCP-сервер есть, смотрим: вход у него только через браузер? Если да - берём MCP-сервер. Если сервис работает и по API, задаём себе вопрос: сколько вызовов нужно делать из всего API сервиса? Если 2-3 - нет смысла ставить громоздкий MCP-сервер и занимать контекст, проще написать свой навык с этими вызовами. Но если планируете полноценно работать с сервисом - например, с Figma, чтобы там вёрстать, - а у него сложный API, установка MCP-сервера значительно упростит работу. Если у вас десятки вызовов к инструменту и вы хотите плотно с ним работать - вывод очевиден, нужен MCP-сервер.
У многих сервисов, с которыми вы работаете, уже есть готовые MCP-серверы - стоит посмотреть, изучить, и если такой сервер есть, вполне можно использовать эту возможность.

Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти