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

MCP — протокол взаимодействия ИИ-агентов с инструментами

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

Идея и назначение

До появления MCP интеграция языковых моделей с внешними системами выполнялась индивидуально: для каждой пары «модель — сервис» разрабатывался собственный адаптер. При N моделях и M сервисах требовалось порядка N×M интеграций. MCP использует подход «модели» (в отличие от «модели»): единый протокол позволяет подключать любую совместимую модель к любому совместимому серверу инструментов.

Основные задачи протокола:

  • предоставление моделям доступа к актуальным данным (файлы, базы данных, API);
  • вызов внешних инструментов (код, поиск, выполнение запросов);
  • поддержка контекста разговора и состояния между сессиями;
  • единый формат описания возможностей инструментов для LLM.

Архитектура

MCP построен по клиент-серверной модели. Ключевые роли:

РольОписание
Хост (Host)Приложение с ИИ (например, IDE, чат-бот), которое управляет сессией и вызывает модели
Клиент (Client)Компонент хоста, устанавливающий соединение с одним MCP-сервером
Сервер (Server)Процесс, предоставляющий доступ к ресурсам, инструментам и промптам

Сервер может работать локально (например, как дочерний процесс) или подключаться удалённо. Протокол поддерживает три базовых примитива:

  • Ресурсы (Resources) — данные, доступные для чтения (файлы, строки базы, содержимое API);
  • Инструменты (Tools) — функции, которые модель может вызывать (запуск кода, выполнение HTTP-запроса, поиск);
  • Промпты (Prompts) — переиспользуемые шаблоны взаимодействия.

Транспорт и формат сообщений

Обмен сообщениями между клиентом и сервером выполняется по транспортному слою. Стандартная спецификация определяет два основных транспорта:

  1. stdio — обмен через стандартные потоки ввода-вывода, удобен для локальных серверов;
  2. Streamable HTTP — HTTP-эндпоинт с поддержкой потоковой передачи (SSE), применяемый для удалённых серверов.

Формат сообщений — JSON-RPC 2.0. Каждый запрос имеет идентификатор, метод и параметры; ответ содержит результат или ошибку. Сессия инициализируется обменом информацией о возможностях (capabilities) и версии протокола.

Реализации и экосистема

Официальные SDK доступны для TypeScript, Python, Java, Kotlin, C#, Swift и других языков. Существуют готовые серверы для популярных систем: файловой системы, Git, баз данных PostgreSQL, Slack, Google Drive, Puppeteer и других. Сообщество поддерживает каталоги серверов, где разработчики публикуют свои реализации.

MCP поддерживают основные поставщики ИИ-инструментов: Anthropic (Claude), OpenAI (включая ChatGPT и API), Google DeepMind (Gemini), Microsoft (Copilot Studio), а также ряд IDE и агентных фреймворков. В 2025 году протокол стал фактическим стандартом для организации «агентных» интеграций.

Применение

MCP применяется в следующих сценариях:

  • Интеграция с корпоративными данными — модели получают доступ к внутренним базам и документам через единый интерфейс;
  • Агентные системы — ИИ-агенты выполняют многошаговые задачи, вызывая инструменты по протоколу;
  • Разработка ПО — IDE с ИИ получают доступ к репозиториям, тестам и CI/CD через MCP-серверы;
  • Автоматизация — модели управляют внешними сервисами (почта, задачи, мониторинг) в рамках разрешённых инструментов.

Ограничения и безопасность

MCP не решает вопросов доверия к внешним инструментам: сервер может предоставлять опасные функции (выполнение произвольного кода, запись в файлы). Спецификация рекомендует применять механизмы подтверждения действий пользователя и ограничение прав доступа, однако конкретные меры остаются на усмотрение реализации. Также отмечается риск «промпт-инъекций» через контент, предоставляемый ресурсами сервера.

См. также

  • Языковая модель
  • ИИ-агент
  • Функциональные вызовы (function calling)
  • JSON-RPC

История

Протокол был анонсирован Anthropic 25 ноября 2024 года как способ решить проблему фрагментации интеграций. В марте 2025 года спецификация была обновлена: добавлен транспорт Streamable HTTP, уточнены механизмы аутентификации. В течение 2025 года к поддержке протокола присоединились OpenAI, Google и Microsoft, что закрепило его статус отраслевого стандарта для взаимодействия ИИ с внешними инструментами.

Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru