Про MCP. Общее
Личный кабинет

Документация и руководства

Введение в Model Context Protocol (MCP)

Определение

Model Context Protocol (MCP) — это открытый стандарт, созданный компанией Anthropic для унифицированного подключения LLM-приложений (Large Language Model applications) к внешним источникам данных, инструментам и сервисам. MCP задуман как универсальный «разъём» между моделью и внешним миром, позволяющий интегрировать базы данных, файловые хранилища, API и другие системы через единый набор правил, а не через набор уникальных интеграций.

Зачем нужен MCP

Протокол:

  • Устраняет необходимость писать собственную обвязку под каждую внешнюю систему.

  • Повышает переносимость решений: MCP-сервер, написанный для одного клиента, может работать с любым другим MCP-совместимым клиентом.

  • Снижает время интеграции и риски ошибок.

  • Открывает путь к созданию «агентных» LLM-сценариев, где модель сама может выбирать и использовать подходящие инструменты.

  • Обеспечивает прозрачный контроль доступа к данным и инструментам.

История и происхождение

  • Представлен 25 ноября 2024 года компанией Anthropic.

  • Публикуется как открытая спецификация в рамках организации modelcontextprotocol на GitHub.

  • С самого начала создавался как проект с открытым исходным кодом, чтобы его могли поддерживать и развивать разработчики из разных компаний и сообществ.

Архитектура и ключевые понятия

MCP использует JSON-RPC 2.0 как основной протокол обмена сообщениями и разделяет участников на несколько ролей:

Роли:

  • Host — LLM-приложение или среда, в которой работает модель (например, IDE, чат-платформа, корпоративный ассистент).

  • Client — встроенный компонент в host’е, реализующий логику взаимодействия по MCP.

  • Server — внешняя служба, предоставляющая ресурсы, шаблоны и инструменты.

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

  • Resources — доступ к данным, контексту, файлам или потокам информации.

  • Prompts — набор готовых шаблонов и рабочих сценариев, которые могут использоваться моделью.

  • Tools — функции и команды, доступные для вызова моделью (например, выполнение запроса в БД, создание документа, отправка письма).

Возможности клиентов:

  • Sampling — генерация текста или кода с использованием LLM.

  • Roots — предоставление корневых контекстов (основных точек входа для работы с сервером).

  • Elicitation — инициируемые сервером запросы к пользователю или модели для уточнения информации и подтверждения действий.

Безопасность:

  • MCP требует явного согласия пользователя на доступ к данным и выполнение действий.

  • Протокол учитывает угрозы, связанные с prompt-injection, подменой инструментов и атаками на цепочки вызовов.

  • Рекомендуется реализация многоуровневой валидации и фильтрации запросов.

Принятие и экосистема

  • MCP быстро подхватили разработчики инструментов и интеграций.

  • Крупные игроки и независимые команды создают MCP-серверы для подключения к своим системам.

  • Сообщество развивает каталоги серверов, наборы SDK, примеры интеграций и рекомендации по безопасности.

  • СМИ называют MCP «клеем» между LLM и приложениями, отмечая потенциал для стандартизации и снижения фрагментации в индустрии.