MCP会取代APIGateway吗

24 阅读12分钟

MCP 会取代 API Gateway 吗?不会,但它会改变 Gateway 的上层入口

API Gateway 管的是 API 流量和服务入口,MCP 管的是 AI 应用如何发现、理解和调用工具。两者有交集,但不在同一层。

MCP 火起来之后,一个很自然的问题出现了:

既然 MCP Server 可以把企业 API 暴露成 Tool,支持认证、远程调用和流式返回,企业还需要 API Gateway 吗?

短答案是:需要。

MCP 不会简单取代 API Gateway。更可能发生的是,API Gateway、AI Gateway 和 MCP Gateway 逐步融合,MCP 成为 Agent 面向企业能力的新入口,原有网关继续处理流量、安全、路由和运维治理。

Azure API Management 已经给出了一个很直白的信号:它可以把受管 REST API 的一个或多个 Operation 暴露成 MCP Tool,同时继续应用 API Management 的产品、订阅、认证、限流、策略和监控能力。

这不是“MCP 干掉 Gateway”,而是 Gateway 开始理解 MCP。

API Gateway 原本解决什么问题

AWS 对 API Gateway 的定义很清楚:创建、发布、维护、监控和保护 REST、HTTP 与 WebSocket API,并在规模化调用下处理流量管理、授权和访问控制、监控以及 API 版本管理。

换成企业架构语言,API Gateway 主要负责:

  • 接住来自不同客户端的网络请求;
  • 完成域名、路由、协议和后端服务映射;
  • 验证 Token、API Key、签名或客户端身份;
  • 执行限流、配额、熔断与部分重试策略;
  • 应用 WAF、IP、网络区和安全策略;
  • 做版本、灰度、流量拆分和后端切换;
  • 记录访问日志、指标和调用链;
  • 保护内部微服务不直接暴露给外部调用者。

它像企业服务的“前门”。无论调用者是网页、手机 App、合作伙伴系统还是后台服务,请求先经过这道门,再进入后端业务系统。

API Gateway 并不关心调用者是不是大模型。它也不负责告诉模型“哪个接口适合完成取消未发货订单这项任务”。

MCP 增加的是模型可理解的调用层

MCP 官方架构把系统分成 Host、Client 和 Server:

MCP Host(AI 应用)
  → MCP Client
    → MCP Server

协议的数据层基于 JSON-RPC,定义能力发现和 Tool、Resource、Prompt 等原语;传输层负责连接、消息封装和认证。

其中 Tool 的关键价值不是“又多了一种 RPC”。它让 AI 应用能够:

  1. 发现当前有哪些工具;
  2. 读取工具名称、描述和参数 Schema;
  3. 根据任务选择工具;
  4. 生成调用参数;
  5. 获取结构化执行结果。

传统 API 文档主要写给程序员和确定性客户端。MCP Tool 的描述则直接进入 Agent 的决策上下文。

这带来一个重要变化:过去由开发人员在代码里固定选择 API,现在模型也参与选择调用哪个能力、何时调用以及参数如何生成。

因此,MCP 新增的不只是协议入口,还新增了一个由模型参与的能力发现和动作选择平面。

为什么两者看起来越来越像

MCP Server 和 API Gateway 确实存在一些重叠能力:

  • 都能暴露远程端点;
  • 都要认证调用者;
  • 都可能执行路由和协议转换;
  • 都需要限流、日志和监控;
  • 都可以隐藏内部服务地址;
  • 都可能聚合多个后端能力。

如果一个团队自己建设远程 MCP Server,很容易顺手加入 OAuth、限流、审计和后端路由。做着做着,它就带有了网关特征。

反方向也一样。传统 API 管理产品开始支持把 REST Operation 直接暴露成 MCP Tool,并治理已有 MCP Server。Azure API Management 当前已经支持:

  • 选择受管 REST API 的部分 Operation 暴露为 Tool;
  • 给 MCP Server 关联 Product 和 Subscription;
  • 使用策略控制访问与认证;
  • 对 Tool 调用做限流;
  • 记录调用者的 Agent ID;
  • 监控和治理现有 MCP Server。

边界正在融合,但融合不代表替代。

浏览器和 API Gateway 都使用 HTTP,也没有因此互相取代。MCP 与 Gateway 同样需要按职责区分,而不是按“是否支持 HTTP、OAuth 和日志”判断谁替代谁。

MCP 没有自动继承 Gateway 的能力

部署一个 MCP Server,不会自动得到成熟 API Gateway 的全部能力。

