Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Разработчик | Базовый | Базовая версия 2 | Стандартный | Стандартная версия 2 | Премиум | Премиум версия 2
В этой статье показано, как использовать управление API для предоставления и управления существующим сервером удаленного протокола контекста модели (MCP) — сервером инструментов, размещенным за пределами управления API. Предоставление и управление средствами сервера с помощью управления API, чтобы клиенты MCP могли вызывать их с помощью протокола MCP.
Примеры сценариев включают:
- Прокси-серверы средств LangChain или LangServe с помощью управления API с ограничениями на проверку подлинности и скорости на сервере.
- Безопасно предоставляйте доступ к средствам на основе Azure Logic Apps для копилотов с помощью фильтрации IP-адресов и OAuth.
- Централизация средств сервера MCP из функций Azure и сред выполнения с открытым кодом в Центре API Azure.
- Включите GitHub Copilot, Claude от Anthropic или ChatGPT для безопасного взаимодействия с инструментами в вашей организации.
Управление API также поддерживает собственные серверы MCP, предоставляемые в службе "Управление API" из управляемых ИНТЕРФЕЙСов REST API. Дополнительные сведения см. в разделе "Предоставление REST API в качестве сервера MCP".
Дополнительные сведения:
Ограничения
Внешний сервер MCP должен соответствовать версии
2025-06-18MCP или более поздней версии. Сервер может поддерживать следующее:- Либо отсутствие авторизации, либо протоколы авторизации, соответствующие следующим стандартам: https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization#standards-compliance.
- Потоковые типы передачи по протоколам HTTP или SSE.
Управление API в настоящее время поддерживает средства сервера MCP, но не поддерживает ресурсы или подсказки MCP.
В настоящее время управление API не поддерживает возможности сервера MCP в рабочих областях.
Предпосылки
Если у вас еще нет экземпляра службы управления API, выполните следующее краткое руководство. Создайте экземпляр службы управления API Azure. Экземпляр должен находиться на одном из уровней сервисов, поддерживающих серверы MCP.
Доступ к внешнему серверу, совместимом с MCP (например, размещен в Azure Logic Apps, Функциях Azure, LangServe или других платформах).
Соответствующие учетные данные сервера MCP (например, учетные данные клиента OAuth 2.0 или ключи API в зависимости от сервера) для безопасного доступа.
Если вы включите ведение журнала диагностики с помощью Application Insights или Azure Monitor в глобальной области (все API) для экземпляра службы управления API, задайте для параметра число байт полезной нагрузки для журналирования во Frontend Response значение 0. Этот параметр предотвращает непреднамеренное логирование содержимого тела ответа для всех API, что помогает обеспечить надлежащее функционирование серверов MCP. Чтобы регистрировать данные селективно для определенных API, настройте настройки отдельно в области API, позволяя эффективно управлять ведением журнала ответов.
Чтобы протестировать сервер MCP, используйте Visual Studio Code с доступом к GitHub Copilot или инструменту, например MCP Inspector.
Предоставление существующего сервера MCP
Выполните следующие действия, чтобы предоставить существующий сервер MCP в службе управления API:
- На портале Azure откройте экземпляр API Management.
- В меню слева в разделе API выберите MCP-серверы>+ Создать сервер MCP.
- Выберите "Предоставить существующий сервер MCP".
- На сервере серверной части MCP:
- Введите существующий БАЗОВЫй URL-адрес сервера MCP. Например,
https://learn.microsoft.com/api/mcpдля сервера Microsoft Learn MCP. - В типе транспортапотоковый HTTP выбран по умолчанию.
- Введите существующий БАЗОВЫй URL-адрес сервера MCP. Например,
- На новом сервере MCP:
- Введите имя сервера MCP в службе управления API.
- В базовом пути введите префикс маршрута для средств. Например:
mytools. - При необходимости введите описание сервера MCP.
- Нажмите кнопку "Создать".
- Сервер MCP создается, а операции удаленного сервера предоставляются как средства.
- Сервер MCP отображается на панели серверов MCP . В столбце URL-адреса сервера сервера MCP отображается URL-адрес сервера MCP для вызова тестирования или в клиентском приложении.
Это важно
В настоящее время управление API не отображает средства с существующего сервера MCP. Необходимо зарегистрировать и настроить все средства на существующем удаленном сервере MCP.
Настройка политик для сервера MCP
Настройте одну или несколько политик управления API для управления сервером MCP. Политики применяются ко всем операциям API, предоставляемым в качестве инструментов на сервере MCP. Используйте эти политики для управления доступом, проверкой подлинности и другими аспектами средств.
Дополнительные сведения о настройке политик:
- Политики в управлении API
- Преобразование и защита API
- Установка и изменение политик
- Безопасный доступ к серверу MCP
Осторожность
Не обращаться к тексту ответа с помощью переменной context.Response.Body в политиках сервера MCP. Это приводит к возникновению буферизации ответов, что влияет на поведение потоковой передачи, необходимое для серверов MCP, и может привести к сбоям.
Чтобы настроить политики для сервера MCP, выполните следующие действия.
На портале Azure откройте экземпляр API Management.
В меню слева в разделе API выберите MCP-серверы.
Выберите сервер MCP из списка.
В меню слева в разделе MCP выберите "Политики".
В редакторе политик добавьте или измените политики, которые необходимо применить к средствам сервера MCP. Определите политики в формате XML.
Например, можно добавить политику для ограничения вызовов средств сервера MCP (в этом примере один вызов в 60 секунд на сеанс MCP).
<!-- Rate limit tool calls by Mcp-Session-Id header --> <set-variable name="body" value="@(context.Request.Body.As<string>(preserveContent: true))" /> <choose> <when condition="@( Newtonsoft.Json.Linq.JObject.Parse((string)context.Variables["body"])["method"] != null && Newtonsoft.Json.Linq.JObject.Parse((string)context.Variables["body"])["method"].ToString() == "tools/call" )"> <rate-limit-by-key calls="1" renewal-period="60" counter-key="@( context.Request.Headers.GetValueOrDefault("Mcp-Session-Id", "unknown") )" /> </when> </choose>
Замечание
Управление API оценивает политики, настроенные в глобальной области (все API), прежде чем оценивать политики в области сервера MCP.
Проверка и использование сервера MCP
Используйте соответствующий агент LLM (например, GitHub Copilot, семантический ядро или Copilot Studio) или тестовый клиент (например curl), чтобы вызвать конечную точку MCP, размещенную в службе управления API. Убедитесь, что запрос содержит соответствующие заголовки или маркеры, а также подтвердите успешную маршрутизацию и ответ с сервера MCP.
Подсказка
Если вы используете инспектор MCP для тестирования сервера MCP, управляемого управлением API Management, используйте версию 0.9.0.
Добавление сервера MCP в Visual Studio Code
В Visual Studio Code используйте чат GitHub Copilot в режиме агента для добавления сервера MCP и использования средств. Общие сведения о серверах MCP в Visual Studio Code см. в разделе "Использование серверов MCP в VS Code".
Чтобы добавить сервер MCP в Visual Studio Code, выполните следующие действия.
Используйте команду MCP: Add Server из палитры команд.
При появлении запроса выберите тип сервера : HTTP (HTTP или отправленные события сервера).
Введите URL-адрес сервера MCP в службе управления API. Например,
https://<apim-service-name>.azure-api.net/<api-name>-mcp/mcpдля конечной точки MCP.Введите идентификатор сервера по своему усмотрению.
Выберите, следует ли сохранить конфигурацию в параметрах рабочей области или параметрах пользователя.
Параметры рабочей области . Конфигурация сервера сохраняется только в файле, доступном
.vscode/mcp.jsonтолько в текущей рабочей области.Параметры пользователя — конфигурация сервера добавляется в глобальный
settings.jsonфайл и доступна во всех рабочих областях. Конфигурация выглядит примерно так:
Добавьте поля в конфигурацию JSON для параметров, таких как заголовок проверки подлинности. В следующем примере показана конфигурация ключа подписки для управления API, передаваемого в заголовке в качестве входного значения. Дополнительные сведения о формате конфигурации
Использование средств в режиме агента
После добавления сервера MCP в Visual Studio Code можно использовать средства в режиме агента.
В чате GitHub Copilot выберите режим агента и нажмите кнопку "Сервис ", чтобы просмотреть доступные инструменты.
Выберите один или несколько инструментов на сервере MCP, чтобы быть доступным в чате.
Введите запрос в чате, чтобы вызвать средство. Например, если вы выбрали средство для получения сведений о заказе, вы можете попросить агента о заказе.
Get information for order 2Нажмите кнопку "Продолжить", чтобы просмотреть результаты. Агент использует средство для вызова сервера MCP и возвращает результаты в чате.
Устранение неполадок и известных проблем
| Проблема. | Причина | Решение |
|---|---|---|
401 Unauthorized ошибка из серверной части |
Заголовок авторизации не перенаправлен | Используйте правило set-header для ручного присоединения маркера, при необходимости. |
| Вызов API работает в службе управления API, но завершается сбоем в агенте | Неправильный базовый URL-адрес или отсутствующий маркер | Двойная проверка политик безопасности и конечной точки |
| Потоковая передача сервера MCP завершается ошибкой при включении журналов диагностики | Ведение журнала текста ответа или доступ к тексту ответа через политику вмешивается в транспорт MCP | Отключение ведения журнала текста ответа в области "Все API" — см. предварительные требования |
Связанный контент
Пример: авторизация серверов MCP с защищенными метаданными ресурсов (PRM)
Использование расширения управления API Azure для VS Code для импорта API и управления ими
Регистрация и обнаружение удаленных серверов MCP в Центре API Azure
Предоставление REST API в службе "Управление API" в качестве сервера MCP