[Перевод] Всё, что вам нужно знать о MCP (Model Context Protocol) от Anthropic
Всем привет!
Меня зовут Александр, я COO в SaaS-платформе аналитики данных. Последний год активно изучаю внедрение AI-решений в кросс-функциональные процессы. Делюсь материалами, которые помогают:
Продуктовым менеджерам — интегрировать AI без перегрузки команд;
Разработчикам — выбирать инструменты под конкретные бизнес-задачи;
Специалистам по данным — избегать ошибок в production-развертывании.
У себя в телеграм-канале делюсь сжатыми и структурированными саммери статей.
Сегодняшний перевод — Everything you need to know about MCP.
Статья исследует архитектуру и применение Model Context Protocol (MCP) — стандарта, упрощающего взаимодействие между LLM-моделями и внешними данными. MCP четко распределяет контроль между участниками: пользователь управляет промптами, приложение — ресурсами, а модель — инструментами. Ключевое преимущество — возможность разделить ответственность между командами, позволяя им самостоятельно разрабатывать компоненты агентной системы, не влияя на общую топологию. Материал поможет архитекторам AI-систем оценить потенциал MCP для построения более гибких и масштабируемых решений.
MCP (Model Context Protocol) от Anthropic в этом месяце на первых полосах новостей. Я следил за проектом с момента его публичного релиза, о котором было объявлено 25 ноября 2024 года. В этой статье я поделюсь своими мыслями о том, почему я считаю, что вам стоит начать изучать MCP и почему это важно для будущего AI-агентов и агентных систем. Вот план того, что вы найдете в статье:
Обзор AI-агентов и агентных систем
Что такое MCP?
Разделение обязанностей контроля через MCP
Эволюция архитектуры AI-агента с MCP
Будущая дорожная карта MCP
Обзор AI-агентов и агентных систем.
В самом простом общем определении, AI-агент — это приложение, которое использует LLM в своей основе как механизм рассуждения для определения шагов, которые нужно предпринять, чтобы решить задачу пользователя. Обычно это объясняется с помощью изображения, похожего на картинку ниже, и состоит из нескольких строительных блоков:

AI-агент
Планирование — способность планировать последовательность действий, которые приложение должно выполнить для решения поставленной задачи. Существует множество стратегий для этого, я написал статью об одной из них — Рефлексии, где мы создали её с нуля без использования каких-либо фреймворков оркестрации LLM:
Память — краткосрочная и долгосрочная память, содержащая любую информацию, которая может понадобиться агенту для рассуждения о действиях, которые нужно предпринять. Эта информация обычно передается в LLM через системный промпт как часть ядра. Вы можете узнать больше о различных типах памяти в одной из моих предыдущих статей:
Инструменты — любая функция, которую приложение может вызвать для расширения своих возможностей рассуждения. Не стоит обманываться простотой этого определения, поскольку инструментом может быть буквально что угодно:
Простые функции, определенные в коде.
VectorDB и другие хранилища данных, содержащие контекст.
API обычных моделей машинного обучения.
Другие агенты!
…
Не всем агентным системам предоставляется полная свобода действий в среде выполнения. Anthropic также описал «Расширенные LLM», где приложения, интегрирующие LLM как механизмы рассуждения, получают контроль только над инструментами и памятью, но не над планированием. Топология взаимодействий определяется в коде, а не планируется LLM.
Что такое MCP?
MCP (Model Context Protocol), как определено Anthropic, это:
Открытый протокол, который стандартизирует то, как приложения предоставляют контекст LLM.
Точнее говоря, он пытается стандартизировать протокол того, как приложения на базе LLM интегрируются с другими средами.
В агентных системах, AI-агентах или цепочках расширенных LLM контекст может быть предоставлен несколькими способами:
Внешние данные — это часть долгосрочной памяти.
Инструменты — возможность системы взаимодействовать со средой.
Динамические промпты — которые могут быть внедрены как часть системного промпта.
…
Ниже представлена высокоуровневая архитектура MCP.

MCP Host — Программы, использующие LLM в своей основе, которые хотят получить доступ к данным через MCP.
MCP Client — Клиенты, поддерживающие соединения 1:1 с серверами.
MCP Server — Легковесные программы, каждая из которых предоставляет определенные возможности через стандартизированный Model Context Protocol.
Локальные источники данных — Файлы, базы данных и сервисы вашего компьютера, к которым MCP-серверы могут безопасно получить доступ.
Удаленные источники данных — Внешние системы, доступные через интернет (например, через API), к которым могут подключаться MCP-серверы.
Зачем нужна стандартизация?
Текущий процесс разработки агентных приложений хаотичен:
Существует множество фреймворков для агентов с небольшими отличиями. Хотя радует видеть, как процветает экосистема, эти небольшие различия редко добавляют достаточную ценность, но потенциально значительно меняют способ написания кода.
Интеграции с внешними источниками данных обычно реализуются на лету и с использованием разных протоколов даже внутри организаций. Это, очевидно, верно и для разных компаний.
Инструменты определяются в репозиториях кода немного по-разному. То, как вы подключаете инструменты к расширенным LLM, также различается.
В конечном итоге цель состоит в том, чтобы повысить скорость инноваций в агентных приложениях, улучшить их безопасность и упростить предоставление релевантных данных в контексте.
Разделение обязанностей контроля через MCP.
MCP-серверы предоставляют три основных элемента, которые специально созданы таким образом, чтобы помочь реализовать специфическое разделение контроля.

