Труды КНЦ (Технические науки вып.3/2025(16))

модели в реальном времени с учетом контекста [5; 6]. MCP фокусируется исключительно на протоколе обмена контекстом — он не определяет, как приложения ИИ используют LLM или управляют предоставленным контекстом. MCP решает давние проблемы взаимодействия систем ИИ, управления контекстом и безопасного расширения возможностей моделей. Предназначен для построения мультиагентных систем для решения задач в различных предметных областях как в научных исследованиях, так и в реальном секторе экономики [7; 8]. Архитектура MCP MCP использует архитектуру [9] клиент-сервер, где хост MCP — ИИ-приложение, устанавливает соединения с одним или несколькими серверами MCP. Хост MCP создает один клиент MCP для каждого сервера MCP. Каждый клиент MCP поддерживает выделенное индивидуальное соединение с соответствующим сервером MCP. Ключевыми компонентами архитектуры MCP являются: хост MCP — приложение ИИ, которое координирует и управляет одним или несколькими клиентами MCP; клиент MCP — компонент, который поддерживает соединение с сервером MCP и получает контекст от сервера MCP для использования хостом MCP; сервер MCP — программа, предоставляющая контекст клиентам MCP. MCP-сервер относится к программе, которая обслуживает контекстные данные независимо от места ее работы. MCP-серверы могут работать локально или удаленно. Два слоя протокола MCP: 1) уровень данных: определяет протокол на основе JSON-RPC для клиент-серверного взаимодействия, включая управление жизненным циклом и основные примитивы, такие как инструменты, ресурсы, запросы и уведомления; 2) транспортный уровень: определяет механизмы связи и каналы, обеспечивающие обмен данными между клиентами и серверами, включая установление транспортного соединения, формирование сообщений и авторизацию. Уровень данных реализует протокол обмена на основе JSON-RPC 2.0 [10], который определяет структуру и семантику сообщений. Этот уровень включает в себя: 1) управление жизненным циклом: осуществляет инициализацию соединения, согласование возможностей и завершение соединения между клиентами и серверами; 2) серверные функции: позволяет серверам предоставлять основные функции, включая инструменты для действий ИИ, ресурсы для контекстных данных и запросы шаблонов взаимодействия с клиентом и от него; 3) клиентские функции: позволяет серверам запрашивать у клиента выборку из LLM-хоста, получать ввод данных от пользователя и регистрировать сообщения для клиента; 4) служебные функции: поддерживает дополнительные возможности, такие как уведомления об обновлениях в режиме реального времени и отслеживание хода выполнения длительных операций. Транспортный уровень управляет каналами связи и аутентификацией между клиентами и серверами. Он отвечает за установление соединения, формирование сообщений и защищенную связь между участниками MCP. MCP поддерживает два транспортных механизма: Stdio transport : использует стандартные потоки ввода/вывода для прямого взаимодействия между локальными процессами на одной машине, обеспечивая оптимальную производительность без сетевых издержек; Streamable HTTP transport: использует HTTP POST для сообщений клиент-сервер с опциональными событиями, отправленными сервером, для потоковой передачи. Этот транспорт обеспечивает взаимодействие с удаленным сервером и поддерживает стандартные методы HTTP-аутентификации, включая токены-носители, ключи API и настраиваемые заголовки. MCP рекомендует использовать OAuth для получения токенов аутентификации. Транспортный уровень абстрагирует информацию о взаимодействии от уровня протокола, обеспечивая единый формат сообщений JSON-RPC 2.0 для всех транспортных механизмов. Протокол уровня данных. Основной частью MCP является определение схемы и семантики между клиентами и серверами MCP. Именно уровень данных, в частности набор примитивов, определяет способы обмена контекстом между серверами MCP и клиентами MCP. MCP использует JSON-RPC 2.0 в качестве базового протокола RPC. Клиент и серверы отправляют запросы, ответы и уведомления друг другу. Управление жизненным циклом. Цель управления жизненным циклом — согласовать функции и операции, поддерживаемые клиентом или сервером, такие как инструменты, ресурсы или подсказки, поддерживаемые как клиентом, так и сервером. Труды Кольского научного центра РАН. Серия: Технические науки. 2025. Т. 16, № 3. С. 5-21. Transactions of the Kola Science Centre of RA s . Series: Engineering Sciences. 2025. Vol. 16, No. 3. P. 5-21. 8 © Федоров А. М., Датьев И. О., Илясов М. О., Вишняков И. Г., Базегский М. О., Фигуркин Д. С., Любимова К. Д., 2025

RkJQdWJsaXNoZXIy MTUzNzYz