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

简介: 本文介绍如何利用Azure API Management(APIM)代理公开现有MCP Server,实现统一鉴权、限流、审计与网络管控。通过APIM暴露Microsoft Learn MCP服务,并在VS Code中配置GitHub Copilot调用,验证AI工具集成方案。

随着 GitHub Copilot、Claude、ChatGPT 等 AI 客户端逐渐支持 Model Context Protocol(MCP),企业需要以统一、可控的方式向这些客户端提供内部工具。

对于已经存在的远程 MCP Server,如果直接让客户端访问,通常难以统一实施鉴权、限流、审计和网络访问控制。

 

Azure API Management(APIM)提供了 Expose an existing MCP server(公开现有 MCP Server) 功能。

通过该功能,可以将一个外部 MCP Server 接入 APIM,由 APIM 作为代理入口对外公开其工具,并复用 APIM 的产品、订阅、策略和监控能力。

问题描述

本文将参考官方文档完成一次试验:将 Microsoft Learn MCP Server 通过 APIM 公开(https://learn.microsoft.com/zh-cn/azure/api-management/expose-existing-mcp-server#expose-an-existing-mcp-server),并在 Visual Studio Code 中由 GitHub Copilot 调用其工具。

本次试验的调用链路如下:

在本次实验中,使用“https://learn.microsoft.com/api/mcp” 作为一个可以访问的MCP Server。

 

操作步骤

登录 Azure 门户,进入目标 APIM 实例后,按以下步骤创建 MCP Server:

  1. 在左侧菜单中选择 APIs > MCP servers。
  2. 选择 + Create MCP server。
  3. 选择 Expose an existing MCP server。
  4. 在 Backend MCP server 区域填写后端 MCP Server 的基础地址。本次试验填写:https://learn.microsoft.com/api/mcp
  5. 在 Transport type 中选择 Streamable HTTP。该选项默认已选中,也是当前推荐的 MCP 远程传输方式。
  6. 在 New MCP server 区域填写 APIM 中的 MCP Server 名称与基础路径。例如基础路径设为 learn/api。
  7. 可选地将 MCP Server 加入一个 Product。这样客户端便可以通过该 Product 的订阅密钥访问服务。
  8. 选择 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 Server(Via 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

 

 



当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
3月前
|
存储 安全 调度
Agent 五大工程体系:Prompt、Context、Loop、Graph 与 Harness
本文提出Agent五大工程体系:Prompt(提示词)、Context(上下文)、Loop(循环)、Graph(图)与Harness(运行时),构建分层分析框架。聚焦控制对象——措辞、信息构成、时间节奏、空间结构与系统运营,助力开发者精准定位问题、理解Runtime本质,告别机制混淆。
524 1
|
3月前
|
人工智能 JavaScript Linux
让 Claude Code 用我已经登录的浏览器——ego-lite 这个设计太实用了
ego-lite是Citro Labs推出的AI浏览器,让Agent直接复用你的日常登录态,无需重复登录或绕过2FA。通过隔离Space实现任务隔离与状态共享,Snapshot技术将页面token降低99%,支持macOS,已获周增4700 Star。
1023 1
|
3月前
|
人工智能 数据安全/隐私保护 C++
ComfyUI vs SD WebUI vs Midjourney,该如何选择?
本文深入对比Midjourney等整合型AI绘图工具与ComfyUI等分离型工具,指出后者凭借低迁移成本、高自由度与可定制工作流优势,更适合设计师及专业创作者。强调在AI快速迭代时代,掌握ComfyUI更能适配未来需求。(239字)
|
3月前
|
前端开发 安全 Java
Java编程规范避坑指南:阿里开发手册15条强制规约实战解析
Java编程规范避坑指南:读阿里《Java开发手册》,把 15 条最容易造成线上故障的强制规约整理成清单,覆盖命名、日期、集合、并发,照着改能少踩一个坑。
282 1
Java编程规范避坑指南:阿里开发手册15条强制规约实战解析
|
3月前
|
人工智能 自然语言处理 安全
【AI时代软件项目管理系列】开篇:当软件项目团队中多了 AI,我们需要怎样的项目管理
AI正深度融入软件研发全流程,从代码生成到AI Agent协同作业,推动项目管理从“管人”转向“管人+AI”。本文探讨AI提效背后的新型挑战——范围膨胀、责任模糊、质量风险等,并提出重构项目管理体系的方法论,聚焦人机协作边界、审核机制与落地工具。
268 2
【AI时代软件项目管理系列】开篇:当软件项目团队中多了 AI,我们需要怎样的项目管理
|
3月前
|
JSON 自然语言处理 监控
ICP备案查询 API 接口教程:域名备案信息实时核验与合规监控
本文是面向开发者与企业技术决策者的客观技术教程,介绍ICP备案查询接口的能力、接入方式、计费模式与最佳实践。内容基于阿里云云市场公开文档,涵盖实时核验、结构化返回、多语言支持、按量计费等核心特性,供接入前评估参考。
592 0
ICP备案查询 API 接口教程:域名备案信息实时核验与合规监控
|
3月前
|
SQL 数据采集 监控
别再堆工具了!从 0 到 1 搭建小型生产级数据平台,只需要这份落地清单
别再堆工具了!从 0 到 1 搭建小型生产级数据平台,只需要这份落地清单
205 1
|
3月前
|
前端开发 API C++
【Azure APIM】通过 API Management 公开API为 MCP Server 的试验 (二)
本文详解如何将 Azure API 管理(APIM)中已有的 REST API(如 Echo API)快速配置为 MCP 服务器,涵盖创建步骤、VS Code 配置、常见连接错误(如 SSE 流终止)及关键规避方案——禁用全局响应日志有效负载记录,并建议仅暴露单个 GET 操作以确保稳定。
195 1
|
3月前
|
人工智能 Rust JavaScript
单会话 27.8 MB,比 Claude Code 省 13 倍内存——我试了 Rust 写的 jcode
jcode是Rust编写的轻量级AI编程Agent框架,单会话仅占27.8MB内存(比Claude Code省13倍),冷启动仅14ms。支持多会话并行、Swarm协作与可选本地embedding,专为内存受限设备(如8GB MacBook Air)优化,兼顾性能与灵活性。(239字)
348 3
|
3月前
|
人工智能 负载均衡 API
一个端点接 290 家 AI 服务商--我拆解了周增 7700 Star 的 OmniRoute
OmniRoute 是一款 MIT 协议的本地 AI 网关(TS 编写),聚合 290+ 服务商、500+ 模型,提供 OpenAI 兼容接口。支持智能 Combo 路由、12 因子 auto 选模、三层弹性容错与 RTK 等 12 种 Token 压缩引擎,显著提升免费额度利用率与稳定性。(239 字)
466 1