企业仍要回答:

  • 多区域流量如何切换;
  • WAF 和网络访问策略由谁执行;
  • 租户配额如何隔离;
  • 后端超时和熔断怎样设置;
  • API 版本和灰度如何管理;
  • 证书、域名与私网连接如何治理;
  • 大规模访问日志和指标写到哪里;
  • 哪些敏感字段禁止进入日志;
  • 现有 REST、事件和内部服务如何统一接入。

这些能力并不是 MCP 的核心目标。

MCP 官方文档也明确限定了范围:MCP 聚焦上下文交换协议,不规定 AI 应用如何使用大模型或管理获得的上下文。协议定义了参与方、数据层、传输层和原语,但不会替企业设计完整流量治理平台。

一个能运行的 MCP Server 和一个可运营的企业能力入口,仍然是两件事。

Gateway 也不理解 Agent 的全部风险

反过来,现有 API Gateway 也不能直接解决 Agent 场景的全部问题。

它通常能判断:

这个 Token 能否调用 POST /orders/{id}/cancel

但 Agent 场景还要判断:

这个 Agent 是否被允许代表当前用户执行?
本次任务委托是否包含取消订单?
模型为什么选择这个 Tool?
单次任务最多可以处理多少订单?
工具描述或参数 Schema 是否发生了变化?
这次动作是否需要人工确认?
调用失败后是否允许自动重试?
最终业务状态是否已经读回?

传统 Gateway 看到的是请求。Agent 控制面还需要看到任务、委托、工具目录、模型决策、执行预算和动作结果。

这就是为什么企业不能只在 API Gateway 前面加一层 /mcp 路由,就认为 Agent 治理已经完成。

更合理的四层架构

可以把企业 Agent 的调用链拆成四层:

Agent Host / MCP Client
  ↓
MCP Control Plane / MCP Gateway
  ↓
API Gateway / Service Mesh
  ↓
Action Service / 业务系统

第一层:Agent Host 与 MCP Client

负责模型交互、任务规划、工具选择、参数生成和用户体验。

这一层不能拥有最终授权权。模型可以提出 Action Proposal,但不能因为“它认为应该调用”就直接获得业务权限。

第二层:MCP Control Plane

负责 Agent 场景特有的治理:

  • MCP Server 和 Tool 注册发现;
  • 基于用户、Agent、任务和环境过滤工具;
  • Tool Schema 和版本管理;
  • Agent Identity 与 Delegation 校验;
  • 每次任务的调用次数、金额和批量预算;
  • 高风险动作确认与审批;
  • Tool 调用审计;
  • Tool 变更通知和紧急下线。

它可以由专门的 MCP Gateway 实现,也可以是现有 API Management 产品增加的一组 MCP 能力。

第三层:API Gateway 与 Service Mesh

继续处理成熟的流量和服务治理:

  • 网络入口;
  • TLS 与私网连接;
  • 路由和负载均衡;
  • 认证与基础访问控制;
  • 限流、配额、熔断;
  • 灰度和版本;
  • WAF、日志、指标和追踪。

MCP Control Plane 不应复制所有这些能力。

第四层:Action Service 与源业务系统

负责真正的业务正确性:

  • 记录级和字段级权限;
  • 订单、合同、付款等状态机;
  • 职责分离和业务审批;
  • 幂等、Expected Version 与事务;
  • 跨系统 Saga 和补偿;
  • 执行后状态读回;
  • 源系统最终 Deny。

API Gateway 的 200 响应不等于业务动作已经完成,MCP Tool 的成功返回也不等于现实状态已收敛。最终结果必须回到业务层验证。

一次生产 Tool 调用应该怎样通过这四层

假设用户让 Agent 取消一张尚未发货的订单。

理想链路不是:

模型 → 通用 HTTP Tool → DELETE /orders/123

而是:

1. Agent 选择 cancel_unshipped_order
2. MCP 层确认该 Tool 对当前 Agent 和任务可见
3. PDP 校验用户、Agent、委托、数量和风险条件
4. API Gateway 验证 Token、Audience、路由、配额和网络策略
5. Action Service 校验订单所有者、订单版本和未发货状态
6. 业务系统执行取消和退款状态迁移
7. Action Service 使用幂等键避免重复取消
8. 系统读回最终订单状态
9. 审计关联 Subject、Actor、Client、Delegation 和 Action ID

每层都在回答不同的问题。

MCP 层的 Allow 不能覆盖源系统 Deny;API Gateway 放行网络请求,不代表业务动作获准;业务动作成功,也必须留下可关联的 Agent 与委托证据。

什么时候不需要专门的 MCP Gateway

不是所有项目都要新增一套平台。

