Открыть сервисСервис

Model Context Protocol

Model Context Protocol (MCP) — открытый протокол, разработанный компанией Anthropic в ноябре 2024 года для стандартизации подключения языковых моделей к внешним источникам данных и инструментам. Протокол описывает единый способ, которым клиент (обычно ассистент на базе LLM) обнаруживает возможности сервера, вызывает его инструменты, читает ресурсы и выполняет промпты. MCP построен по модели клиент-сервер и заменяет множество разрозненных интеграций, создаваемых отдельно для каждого приложения и модели.

История

Протокол был представлен Anthropic 25 ноября 2024 года как открытый стандарт для интеграции AI-ассистентов с внешними системами. Идея заключалась в том, чтобы вместо написания отдельных коннекторов для каждого сочетания «модель — сервис» создать один универсальный интерфейс. Вскоре поддержку MCP объявили другие разработчики AI-инструментов, включая OpenAI и Google DeepMind, что закрепило статус протокола как межплатформенного стандарта. Референсные реализации SDK опубликованы под открытыми лицензиями для TypeScript, Python, Java, Kotlin, C#, Ruby и других языков.

Архитектура

MCP использует клиент-серверную модель. Клиентом выступает хост — приложение с языковой моделью (например, настольный ассистент или IDE). Сервер — это отдельный процесс, предоставляющий доступ к конкретному ресурсу: файловой системе, базе данных, API внешнего сервиса. Между ними устанавливается соединение по одному из транспортов:

  • stdio — обмен сообщениями через стандартные потоки ввода-вывода, когда сервер запускается как дочерний процесс;
  • HTTP с Server-Sent Events — для удалённых серверов;
  • Streamable HTTP — более новый транспорт, заменяющий SSE-вариант, с поддержкой потоковых ответов и сессий.

Обмен данными выполняется в формате JSON-RPC 2.0. Все сообщения делятся на запросы, ответы и уведомления.

Возможности сервера

Сервер MCP предоставляет клиенту три основных типа объектов:

ОбъектНазначение
Инструменты (tools)Вызываемые функции с описанием и схемой аргументов; выполняют действия — запрос к API, запись в базу, запуск команды
Ресурсы (resources)Адресуемые данные, предоставляемые модели для чтения — файлы, содержимое базы, результаты запросов
Промпты (prompts)Переиспользуемые шаблоны инструкций, помогающие стандартизировать взаимодействие

Дополнительно протокол определяет механизм сэмплов (sampling), при котором сервер может запросить у клиента генерацию текста моделью, и уведомлений об изменении списка инструментов или ресурсов.

Примеры серверов

Референсные серверы от Anthropic включают доступ к локальной файловой системе, к репозиториям Git, к базе данных SQLite, к поиску в интернете через Brave Search, а также к Slack и Google Drive. Сообщество создало сотни серверов для Postgres, GitHub, Puppeteer, Kubernetes и других систем. Существуют каталоги и реестры, где публикуются готовые реализации.

Применение

Основная область применения MCP — подключение ассистентов к корпоративным и персональным данным без написания индивидуальных интеграций. В разработке протокол используется для доступа к репозиториям, задачам в трекерах и документации. В аналитике — для запросов к базам данных и BI-системам. В России протокол также получил распространение в локальных решениях на базе открытых моделей, где MCP-серверы обеспечивают доступ к внутренним сервисам организации.

Критика и ограничения

К основным замечаниям относятся вопросы безопасности: сервер имеет доступ к данным и инструментам хоста, поэтому доверять следует только проверенным реализациям. Протокол также не решает проблему авторизации — механизмы доступа к внешним API остаются на стороне конкретного сервера. Отдельные специалисты отмечают раннюю стадию стандарта: спецификация активно развивается, и часть API может меняться между версиями.

Источники

  • Официальная документация Model Context Protocol (modelcontextprotocol.io)
  • Анонс MCP от Anthropic, ноябрь 2024
  • Референсные серверы и SDK в репозитории modelcontextprotocol
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru