Протокол контекста модели (Model Context Protocol, MCP) – на сегодняшний момент один из самых популярных трендов в области обработки данных. В ноябре 2024 года компания Anthronic, разработчик ИИ-ассистента Claude, выложила в открытый доступ исходный код протокола MCP и предоставила бесплатный доступ к инструментам разработки решений на основе этого протокола.
Если опустить подробности, то MCP это средство стандартизации интеграции ИИ-приложений с внешними источниками данных и внешними сервисами обработки данных. При этом подразумевается, что внутри интеграционного контура работа с данными происходит без участия человека: ИИ-компоненты сами решают, какие им данные нужны, где их лучше взять и как их обработать, а затем – что и как выгрузить.
Первоначально ИТ-сообщество приняло эту инновацию довольно скептически, но с начала 2025 года популярность протокола и количество идей по его использованию стало расти лавинообразно. Изначально протокол задумывался как решение одной из фундаментальных проблем больших языковых моделей – их изолированности от внешнего мира. Мощные LLM по умолчанию работают в вакууме. Они обучены на статических данных из прошлого и не имеют доступа к вашей личной или какой-либо другой информации: вашим файлам, коду, бизнес-данным, свежим новостям и пр. MCP предлагался в качестве стандартизованного протокола общения LLM c реальным миром. На основе этого подхода возможно создавать решения, превращающие их ядро – «всезнающего эрудита с устаревшими данными» – в систему, общающуюся с внешними информационными системами в режиме реального времени. При этом архитектура протокола реализует возможность двунаправленного обмена данными. То есть системы могут не только забирать информацию, но и делиться ею с другими системами.
Популярности решения способствовала и идея стандартизации обмена данными в среде AI/ML приложений. До MCP каждый разработчик и каждая компания вынуждены были изобретать свой «велосипед» для подключения ИИ к внешним данным. Создавались одноразовые плагины, уникальные скрипты на одну обработку и API-обертки. Это приводило к фрагментации, несовместимости и гигантским затратам на поддержку. MCP был задуман как открытый стандарт по аналогии с протоколом HTTP для web.
Немаловажно и то, что протокол обеспечивает высокий уровень безопасности взаимодействия систем. Он спроектирован на основе принципа нулевого доверия (zero trust). Этот принцип возможно сформулировать следующим образом: «Никому не доверяй, проверяй всегда». Подобный подход реализуется на основе минимальных привилегий, изоляции и контроле, что критически важно для корпоративных заказчиков. Ведь без продуманной модели безопасности никто не рискнул бы подключать AI/ML системы к своим ценным данным.
Кроме технических аспектов, популярность протокола MCP определило его своевременное появление. Он был представлен в тот момент, когда назрела реальная потребность, и более того – острейшая необходимость, в подобном решении. Мир осознал мощь LLM, но уперся в ограничение их «отрезанности» от реального мира. MCP стал тем недостающим звеном, которое позволило реализовать все те сценарии, которые реально востребованы рынком сегодня.
Архитектура решения
Ключевой особенностью систем, построенных на основе MCP, является то, что команды на поиск, выгрузку и загрузку данных, их трансформацию и обработку дает не человек, а LLM-модель – «мозг» системы, построенной на MCP-подходе.
.jpg)
MCP-хост – программный продукт, реализующий взаимодействие с пользователями системы (людьми и программами). Он чаще всего использует LLM – например, Claude for desktop.
MCP-клиент выступает в роли моста между MCP-хостом и MCP-сервером. Клиенты – это многофункциональные программы. Они могут запрашивать список функций у сервера, получать краткое описание и вызывать их по мере необходимости, вести реестр серверов на основе их функционала и пр.
После получения задания от MCP-хоста MCP-клиент выбирает подходящий MCP-сервер и отправляет структурированные JSON-запросы для выполнения действий, таких как поиск RAG (Retrieval-Augmented Generation) или загрузка файлов, и обрабатывает потоковые ответы для внедрения контекста в рабочие процессы ИИ. Такая архитектура минимизирует задержку и поддерживает потоковую передачу данных, что делает ее идеальным решением для агентных систем, где критически важен динамический поиск данных.
Многие производители и разработчики интегрируют MCP-хост и MCP-клиент, но на рынке присутствует целый ряд реализаций «чистых» MCP-клиентов.
MCP-сервер – программа (по сути коннектор), выступающая в роли интерфейса к внешней системе, используя ее API. Чаще всего эти коннекторы разрабатывают разработчики прикладных систем. На сегодня существует более 100 различных MCP-серверов с открытым исходным кодом, и их количество продолжает быстро расти. Экосистема охватывает практически все популярные SaaS-продукты и инструменты разработки (например, MCP-сервер к СУБД Яндекс YDB).
Сценарий процесса
Во взаимодействии элементов системы можно выделить несколько ключевых фаз.
Фаза 1: Планирование и принятие решений (LLM как «мозг»)
1. Анализ запроса пользователя. Пользователь запрашивает MCP-хост на естественном языке – например, «Посмотри мои последние PR на GitHub и напиши краткую сводку». (Здесь под PR подразумевается Pull Request – предложения от других пользователей на внесение изменений в код. Они используются в системах контроля версий).
2. Определение необходимых действий. MCP-хост на основе встроенной LLM определяет, что нужно для ответа: получить список Pull Request пользователя из GitHub; проанализировать каждый запрос; сформировать краткий отчет.
3. Выбор инструментов. MCP-хост обращается к реестру инструментов MCP, который предоставил MCP-клиент (MCP-клиент получает список от конкретного MCP-сервера), и выбирает нужные функции: получение списка PR; аннотация каждого PR.
Фаза 2: Исполнение запроса
4. Формирование MCP-запроса: MCP-хост генерирует строго форматированный запрос, используя выбранные функции и обогащая его дополнительной информацией (данные о запрашивающем и пр.).
5. Выполнение запроса: MCP-клиент получает этот запрос, находит соответствующий MCP-сервер и вызывает на нем указанные инструменты.
6. Получение результата: MCP-сервер выполняет всю «грязную работу»: аутентифицируется в API GitHub, делает HTTP-запросы, обрабатывает ответ и возвращает структурированные данные (JSON) MCP-клиенту, который передает их обратно MCP-хосту.
Фаза 3: Синтез и ответ (LLM снова как «мозг»)
7. Анализ данных. MCP-хост получает «сырые» данные от MCP-клиента (например, список PR с метаданными).
8. Формулирование ответа. На основе полученных данных и исходного запроса MCP-хост генерирует ответ на естественном языке, понятном человеку. Программа не просто пересказывает данные, а анализирует, находит зависимости, выделяет главное.
9. Ответ пользователю. Сформированный ответ выдается пользователю через интерфейс MCP Х (Claude, IDE и пр.).
Будущее MCP в ETL
MCP – очень молодой протокол, но его широкие и многообещающие возможности порождают широкий спектр идей по его применению в различных классах систем, связанных с обработкой данных. По мнению ряда экспертов, специфика и потенциальные возможности MCP хорошо подходят для реализации процессов ETL. Они считают, что Model Context Protocol предлагает революционный подход к построению ETL-процессов, трансформируя классическую архитектуру в более гибкую, композитную и интеллектуальную систему.
Достоинства построения ETL-системы на базе MCP можно рассмотреть на основе функционала подобных систем.
1. Функции извлечения данных (Extract) – MCP как унифицированный интерфейс доступа к данным источника.
При классическом подходе для извлечения данных чаще всего используются уникальные инструменты, построенные на основе API источника. Эти инструменты не стандартизованы, и обычно создаются на стороне инструментов ETL. MCP предлагает использование специализированных MCP-серверов для каждого источника данных. Обычно подобный сервер создается разработчиками конкретного источника. При этом в таких серверах нередко используются все наработки, проверенные временем, и добавляется новый функционал, отвечающий современным требованиям. Например, в составе MCP-серверов для работы с реляционными источниками данных могут использоваться ODBC драйвера для высокопроизводительного подключения к базам данных. Преимущество архитектуры на основе MCP заключается в наличии стандартизованного интерфейса для всех источников данных. Новый источник легко добавить, подключив новый MCP-сервер.
2. Трансформация данных (Transform) – MCP как распределенный вычислительный слой.
Классические системы ETL используют мощные инструменты очистки, оценки качества, трансформации и обогащения данных. Очень часто они строятся на основе заранее предопределенных бизнес-правил (оценка качества и очистка) и ручной разработке правил трансформации и обогащения данных. Подобный подход хорош для сложных и высоконагруженных batch-процессов, где важна предсказуемость и надежность.
MCP предлагает в качестве альтернативы гибкость и многократность использования компонентов архитектуры. Базовые функции трансформации могут быть заложены в MCP-серверах. Для различных функций трансформации могут быть разработаны специализированные серверы (например, парсинг JSON). А окончательные операции могут осуществляться на стороне MCP-хоста. Но главное отличие MCP подхода в том, что бизнес-логика трансформации данных определяется «мозгом» системы – моделью LLM на стороне MCP-хоста. Сама модель ИИ может выступать в качестве инструмента преобразования. После извлечения данных модель может применять сложную логику – например, резюмировать текст, дополнять записи информацией из разных источников (полученной через другие сервера MCP), реструктурировать JSON или генерировать новые аналитические данные. Это позволяет выполнять сложные и интеллектуальные преобразования, выходящие за рамки простых изменений на основе правил, адаптируя логику к содержанию данных и общей цели.
3. Выгрузка данных (Load) – MCP как унифицированный загрузчик.
Классические системы ETL используют индивидуальные реализации загрузки под каждую систему назначения. Подход MCP предлагает использовать стандартизированные серверы для каждой системы обработки данных. И это не обязательно только хранилища данных – подобные серверы могут работать с почтовыми системами, репозиториями программного кода и самими ETL-системами.
4. Безопасность. MCP – реализация RBAC (Role-Based Access Control).
Одна из ключевых особенностей систем, построенных на основе архитектуры MCP, это обеспечение высокого уровня информационной безопасности во всей цепочке обработки данных. Эта концепция была изначально заложена в создание информационных систем на основе протокола MCP. В классических ETL-системах обработку учетных данных пользователей необходимо описывать в скриптах оркестраторов. В отличие от этого подхода в MCP-системах обработка учетных данных пользователей стандартно закладывается в MCP-серверах и MCP-клиентах. Все это позволяет реализовать полноценную модель управления доступом, при которой права пользователям назначаются на основе их ролей – RBAC (Role-Based Access Control), которая будет легко интегрироваться с ролевыми моделями доступа внешних систем обработки данных. Этот подход предоставляет широкие возможности для детального аудита процессов обработки данных.
Ключевые архитектурные преимущества MCP для ETL:
- Модульность и повторное использование компонентов. Стандартный MCP-сервер для конкретного источника данных можно использовать много раз для разных целей во всех своих пайплайнах.
- Безопасность. Работа с учетными данными заложена в серверах и клиентах MCP, а не в скриптах оркестратора как в классическом ETL.
- Надежность. Падение одного сервера не влияет на другие компоненты системы.
- Масштабируемость. При MCP подходе существует возможность на уровне «мозга» автоматически спланировать сценарий обработки данных в зависимости от прогнозируемой нагрузки и данных о доступных физических ресурсах.
- Гибкость. Легко менять отдельные компоненты без переписывания всего пайплайна.
- Тестируемость. Серверы можно тестировать изолированно. MCP-подход позволяет проверить логику всего пайплайна – правильную последовательность действий, обработку ошибок, форматирование данных – без зависимости от внешних сервисов. Это стабильно и надежно.
- Наблюдаемость. Каждый этап ETL имеет четкие границы и метрики производительности.
- Аудируемость. Стандартизация MCP-подхода обеспечивает полную прозрачность для аудита работы системы на его основе.
Технологии требуется время
В связи с юным возрастом архитектуры MCP многие рассуждения о применимости подхода для реализации ETL-систем носят теоретический характер. Потенциал возможностей хорошо просматривается на теоретических выкладках, но как это будет выглядеть в реальности – покажет время. Однако уже сейчас понятно, что MCP – это не «серебряная пуля» и классический ETL незаменим для обработки огромных объемов данных, регулярных высоконадежных пайплайнов, сложных SQL-трансформаций и пайплайнов с гарантированной консистентностью данных. Скорее всего, будущее MCP-подхода в среде ETL – это его интеграция с лучшими классическими ETL-системами в качестве одного из их инструментов.
На сегодня полноценных реализаций ETL на базе MCP-подхода не существует. В среде Apache Airflow существует community-проект по созданию MCP Operator, который бы позволял вызывать MCP-серверы как шаги пайплайна. Это естественное развитие идеи децентрализации и выделения логики работы с источниками в отдельные микросервисы. Кроме того, в стадии разработки находится проект создания MCP-сервера и клиента для Apache NiFi. В текущей версии сервер хорошо читает и документирует существующие потоки. Остальной функционал находится в процессе создания. Однако существуют сотни реализаций MCP-серверов и десятки MCP-клиентов, архитектура которых очень заманчива для их интеграции в ETL пайплайны. Наконец, компания Яндекс предлагает YDB Model Context Protocol (MCP) server, который позволяет работать с базами данных YDB из любой большой языковой модели (LLM), которая поддерживает MCP, используя любой из MCP-клиентов. Эта интеграция обеспечивает работу с базами данных YDB с помощью ИИ на естественном языке.
Настоящая статья подготовлена как выдержка из отчета «ETL-круг Громова 2025» про MCP технологии в архитектуре ETL нового поколения. Полная версия отчета доступна на сайте аналитического центра «Круги Громова», который можно запросить бесплатно.
Автор — Владимир Быков, директор по развитию исследовательского центра Круги Громова