以下场景可以保持简单:

  • 本地开发工具;
  • 单用户桌面 Agent;
  • 内部低风险只读查询;
  • 只有少量 MCP Server;
  • 不涉及跨租户和高风险业务写入;
  • 现有 API Gateway 已能满足网络、安全和监控要求;
  • MCP Server 自身可以完成精确身份和工具治理。

此时可以让 MCP Server 直接调用已有 API Gateway 后的服务:

MCP Client → MCP Server → API Gateway → Backend

不要为了追逐架构名词再增加一个“Gateway”。多一跳不等于多一层安全,重复鉴权、重复重试和重复日志反而会制造新的故障。

什么时候应增加 MCP 治理层

出现以下任意几个信号时,独立 MCP 治理层开始有价值:

  • 企业存在大量 MCP Server 和 Tool;
  • 多种 Agent Host 共享同一批企业能力;
  • 需要按用户、Agent、任务动态过滤 Tool;
  • Tool Schema 变更可能影响大量 Agent;
  • 有跨租户、跨区域或合作伙伴调用;
  • Agent 可以执行生产写操作;
  • 需要统一委托、调用预算和高风险审批;
  • 需要紧急下线某个 Tool 或 Agent Version;
  • 需要把一次业务动作关联到模型、Agent、用户和审批证据。

这时建设的不是另一个普通反向代理,而是 Agent 能力控制面。

三种常见错误

错误一:把 MCP Server 当成新的微服务入口

团队绕过现有 API Gateway、IAM、WAF 和监控,直接把 MCP Server 暴露到公网。结果是已有治理能力全部重建一遍,而且通常更不成熟。

错误二:把 API Operation 一键导出成 Tool 就直接上线

协议转换成功只证明 Agent 能调用,不能证明 Tool 名称、描述、参数范围、授权粒度、批量影响和重试行为适合模型使用。

一个 PATCH /customers/{id} 即使能自动导出为 Tool,也未必应该进入生产工具目录。

错误三:MCP 层和 Gateway 层同时重试写操作

模型重试、MCP Client 重试、MCP Gateway 重试、API Gateway 重试和 SDK 重试叠加,可能把一次请求放大成多次副作用。

生产写操作必须使用业务幂等键,并明确只有哪一层拥有重试权。结果不确定时先读回和对账,不要盲目重放。

推荐的落地顺序

第一步,盘点现有 API Gateway、IAM、工作流和业务 Action,不要先建设新的 MCP 平台。

第二步,把少量只读或低风险业务命令封装成 MCP Tool,仍通过原 Gateway 进入业务系统。

第三步,增加 Tool Registry、版本、Schema 审查和动态可见性,区分“可发现”“可调用”和“业务获准”。

第四步,为生产写操作补充 Agent Identity、任务委托、调用预算、人工审批、幂等和最终读回。

第五步,当 MCP Server 和 Agent Host 数量明显增加后,再把重复的注册、策略、审计和 Kill Switch 收敛为 MCP Control Plane。

这个顺序能避免一上来就建设一个功能庞大、却没有真实流量验证的“超级 Agent Gateway”。

结论

MCP 不会取代 API Gateway,因为两者的核心职责不同:

MCP:让 AI 应用发现、理解和调用能力
API Gateway:让网络请求安全、稳定、可运营地进入后端
Action Layer:保证业务动作正确、可恢复、可审计

三者会融合,但不会压缩成一个无边界的万能网关。

未来更常见的产品形态,可能不是单独购买一个 MCP Gateway,再单独维护一套 API Gateway,而是现有 API 管理平台原生理解 MCP,企业 Agent 平台在其上增加 Tool、Agent Identity、Delegation 和 Action Contract 治理。

所以真正值得问的不是“MCP 会不会替代 API Gateway”,而是:

当调用者从确定性程序变成会自主选择工具的 Agent,现有 Gateway 上方还缺哪一层控制?

这层控制需要补上,但不必把下面已经成熟的网关推倒重来。


参考资料

  1. MCP Architecture Overview(2026-07-28)
  2. MCP Authorization
  3. What is Amazon API Gateway?
  4. Azure API Management:Expose REST API as MCP server
  5. OAuth 2.0 Token Exchange(RFC 8693)

发布摘要

MCP 会取代 API Gateway 吗?不会。MCP 解决 AI 应用如何发现和调用工具,API Gateway 负责流量、安全、路由和运维治理,Action Layer 则保证业务副作用正确。本文结合 MCP 官方架构、AWS API Gateway 和 Azure API Management 的官方能力,拆解企业 Agent 调用链的四层分工,并讨论什么时候需要 MCP Gateway,什么时候只会增加无效复杂度。

标签

AI Agent MCP API Gateway AI Gateway 企业架构 IAM OAuth 微服务 架构设计