将 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),仅供参考

相关新闻

深度拆解|1752vc Pitch Deck Analyzer 底层技术架构与核心算法原理

深度拆解|1752vc Pitch Deck Analyzer 底层技术架构与核心算法原理

摘要:1752vc Pitch Deck Analyzer 是目前VC赛道落地成熟度极高的多模态AI路演文稿分析系统,区别于传统文档AI工具的浅层文本识别能力,该系统依托25000真实投融资路演样本、4000年度初创企业尽调数据训练,实现了面向投融资场景的专…

2026/10/3 17:38:04 阅读更多 →
达梦数据库-学习-70-IDENTITY转AUTO_INCREMENT

达梦数据库-学习-70-IDENTITY转AUTO_INCREMENT

目录 一、环境信息 二、背景描述 三、操作步骤 1、生成数据 2、修改列属性 3、删除列属性 4、加列属性 5、查询表数据 6、全表插入数据 7、单列插入数据 8、查验数据 一、环境信息 名称值CPUX86操作系统CentOS Linux release 8.5.2111内存4G逻辑核数5DM版本9.1.0.26…

2026/10/3 17:38:03 阅读更多 →
从“聊天记录”到“决策记忆”: Slack × Anthropic 揭示的人机团队知识基础设施

从“聊天记录”到“决策记忆”: Slack × Anthropic 揭示的人机团队知识基础设施

目录 一、被最终文档遮蔽的知识:决定是怎样形成的 (一)结论知识与过程知识不是同一种资产 1、决策上下文至少回答五个问题 2、被否决的方案往往比获胜方案更能防止重复劳动 (二)企业知识的三次压缩 二、Slack A…

2026/10/3 17:38:03 阅读更多 →

最新新闻

软考数据库系统工程师:关系代数核心考点与解题全攻略

软考数据库系统工程师:关系代数核心考点与解题全攻略

距离软考数据库系统工程师考试还有一段时间的时候,总有人问我:关系代数到底怎么学?教材翻来翻去就那几页,选择、投影、连接、除运算看起来也不复杂,可一到真题就懵,尤其是那些带“全部”“至少”“没有”字…

2026/10/3 18:13:06 阅读更多 →
多目标优化驱动冷热电联供系统运行:CCHP调度实战解析

多目标优化驱动冷热电联供系统运行:CCHP调度实战解析

“这个电价下,光靠燃气轮机跟吸收式溴化锂配合,很可能比不过‘电制冷燃气锅炉’的常规路子!”——这是我第一次把完整冷热电联供(CCHP)模型跑通、拿到初步帕累托前沿时,对着合伙人说的第一句话。做综合能源…

2026/10/3 18:13:06 阅读更多 →
冷热电联供系统多目标优化实战:NSGA-II建模与调参全记录

冷热电联供系统多目标优化实战:NSGA-II建模与调参全记录

做综合能源系统优化这几年,冷热电联供(CCHP)一直是我觉得最有嚼头的方向。单个设备的热力计算不难,但把燃气轮机、余热锅炉、吸收式制冷机、电制冷机、储能装置捏成一个整体,再让它同时满足冷、热、电三种负荷的需求&a…

2026/10/3 18:13:06 阅读更多 →
MySQL连接与SQL查询优化:从握手到执行计划的完整排查指南

MySQL连接与SQL查询优化:从握手到执行计划的完整排查指南

干后端这几年,MySQL 的日常工作中我听到最多的两句话,一句是“连不上数据库了”,另一句是“这条 SQL 怎么这么慢”。表面上看这是两个独立的问题,一个发生在连接阶段,一个发生在查询阶段,但如果你把从连接数…

2026/10/3 18:13:05 阅读更多 →
MySQL连接与查询全链路解析:从安装配置到报错排查实战

MySQL连接与查询全链路解析:从安装配置到报错排查实战

干后端开发这几年,MySQL的“连接-查询”这条链路,几乎每天都要走好几遍。但很多人遇到问题——连不上、连上了卡死、查询慢、报错莫名其妙——其实都是对这条链路缺少整体认识。这篇就把“从连接数据库到查询全过程”拆开讲透,从安装配置、连…

2026/10/3 18:13:05 阅读更多 →
OpenShell命令行工作台:SSH会话管理、命令模板与多机批量实践

OpenShell命令行工作台:SSH会话管理、命令模板与多机批量实践

1. 项目定位与整体设计思路1.1 OpenShell到底是什么我先说结论:OpenShell 并不是某个单一的开源终端模拟器,也不是又一个套壳 Web 终端的玩具项目。它更像是一个面向开发者、运维人员和技术管理者的“命令行工作台”——把日常工作中高频使用的 SSH 会话…

2026/10/3 18:12:02 阅读更多 →

日新闻

把回忆蒸馏成 AI 的浪漫实验:为什么你需要前任.skill 完整指南

把回忆蒸馏成 AI 的浪漫实验:为什么你需要前任.skill 完整指南

把回忆蒸馏成 AI 的浪漫实验:为什么你需要前任.skill 完整指南 【免费下载链接】ex-skill 前任 skill 项目地址: https://gitcode.com/gh_mirrors/exsk/ex-skill 前任.skill 是一个运行在 Claude Code 上的开源 Skill:导入微信、iMessage、短信、…

2026/10/3 0:00:27 阅读更多 →
45个经典Linux面试题:从命令到网络排障的完整考点解析

45个经典Linux面试题:从命令到网络排障的完整考点解析

刚开始带应届生的时候,我最头疼的就是他们拿着一摞Linux面试题背得滚瓜烂熟,一上机全露馅。后来自己从被面的人变成面别人的人,才慢慢摸清楚:Linux面试题考的根本不是答案本身,而是你面对一个不确定的系统问题时&#…

2026/10/3 0:01:28 阅读更多 →
SAP生产预留实战指南:MB21/MB23/MB25协同与MRP集成

SAP生产预留实战指南:MB21/MB23/MB25协同与MRP集成

简介:本资源是一份面向SAP ABAP开发人员、生产计划专员及ERP实施顾问的实操型操作指南,聚焦SAP生产预留核心业务场景,系统解决物料预留创建、查询、校验与批量处理等高频问题。文档以结构化方式覆盖预留背景原理、OMC2编码规则、工厂级参数配…

2026/10/3 0:01:28 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/3 9:14:33 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/3 9:47:50 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/3 9:42:31 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:35 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/3 9:42:36 阅读更多 →