将任何 REST API 转换为 Azure API Management 的 MCP 服务器
Source: Dev.to
请提供您希望翻译的文章正文内容,我将为您完整地翻译成简体中文并保留原有的格式、Markdown 语法以及代码块和 URL。
概览
释放您现有 API 的潜能——只需几次点击,即可让它们对 AI 代理友好、可被发现,并可被智能应用程序使用。
现代应用程序不再仅仅是向前端客户端或后端服务提供数据。随着 AI 代理和强大的大语言模型(LLM)驱动工具的兴起,系统应如何暴露和消费 API 的期望正在快速变化。曾经只服务于开发者的 API 现在也需要服务于 AI 代理。 这正是 模型上下文协议(Model Context Protocol,MCP) 的用武之地。
在本文中,您将了解 MCP 为何重要,Azure API Management(APIM)如何充当 AI‑Gateway,以及如何在几分钟内将任意 REST API 转变为 MCP 服务器——无需编写任何后端逻辑。
如果您觉得这篇文章有帮助,我会在 Substack 和 LinkedIn 上分享更深入的解析和其他文章。欢迎在那里关注我,获取更多内容。
什么是 Azure API 管理?
Azure API 管理(APIM)是 Microsoft 提供的全托管服务,位于您的 API 前端,充当客户端与后端服务之间的网关。
在核心功能上,APIM 让您能够:
- 在不更改后端代码的情况下发布现有 API
- 通过身份验证、授权和速率限制来保护 API
- 转换请求和响应(头部、路径、负载)
- 监控使用情况、性能和故障
传统上,APIM 用于以受控、可扩展的方式向开发者公开 API。相同的网关功能也使其非常适合 AI 驱动的使用场景。借助 APIM,您可以在不触及底层服务的前提下,塑造 API 的发现方式、描述方式以及调用方式。
这正是 APIM 能够出色地充当 AI 网关 的原因:它已经在合同层面理解 API,并能够在边缘一致地执行策略。
什么是 MCP 服务器?
MCP(Model Context Protocol)是一种协议,旨在使工具和 API 能够被 AI 代理原生使用。MCP 并不像传统的做法那样把 API 当作不透明的 HTTP 端点,而是定义了一种结构化的方式来公开:
- 有哪些可用的功能
- 每个操作期望的输入是什么
- 它返回的输出是什么
- AI 代理应如何安全、正确地调用它
MCP 服务器就是以 MCP 兼容方式公开这些功能的服务。可以把它想象成 AI 工具的 USB。

