MCP 网关概览
AISIX 网关通过聚合的 /mcp 端点代理已注册的模型上下文协议(MCP)工具源。工具源可以是使用 Streamable HTTP 的上游 MCP 服务器,也可以是通过 OpenAPI 文档描述的 REST API。有关 REST API 路径,请参阅把 REST API 公开为 MCP 工具。
MCP 客户端和 Agent 使用 AISIX 调用方 API Key 连接 /mcp,发现该 Key 可以使用的工具并调用它们,而不会获得上游 MCP 服务器的凭证。
这样,工具流量就与模型和 A2A 流量共享相同的身份认证、访问控制和遥测边界。一把调用方 API Key 可以同时治理调用方可使用的模型、可调用的 MCP 工具,以及可访问的 A2A Agent。
AISIX 对每个 MCP 请求执行身份认证,并根据调用方的有效工具授权过滤工具发现。对于 tools/call,AISIX 还会应用限流和安全护栏、检查适用的 AISIX Cloud 预算、使用已配置的上游凭证路由调用,并记录用量遥测。
MCP 网关的工作原理
每个 MCP 服务器都有一个 name。在 AISIX Cloud 中,服务器注册在组织级别,并公开给选定环境。在开源 AISIX 网关中,服务器通常在 resources.yaml 中声明。AISIX 聚合已启用服务器的工具,并以带前缀的名称公开每个工具。
AISIX 使用两个下划线分隔已注册的服务器名称和上游工具名称。例如,github__create_issue 会路由到名为 github 的已注册 MCP 服务器,并调用其名为 create_issue 的上游工具。对于两种管理路径,服务器名称都不能包含保留分隔符 __,也不能以下划线结尾。名称内部可以使用单个下划线,例如 internal_tools。AISIX Cloud 还把名称限制为 56 个字母、数字、下划线、点或连字符,并要求首尾为字母或数字。
开始使用
按照设置 MCP 网关中的步骤,通过 AISIX Cloud 或 resources.yaml 注册上游服务器,把一个工具授予调用方 API Key,并验证允许和拒绝的调用。两种管理路径配置的是同一个网关运行时和 MCP 端点。
客户端连接
MCP 客户端通过 Streamable HTTP 连接 AISIX 代理监听器。使用 /mcp 访问聚合工具面:
| 设置 | 值 |
|---|---|
| 服务器 URL | <gateway-origin>/mcp |
| 传输方式 | Streamable HTTP |
| 请求头 | Authorization: Bearer <caller-api-key> |
调用方 API Key 控制客户端可以发现和调用哪些工具。客户端只连接 AISIX,不会获得上游服务器 URL 或凭证。
治理 MCP 工具调用
MCP 工具调用与模型请求共享相同的调用方 API Key 边界。无需为 MCP 流量配置单独的策略栈。
使用以下指南进一步配置 MCP 路径:
- 控制工具访问:限制每把调用方 API Key 可以列出和调用的工具。
- 限流和预算:应用调用方 API Key 请求和并发限制,并对
tools/call请求使用 AISIX Cloud 预算。 - 安全护栏:检查 MCP 工具参数和结果。
- 可观测性:查看 MCP 工具调用发出的用量事件和指标。
AISIX Cloud 还提供共享的 MCP 访问策略以及服务器审查和批准工作流。