Промпты предназначены для управления пользователем.
Программист сервера может предоставить определенные промпты (подходящие для взаимодействия с данными, предоставляемыми сервером), которые могут быть внедрены в приложение, использующее LLM, и доступны пользователю этого приложения.
Ресурсы предназначены для управления приложением.
Ресурсы — это любой вид данных (текст или бинарные), которые могут использоваться приложением, построенным на LLM. Программист приложения (обычно AI-инженер) отвечает за кодификацию того, как эта информация должна использоваться приложением. Обычно в этом нет автоматизации, и LLM не участвует в этом выборе.
Инструменты предназначены для управления моделью.
Если мы предоставляем агенту возможность выбирать, как взаимодействовать со средой, мы используем для этого инструменты. MCP-сервер предоставляет конечную точку, которая может перечислить все доступные инструменты с их описаниями и необходимыми аргументами, приложение может передать этот список LLM, чтобы она могла решить, какие инструменты необходимы для задачи и как их следует вызывать.
Эволюция архитектуры AI-агента с MCP.
Чтобы объяснить, как архитектура агентного приложения может эволюционировать с MCP, давайте рассмотрим пример очень простого агентного RAG.

Вот этапы, которые могла бы включать система:
Анализ пользовательского запроса: мы передаем исходный запрос пользователя агенту на базе LLM для анализа. Именно здесь:
Исходный запрос может быть переписан, иногда несколько раз, чтобы создать один или несколько запросов для передачи дальше по конвейеру.
Агент решает, нужны ли дополнительные источники данных для ответа на запрос.
Если требуются дополнительные данные, запускается этап поиска. В случае агентного RAG у нас может быть один или несколько агентов, ответственных за выяснение того, какие источники данных следует использовать, например:
Данные пользователя в реальном времени. Это довольно крутая концепция, поскольку у нас может быть доступна какая-то информация в реальном времени, например, текущее местоположение пользователя.
Внутренние документы, которые могут заинтересовать пользователя.
Данные, доступные в интернете.
…
Если дополнительные данные не нужны, мы пытаемся составить ответ (или несколько ответов, или набор действий) прямо через LLM.
Ответ анализируется, обобщается и оценивается на предмет правильности и релевантности:
Если агент решает, что ответ достаточно хорош, он возвращается пользователю.
Если агент решает, что ответ нуждается в улучшении, мы пытаемся переписать пользовательский запрос и повторяем цикл генерации.
Как меняется архитектура, если мы внедряем MCP?

Мы можем внедрить MCP-серверы для взаимодействия со всеми источниками данных, релевантными для процедуры поиска. MCP-сервер обрабатывает логику поиска через Инструменты, поскольку LLM будет «выбирать», какие источники данных будут релевантными для системы. Вот некоторые преимущества такого подхода:
Мы отделяем логику поиска от топологии агентной системы.
Мы можем развивать компонент поиска отдельно:
Внедрять дополнительные инструменты.
Внедрять дополнительные источники данных.
Версионировать, развивать и откатывать существующие инструменты и источники данных.
Мы можем управлять безопасностью и доступом к данным через MCP-сервер.
Отдельная команда может независимо работать над данными, за которые она отвечает.
Эволюция архитектуры в крупных предприятиях.
По мере роста предприятий разные команды начинают владеть определенными данными. Например:
Данные CRM.
Финансовые данные.
Данные о кликах на веб-сайте в реальном времени.
….

Сложно эффективно управлять разрозненными источниками данных, и MCP приносит большую ценность в эту игру.
Каждый домен данных может управлять своими собственными MCP-серверами.
Все MCP-серверы будут использовать один и тот же протокол.
Благодаря этому усилия по интеграции для приложений на базе LLM будут значительно снижены.
AI-инженеры могут продолжать фокусироваться на топологии агента.
[ВАЖНО]: Это одно из самых больших преимуществ использования MCP, на мой взгляд. Это позволяет разделять системы в крупных проектах. Разные команды могут работать над своими доменами, не нарушая разработку основной агентной топологии.
Будущая дорожная карта MCP.
Публичная дорожная карта на следующие 6 месяцев настойчиво предполагает усиление cloud-native аспекта проекта. Улучшения в:
Аутентификации и авторизации.
Обнаружении сервисов.
А также расширение поддержки для будущего агентных систем с акцентом на:
Иерархические агентные системы
Интерактивные рабочие процессы для улучшения взаимодействия с человеком в контуре.
Потоковая передача результатов.
На сегодня это всё, давайте подведем итоги.
Хотя MCP все еще относительно сырой, дорожная карта выглядит многообещающе. Тот факт, что проект поддерживается Anthropic, также рисует яркое будущее для его принятия.