Раскрытие Model Context Protocol
Model Context Protocol (MCP), представленный Anthropic в конце 2024 года, является важным шагом на пути к оптимизации взаимодействия между большими языковыми моделями (LLM) и пользовательскими данными. Этот протокол подчеркивает критическую роль контекста в приложениях AI, признавая, что способность AI предоставлять связные и значимые результаты зависит от доступности релевантной контекстной информации. Полагаться исключительно на подсказки чата для получения разумных ответов - в лучшем случае упражнение в оптимизме, а в худшем - рецепт неточных или вводящих в заблуждение результатов. Для создания надежных, полуавтономных агентов, способных организовывать рабочие процессы вокруг наших данных, необходим надежный механизм для доставки этих данных этим агентам.
MCP, как инициатива с открытым исходным кодом, предоставляет реализации SDK для широкого спектра языков программирования, а также всеобъемлющую документацию в своем репозитории GitHub. Эта документация позволяет разработчикам эффективно внедрять или использовать MCP-серверы. Описание проекта MCP как “порт USB-C для AI-приложений” метко отражает его суть, подчеркивая его способность стандартизировать соединения с различными источниками данных. MCP, построенный на стандартизированной основе, легко интегрируется с существующими проектами, беспрепятственно взаимодействуя с различными LLM и поставщиками выводов.
Архитектура MCP следует хорошо зарекомендовавшей себя модели клиент/сервер, где брокер берет на себя ответственность за преобразование запросов MCP в локальные или удаленные запросы. Этот дизайн отражает функциональность языков определения интерфейсов, таких как CORBA, превращая MCP в универсальный уровень взаимодействия, который облегчает плавное переключение между источниками информации и приложениями LLM. Используя соединение JSON RPC, MCP обеспечивает детальный контроль на уровне отдельных пользователей с помощью таких инструментов, как Azure API Management.
MCP способствует разработке общих интерфейсов для кода, управляемого AI, о чем свидетельствует его растущее внедрение на платформах разработки AI от Microsoft. От интеграции в инструмент оркестровки Semantic Kernel до развертывания в качестве MCP-серверов, совместимых с Azure OpenAI и Azure AI Foundry, MCP быстро набирает обороты. Microsoft также расширяет Azure API Management функциями для контроля доступа к данным на основе учетных данных пользователей, что еще больше укрепляет роль MCP в безопасных и управляемых развертываниях AI.
Azure MCP Server: Ранняя реализация
Azure MCP Server с открытым исходным кодом, недавно выпущенный в режиме общедоступной предварительной версии, является примером ранней реализации MCP на платформе Microsoft. Этот сервер служит общим брокером для доступа AI к ключевым службам Azure, придерживаясь принципов открытого исходного кода, принятых во многих последних проектах Azure. Его код легко доступен на GitHub. Azure MCP Server предоставляет доступ к значительной части платформы Azure, включая базы данных, решения для хранения данных и службы, такие как Azure CLI.
Особо следует отметить включение поддержки Azure CLI (и Developer CLI), поскольку это позволяет агентам, управляемым MCP, напрямую взаимодействовать с Azure, рассматривая вызовы MCP как операторы. Эта возможность открывает путь для создания агентов, предлагающих интерфейс самообслуживания Azure на естественном языке. Например, агент может взять описание инфраструктуры и автоматически сгенерировать шаблоны ARM, необходимые для ее развертывания. Развивая эту концепцию далее, можно представить себе мультимодального агента, который анализирует эскиз на доске, получает описание необходимых ресурсов, а затем развертывает инфраструктуру, позволяя немедленно разрабатывать код. Дополнительные службы администрирования системы, доступные через Azure MCP Server, охватывают перечисление текущих групп ресурсов и использование KQL для запроса журналов мониторинга Azure.
Интеграция Azure MCP Server с GitHub Copilot Chat
Поскольку он соответствует стандарту MCP, Azure MCP Server легко интегрируется с любым AI-инструментом, поддерживающим MCP, таким как режим GitHub Copilot Agent Mode. Просто добавив сервер в свой клиент, вы можете начать задавать вопросы через Copilot, либо напрямую, либо через интеграцию Visual Studio Code. Последний вариант предоставляет эффективное средство обучения тому, как использовать MCP и создавать подсказки для ваших собственных AI-приложений на основе MCP.
В настоящее время Microsoft еще не выпустила специальный инструмент MCP для своих языков программирования, что требует использования официальных SDK для разработки пользовательского кода. Благодаря поддержке TypeScript, C# и Python разработчики имеют доступ к необходимым инструментам для создания собственных агентов Azure MCP. Эксперименты можно проводить в Visual Studio Code, используя существующие учетные данные Azure.
Сервер работает на вашем ПК для разработки и требует Node.js. Установка выполняется непосредственно из репозитория проекта GitHub в VS Code. После установки убедитесь, что расширения GitHub Copilot и GitHub Copilot Chat настроены на использование экспериментального режима агента (доступно через инструмент настроек VS Code). Затем откройте панель чата GitHub Copilot и переключитесь в режим агента. Убедитесь, что Azure MCP Server установлен в выпадающем списке инструментов. Теперь вы можете отправлять запросы, такие как “List my Azure subscriptions”.
Полученный инструмент оказывается бесценным для всех, кто работает с Azure, и выходит за рамки интеграции Copilot. Azure MCP Server можно установить везде, где поддерживается Node.js, что позволяет интегрировать его в пользовательских агентов.
Роль MCP в Azure AI Foundry
Microsoft быстро расширяет свой портфель инструментов MCP, предоставляя существующие функциональные возможности через MCP или обеспечивая их потребление в приложениях agentic. Этот быстрый развертывание включает инструменты для разработки агентов без кода Copilot Studio, объявленные во время написания этой статьи.
Azure AI Foundry, основная платформа разработки Microsoft для крупномасштабной разработки AI-приложений, также активно разрабатывает MCP Server для дополнения службы AI Agent Service от Azure. Эта интеграция направлена на подключение агентов, работающих в Azure AI Foundry, к клиентам, работающим в составе других AI-приложений.
Эта служба позволяет быстро перепрофилировать существующий код и службы AI и связать их с новыми приложениями. Такие службы, как Fabric, предоставляют свои функции агента в качестве конечных точек AI Agent Service, позволяя AI-приложениям беспрепятственно подключаться к основным бизнес-данным, обеспечивая необходимую основу для смягчения рисков галлюцинаций и ошибок.
После установки сервер предоставляет набор действий MCP для подключения к агентам и отправки им запросов. Он также может перечислять доступных агентов или использовать агента по умолчанию для конкретных задач. Включена поддержка потоков разговоров, предоставляя агентам базовую семантическую память для контекстных разговоров. Для вызова агентов с помощью MCP вам потребуются идентификаторы агентов службы Azure AI Agent Service.
Сервер реализован на Python и может быть установлен с помощью Azure CLI через pip
. В качестве альтернативы, доступна версия TypeScript для тех, кто ее предпочитает. Как и Azure MCP Server, этот сервер работает вне среды AI Foundry, что позволяет установить его на ПК для разработки или как часть облачного приложения в собственном контейнере или виртуальной машине, с поддержкой Windows, macOS и Linux.
Использование MCP Servers из Semantic Kernel AI Applications
Как открытый стандарт, MCP обеспечивает совместимость сервера с любым клиентом. В репозитории GitHub содержатся инструкции о том, как установить соединение с помощью Claude Desktop от Anthropic, но истинная ценность заключается в создании пользовательских рабочих процессов агента в Semantic Kernel.
Microsoft предоставляет пример кода, демонстрирующий, как интегрировать поддержку MCP в оркестровку Semantic Kernel, рассматривая ее как подключаемый модуль ядра, который интегрируется с знакомыми вызовами функций. Эти интеграции можно обернуть в качестве агентов и получать к ним доступ по мере необходимости. Хотя интеграция MCP в Semantic Kernel все еще находится в разработке, она беспрепятственно интегрируется с существующим набором функций, требуя минимального дополнительного кода для предоставления инструментов MCP с сервера в AI-приложения.
Такие инструменты, как MCP, являются критически важными компонентами современной AI-экосистемы, предоставляя стандартизированный подход к созданию обнаруживаемых интерфейсов для локальных и удаленных приложений. После определения инструменты MCP легко вызываются, при этом сервер предоставляет список доступных инструментов, а MCP предоставляет LLM стандартизированное средство вызова этих инструментов и использования их выходных данных. Этот подход значительно способствует предоставлению универсального инструмента обоснования для AI-приложений, работающего со стандартными API, запросами к базам данных и агентами AI.