正如 USB 提供了一个标准接口,使任何兼容的设备都能在不需要自定义驱动的情况下插入任意电脑,MCP 为 AI 代理提供了一种标准方式来发现、理解和使用工具、数据库、API 等。一旦 API 通过 MCP 可用,AI 代理就可以:
- 发现它
- 对其进行推理
- 将其作为工具调用——无需自定义胶水代码或硬编码提示
核心理念: MCP 将 API 转变为 AI 代理的一级工具。
将 MCP 与 Azure API Management 结合使用,你可以包装现有的 REST API,瞬间让它们具备 AI 可用性——无需重写服务、添加新后端或维护自定义适配器。
从零开始在 Azure API Management 中实现 MCP
前置条件
- Azure 订阅
- 创建 API Management 实例的权限
- 一个公开的 REST API(我使用了免费且开放的 SWAPI)
步骤 1 – 创建新的 Azure API Management 实例
- 在 Azure 门户,进入 创建资源 → 搜索 API Management。
- 填写基本信息:
- 资源组: 创建一个新资源组(例如
rg-mcp-demo) - 地区: 选择最近的区域
- 名称: 必须全局唯一(它会成为网关主机名的一部分)
- 组织名称 / 管理员邮箱: 必填字段
- 资源组: 创建一个新资源组(例如
- 选择适合演示的定价层:实验时请选择开发者友好的选项(但 不要 选 Consumption)。
- 点击 创建,等待 APIM 实例完成部署。
注意: 在 Azure API Management 中使用 Consumption 定价层时,MCP 服务器导出目前不可用。

步骤 2 – 在 APIM 中创建新的 HTTP API(使用 SWAPI)
- 在你的 APIM 实例中,导航到 APIs → + Add API。
- 选择 HTTP。
- 设置如下:
- 显示名称:
SWAPI - Web 服务 URL:(SWAPI 的基础 URL)
- API URL 后缀(可选):
swapi(这将在你的网关上形成/swapi/...)
- 显示名称:
- 点击 Create。

步骤 3 – 添加要公开的 GET 操作
在 APIM 中新建的 SWAPI API 内:
-
点击 + Add operation。
-
为每个资源创建一个 GET 操作:
GET /peopleGET /planets- (根据需要添加其他端点,如
/films、/species等)
-
对每个操作进行配置:
- 显示名称(例如 “Get People”)
- URL 模板(例如
/people) - 方法:
GET - 响应: 可选地添加示例响应以帮助发现
-
保存操作。
步骤 4 – 启用 MCP 导出
- 在 APIM 门户,进入 APIs → 选择你的 SWAPI API → Settings。
- 打开 Export to Model Context Protocol(或类似的开关)。
- 选择要公开的 MCP 版本(例如
v1)。 - 保存设置。APIM 将为该 API 生成兼容 MCP 的描述文件。
步骤 5 – 测试 MCP 端点
你可以通过以下方式获取 MCP 定义:
GET https://<your-apim-instance>.azure-api.net/mcp/v1/swagger.json
确认返回的 JSON 包含你添加的操作。
步骤 6 – 连接到 ChatGPT(或其他 LLM)
-
在 OpenAI Playground(或你喜欢的 LLM 界面)中,使用上一步的 MCP 定义 URL 添加一个 自定义工具。
-
为工具命名(例如
SWAPI),并可选地填写简短描述。 -
运行类似下面的提示:
“查找卢克·天行者出生的星球名称。”
LLM 将会:
- 通过 MCP 架构发现
GET /planets操作。 - 推断所需的参数。
- 调用 APIM 网关(
https://<your-apim-instance>.azure-api.net/swapi/planets/1/)。 - 将结果返回到聊天中。
你应该在响应中看到正确的星球名称(例如 “Tatooine”),从而验证端到端功能正常。
回顾
- MCP 为 API 提供了一个标准、友好的 AI 合约。
- Azure API Management 只需几次点击即可将任何现有的 REST API 以 MCP 服务器的形式公开。
- 不需要更改后端代码——APIM 负责发布、 安全、转换以及 MCP 导出。
- 一旦公开,AI 代理(ChatGPT、Claude、Gemini 等)就可以像本地工具一样发现并调用你的 API。
尝试将自己的 API 接入其中,你将立即让它们可被下一代 AI 驱动的应用程序使用。 🚀
Source: …
API 管理 – MCP 启用演练
第 3 步 – 向 API 添加操作
GET /speciesGET /vehiclesGET /starships
提示: 添加操作后,点击 Save(保存)。

第 4 步 – 从 APIM 测试 API
- 在操作(例如
GET /people)中,打开 Test(测试)选项卡。 - 点击 Send(发送)。
- 验证你收到的是有效的 JSON 响应。

第 5 步 – 从现有 API 创建 MCP 服务器(APIM → MCP)
- 在你的 APIM 实例菜单中,进入 APIs → MCP servers。
- 点击 + Create MCP server(创建 MCP 服务器)。
- 选择 Expose an API as an MCP server(将 API 暴露为 MCP 服务器)。
- 选择:
- 你创建的 API(
SWAPI)。 - 你想作为工具公开的操作(选择所有已添加的 GET 操作)。
- 你创建的 API(
- 点击 Create(创建)。
APIM 将生成一个描述你的工具并支持代理式调用的 MCP 端点。

第 6 步 – 在 AI 主机中使用 MCP 服务器
你的 API 现在已启用 MCP,可以被以下方式消费:
- ChatGPT
- Visual Studio Code
- 任何 MCP 兼容的主机或代理
主机连接到 MCP 服务器 URL,发现可用工具后即可立即开始调用你的 API——无需自定义提示、胶水代码或后端更改。

这种模式真正发挥作用的地方
将 REST API 转换为 MCP 服务器不仅仅是便利;它改变了 API 在现代 AI 驱动系统中的参与方式。
- 代理动态发现工具,而不是依赖硬编码的端点。
- 对能力进行推理 取代了静态的客户端逻辑。
- 链式调用 在没有定制编排的情况下变得自然。
APIM 已经处理了版本管理、安全、限流和可观测性。MCP 只是在 AI 代理能理解的语言中暴露这些能力。
理想场景
- 企业 API 难以轻易修改但需要 AI 访问。
- 遗留系统,直接添加代理逻辑风险高或速度慢。
- 平台团队 寻求一种统一、受治理的方式向组织内的 AI 暴露工具。
与其让每个团队自行构建自定义的 “AI 适配器”,不如将责任集中在网关——它本该在的地方。
需要牢记的重要事项
- 定价层级很重要 – MCP 导出在 Consumption 层级不受支持;请选择合适的计划。
- 工具设计仍然重要 – MCP 不能修复设计不佳的 API。清晰的操作名称、合理的输入以及可预测的输出是必不可少的。
- 安全性被放大 – AI 代理可以比人类更频繁且更具创造性地调用工具。速率限制、身份验证和作用域是必需的。
- 可观测性变得至关重要 – MCP 让调用 API 更容易;APIM 则让你更容易看到谁调用了什么以及原因。充分利用这些数据。
底线: 将 MCP 暴露视为 产品决策,而不仅仅是技术开关。你正在定义智能系统如何与你的业务逻辑交互。