MCP — Model Context Protocol
Глава 10 из 12
Зачем MCP?
До MCP каждый разработчик агентов писал собственные интеграции: для GitHub — свой REST-клиент, для Slack — свой, для базы данных — свой. Сотни инструментов — сотни способов подключения, авторизации, обработки ошибок.
Model Context Protocol (MCP) — открытый стандарт от Anthropic, представленный в ноябре 2024 года. Он определяет единый протокол для подключения LLM-агентов к внешним инструментам, данным и ресурсам. Аналог USB-C, но для AI: один раз реализовал сервер — работает с любым MCP-совместимым агентом.
Архитектура: Client ↔ Server
MCP построен по модели клиент — сервер поверх JSON-RPC 2.0:
MCP-клиент живёт внутри агента и посредничает между LLM и серверами. Один агент может подключаться к нескольким MCP-серверам одновременно.
Три примитива MCP
MCP vs Function Calling vs A2A
| Function Calling | MCP | A2A | |
|---|---|---|---|
| Что соединяет | LLM → локальная функция | Агент → инструменты/данные | Агент → Агент |
| Стандарт | Зависит от провайдера LLM | Открытый протокол | Открытый протокол |
| Discovery | Захардкожено в коде | listTools() в рантайме | Agent Card по URL |
| Транспорт | Вызов функции в процессе | stdio / HTTP+SSE | HTTP/REST, gRPC, JSON-RPC |
| Где живёт инструмент | В коде агента | В отдельном процессе/сервере | В другом агенте |
Function calling — механизм LLM. MCP — протокол доставки инструментов к агенту. A2A — протокол общения между агентами. Все три уровня совместимы и дополняют друг друга.
Транспорты
MCP поддерживает два транспорта. Выбор зависит от того, где живёт сервер:
MCP-сервер (TypeScript)
Минимальный MCP-сервер на официальном TypeScript SDK. Регистрирует инструменты через server.tool() с Zod-схемой параметров:
MCP-клиент внутри агента
Агент подключается к серверу, запрашивает список инструментов (discovery), преобразует их в формат function calling для LLM и вызывает через протокол:
Симуляция MCP-цикла
Полный цикл: подключение → discovery → LLM выбирает инструмент → вызов через MCP → результат обратно в LLM:
Экосистема MCP-серверов
Сотни готовых MCP-серверов от сообщества и вендоров. Подключаются за минуты:
MCP + A2A + Skills — полная картина
Три стандарта закрывают разные слои агентной системы:
| Слой | Стандарт | Что даёт |
|---|---|---|
| Знания | Skills | Инструкции, экспертиза, best practices |
| Инструменты | MCP | Доступ к данным и функциям через протокол |
| Сотрудничество | A2A | Общение и делегирование между агентами |
Например: агент со скилом "code-reviewer" использует MCPдля чтения файлов из репозитория, а сложные задачи делегирует другому агенту через A2A.