将 REST API 通过 Azure API Management 发布为 MCP Server:从创建、限流策略到 Copilot Agent 调用全指南

发布时间:2026/10/3 17:39:55
将 REST API 通过 Azure API Management 发布为 MCP Server:从创建、限流策略到 Copilot Agent 调用全指南 教程文档人工智能【免费下载链接】mcp-for-beginnersThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.项目地址https://gitcode.com/GitHub_Trending/mc/mcp-for-beginners点击查看免费下载本文是mcp-for-beginners开源课程 09-CaseStudy/apimsample.md 的深度实战解析。你将学会如何把 Azure API ManagementAPIM中已有的 REST API 端点一键发布为 Model Context ProtocolMCP服务器让这些端点以标准「工具」形态接入 Agentic AI 应用并借助 APIM 的策略体系Policy为 MCP 工具叠加限流、认证等治理能力。读完本文你将掌握从「创建 MCP Server」到「在 VS Code 中通过 GitHub Copilot Agent 模式调用工具」的完整可运行链路。为什么选择「MCP Azure API Management」Model Context Protocol 正在快速成为 Agentic AI 应用的标准协议它为 AI 应用提供了一种统一、一致的方式来暴露工具Tool和数据。与此同时Azure API Management 是位于你的 API 端点之上的一层网关服务它像代理一样拦截所有入站请求并决定如何处理这些请求。两者结合非常自然MCP Server 本身常常需要集成其他 API 来响应工具调用请求而 APIM 恰好解决了「谁来管理这些 API」的问题。把 API 端点发布为 MCP Server既能让端点成为 Agentic 应用的一部分又能继续享有 APIM 的完整治理能力安全Security支持 API Key、JWT、托管标识Managed Identity等多种认证方式保护暴露出去的 MCP 工具限流Rate limiting可按时间单位精确控制放行的调用次数避免服务被请求压垮同时保证所有用户都有良好体验缩放与负载均衡Scaling Load balancing可配置多个后端端点分摊负载并自定义「负载均衡」策略AI 能力语义缓存semantic caching、Token 限额、Token 监控等特性既能提升响应速度也能帮助你掌控 Token 开销。在课程的安全模块中APIM 还被定位为 MCP 服务器的「认证网关」02-Security/README.md的安全峰会工作坊Sherpa将「Gateway」列为一个独立营地Camp 2: Gateway强调使用 API Management、Private Endpoints 与治理策略来构筑 MCP 的纵深防御层。可见 APIM 作为 MCP 基础设施的价值已被广泛认可。核心特性一览你可以选择性地把 API 端点中的方法Operations暴露为 MCP 工具——既可以全选也可以只挑部分操作发布后获得的额外能力取决于你在 API 的 Policy 区域配置的策略例如本文演示的限流策略端点以 MCP 工具的形式对外提供客户端如 VS Code Copilot可直接通过自然语言调用。前置步骤导入一个 API如果 Azure API Management 中已有一个 API可以跳过本步。否则需要先把后端 API 导入到 APIM 中例如导入 Swagger/OpenAPI 定义或已有 HTTP 端点。完成后你会得到一个可以在 APIM 中管理、配置策略并发布为 MCP Server 的 REST API。将 API 端点发布为 MCP Server在 Azure Portal 中完成以下操作打开 Azure Portal 并导航到你的 API Management 实例可通过https://portal.azure.com/?Microsoft_Azure_ApiManagementmcp直达 MCP 相关入口。在左侧菜单中依次选择APIs MCP Servers Create new MCP Server。在 API 下拉框中选择一个 REST API作为要发布的 MCP Server 来源。选择一个或多个 API Operations 作为要暴露的工具。你可以全选所有操作也可以只勾选特定操作——这决定了 Agent 最终能看到哪些工具。点击Create完成创建。回到APIs MCP Servers菜单即可在 MCP Servers 面板中看到刚刚创建的 MCP ServerAPI 操作已被暴露为工具同时URL 列展示了该 MCP Server 的端点地址这个地址既可用于测试也可配置到客户端应用中。至此一个可直接被 MCP 客户端调用的服务器就绪了。可选进阶为 MCP Server 配置策略PolicyAzure API Management 的核心概念之一是策略Policy——针对端点设置不同的规则例如限流或语义缓存。策略以XML格式编写。以下步骤演示如何为 MCP Server 配置限流策略在 Portal 中进入APIs MCP Servers。选中你创建的 MCP Server。在左侧菜单的 MCP 分组下选择Policies。在策略编辑器中添加或编辑要应用到该 MCP Server 工具上的策略。例如限制客户端 IP 对 MCP Server 工具的调用频率——每 30 秒每个客户端 IP 最多 5 次调用对应的 XML 如下rate-limit-by-key calls5 renewal-period30 counter-key(context.Request.IpAddress) remaining-calls-variable-nameremainingCallsPerIP /策略参数说明参数含义calls在renewal-period内允许的最大调用次数示例中为 5 次renewal-period限流时间窗口秒示例中为 30 秒counter-key计数依据(context.Request.IpAddress)表示按客户端 IP 维度统计remaining-calls-variable-name保存剩余调用次数的上下文变量名可用于后续策略或响应头输出保存策略后APIM 网关会在每次工具调用时执行该限流规则超过配额即被拒绝。你可以基于同样的模式继续叠加语义缓存、认证等更多策略让 MCP 工具具备完整的 API 治理能力。实战验证在 VS Code 中用 GitHub Copilot Agent 模式调用 MCP 工具传输端点说明[!NOTE] Azure API Management 目前通过Streamable HTTP/mcp端点暴露该服务器。旧式的 HTTPSSE/sse传输已被弃用仅应服务于遗留客户端。因此在客户端配置中请使用形如https://apim-service-name.azure-api.net/api-name-mcp/mcp的 Streamable HTTP 地址。在 VS Code 中注册 MCP Server我们将使用 Visual Studio Code 与 GitHub Copilot 的 Agent 模式把 MCP Server 添加到mcp.json文件中。这样 VS Code 就成为一个具备 Agent 能力的 MCP 客户端用户输入提示词即可与服务器交互。通过命令面板执行MCP: Add Server命令。当被询问服务器类型时选择HTTP (HTTP or Server Sent Events)。输入 API Management 中该 MCP Server 展示的 Streamable HTTP URL例如https://apim-service-name.azure-api.net/api-name-mcp/mcp。输入一个你自定义的服务器 ID——该值不要求严格格式仅用于帮助记住这是哪个服务器实例。选择将配置保存到工作区设置还是用户设置工作区设置Workspace settings配置保存在.vscode/mcp.json仅对当前工作区生效servers: { APIM petstore : { type: http, url: url-to-mcp-server/mcp } }用户设置User settings配置写入全局settings.json对所有工作区生效结构与上面类似。配置认证头Ocp-Apim-Subscription-Key为了让客户端能够正确通过 Azure API Management 的认证还需要添加一个名为Ocp-Apim-Subscription-Key的请求头。在 VS Code 设置界面中直接添加该 Header 时VS Code 会弹出一个提示框要求你输入 API Key 的值——该值可以在 Azure Portal 中对应 API Management 实例里找到。若改用mcp.json配置则可以通过inputs声明一个密码型提示变量并在headers中引用它inputs: [ { type: promptString, id: apim_key, description: API Key for Azure API Management, password: true } ], servers: { APIM petstore : { type: http, url: url-to-mcp-server/mcp, headers: { Ocp-Apim-Subscription-Key: Bearer ${input:apim_key} } } }这样配置后VS Code 会在需要时提示你输入订阅密钥并以请求头形式随每次 MCP 工具调用一并发送完成对 APIM 网关的认证。这与课程 02-Security 中强调的「以网关统一管理认证」思路一脉相承——客户端无需知道后端实现细节只需携带网关颁发的密钥即可。使用 Agent 模式调用工具配置完成后即可开始体验在界面中找到Tools 图标点击后会列出从该 MCP Server 暴露出来的工具清单。在聊天中输入一个自然语言提示来触发工具调用。例如如果之前勾选了「获取订单信息」操作可以输入get information from order 2Agent 会先弹出一个工具调用确认提示选择继续运行该工具后你将看到类似以下的文本输出结果。实际看到的内容取决于你勾选了哪些工具但核心体验是一致的通过自然语言让 Agent 调用 APIM 中发布的 MCP 工具并获得结构化响应。从仓库视角看本案例的定位在mcp-for-beginners课程体系中本案例属于「实战案例」模块。09-CaseStudy/README.md将其归纳为以下学习要点在 Azure API Management 中搭建 MCP Server将 API 操作暴露为 MCP 工具配置限流与安全策略使用 VS Code 与 GitHub Copilot 验证 MCP Server。这与本模块其他案例Azure AI Travel Agents 多代理编排、Azure DevOps 工作流自动化、文档检索等共同展示了 MCP 在不同企业场景中的落地模式。安全维度上02-Security/mcp-security-best-practices.md与02-Security/mcp-best-practices.md均引用了「Azure API Management 作为 MCP 认证网关」的实践说明在 APIM 之上发布 MCP Server 已成为企业级 MCP 部署的推荐架构之一。后续学习路径返回案例总览Case Studies Overview继续学习下一个案例Azure AI Travel Agents 多代理旅行规划了解 MCP 安全基线安全最佳实践其他可参考资源均可在官方文档与示例仓库中检索Azure API Management 的 MCP Server 导出教程、面向 Python 的安全远程 MCP 服务器示例、MCP 客户端授权实验、VS Code 中导入与管理 API 的 APIM 扩展教程、Azure API Center 中注册与发现远程 MCP 服务器以及展示 APIM 多种 AI 能力的 AI Gateway 参考仓库及其工作坊。赞分享教程文档人工智能【免费下载链接】mcp-for-beginnersThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.项目地址https://gitcode.com/GitHub_Trending/mc/mcp-for-beginners点击查看免费下载相关推荐使用 Azure.ResourceManager.ApiManagement (.NET) 管理 Azure API Management从服务创建到策略下发使用 Azure.ResourceManager.ApiManagement .NET 管理 Azure API Management从服务创建到策略下发 导AI 技能AI 插件Higress 物流轨迹 MCP Server 解析用 REST-to-MCP 将快递查询 API 变成 AI Agent 可调用工具Higress 物流轨迹 MCP Server 解析用 REST to MCP 将快递查询 API 变成 AI Agent 可调用工具 本文以 HigressAPI网关后端云原生LLM 网关人工智能MCP 服务Rocket.Chat MCP Server 技术指南以 Streamable HTTP 将 REST API 安全暴露为 MCP 工具Rocket.Chat MCP Server 技术指南以 Streamable HTTP 将 REST API 安全暴露为 MCP 工具 Rocket.Cha即时通讯后端前端上一篇oh-my-openagent 内存子进程 outcome 权威性竞态修复实录publishing/launch/outcome 三标志文件发布顺序的 RED-GREEN 验证下一篇OpenMontage 前端性能优化实践为什么不要在 useMemo 中包裹简单原始类型表达式创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询