ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

【Azure APIM】通过 API Management 公开现有 MCP Server 的试验 (一)

【Azure APIM】通过 API Management 公开现有 MCP Server 的试验 (一) 随着 GitHub Copilot、Claude、ChatGPT 等 AI 客户端逐渐支持 Model Context ProtocolMCP企业需要以统一、可控的方式向这些客户端提供内部工具。对于已经存在的远程 MCP Server如果直接让客户端访问通常难以统一实施鉴权、限流、审计和网络访问控制。Azure API ManagementAPIM提供了 Expose an existing MCP server公开现有 MCP Server 功能。通过该功能可以将一个外部 MCP Server 接入 APIM由 APIM 作为代理入口对外公开其工具并复用 APIM 的产品、订阅、策略和监控能力。问题描述本文将参考官方文档完成一次试验将 Microsoft Learn MCP Server 通过 APIM 公开(连接和管理现有 MCP 服务器 - Azure API 管理 | Microsoft Learn)并在 Visual Studio Code 中由 GitHub Copilot 调用其工具。本次试验的调用链路如下在本次实验中使用“https://learn.microsoft.com/api/mcp” 作为一个可以访问的MCP Server。操作步骤登录 Azure 门户进入目标 APIM 实例后按以下步骤创建 MCP Server在左侧菜单中选择APIsMCP servers。选择 Create MCP server。选择Expose an existing MCP server。在Backend MCP server区域填写后端 MCP Server 的基础地址。本次试验填写https://learn.microsoft.com/api/mcp在Transport type中选择Streamable HTTP。该选项默认已选中也是当前推荐的 MCP 远程传输方式。在New MCP server区域填写 APIM 中的 MCP Server 名称与基础路径。例如基础路径设为learn/api。可选地将 MCP Server 加入一个 Product。这样客户端便可以通过该 Product 的订阅密钥访问服务。选择Create等待 APIM 创建完成。动态展示图创建完成后复制页面中的“MCP Server URL”作为下一步在VS Code中配置MCP Server的URL。在VS Code中添加MCP配置可以通过命令面板执行MCP: Add Server添加服务器也可以直接在工作区的.vscode/mcp.json中配置。示例配置如下my-mcp-server-apim-learn: { url: https://xxxxxx.azure-api.cn/learn/api/api/mcp, type: http, headers: { Ocp-Apim-Subscription-Key: xxxxxxxxxxxxx } }这里需要注意type 设置为 http用于连接 Streamable HTTP MCP 终结点。APIM 产品启用订阅要求时客户端需在 Ocp-Apim-Subscription-Key 请求头中携带订阅密钥。配置保存后可在 VS Code 中启动该 MCP Server。测试MCP调用在 GitHub Copilot Chat 中切换至 Agent 模式打开 Tools即可看到从 Microsoft Learn MCP Server 发现的工具例如“调用MCP服务来查看APIM的官方指导文档如何配置api内容”实验成功。本文讨论的是“公开已经存在的 MCP ServerVia Proxy”模式。若要把 APIM 中已有的 REST API 直接转换为 MCP 工具应使用“将 REST API 公开为 MCP Server”的功能两者的适用场景不同。参考资料APIM 公开现有 MCP 服务器 : https://learn.microsoft.com/zh-cn/azure/api-management/expose-existing-mcp-server#expose-an-existing-mcp-server当在复杂的环境中面临问题格物之道需浊而静之徐清安以动之徐生。 云中恰是如此!
返回列表