限流和预算
对于 MCP 流量,调用方 API Key 仍是流量控制边界。MCP 工具调用与模型流量共享该 Key 的请求和并发限制,但不消耗模型 Token。在 AISIX Cloud 中,它们还受覆盖同一调用方 API Key 的预算约束。
调用方 API Key 还可以为其访问的每个 MCP 服务器单独设置限额。这样,Agent 在一个服务器上循环调用时 ,不会耗尽同一 Key 访问其他服务器所需的限额。请在 resources.yaml 或 AISIX Cloud 中配置这些限额,然后在 MCP 路径上验证行为。预算仅在 AISIX Cloud 中可用,始终作用于整个 Key,且没有按服务器设置。
前置条件
开始前,请准备以下环境:
- 对于 AISIX Cloud,准备一个环境、一把调用方 API Key 和写入作用域管理员 Token。对于本地部署,请按照 AISIX Cloud 快速入门操作。若要申请混合云访问权限,请联系 API7。
- 对于开源 AISIX 网关,在
resources.yaml中准备一把调用方 API Key 和已注册的 MCP 服务器。设置 MCP 网关提供了可运行的配置以及验证和重新加载工作流。 - AISIX Cloud 示例需要 cURL。
控制的应用范围
网关仅对 tools/call 请求应用限流和预算检查。MCP 握手(包括 initialize)以及通过 tools/list 进行的工具发现不会被限流。被限流的调用方仍可连接并列出其 Key 允许的工具,但必须等到窗口重置后才能再次调用工具。
限流或预算拒绝工具调用时,AISIX 会在联系上游 MCP 服 务器前返回,并且仍会把被拒绝的调用记录为用量事件。
适用的限流
调用方 API Key 的 rate_limit 对象可以定义请求速率、Token 速率和并发限制。在 MCP 路径上,只有请求速率和并发限制直接计量工具调用:
| 限制 | 是否应用于 MCP 工具调用 | 说明 |
|---|---|---|
rps、rpm、rph、rpd | 是 | 每个 tools/call 在对应窗口内计为一个请求。 |
concurrency | 是 | 每个进行中的工具调用会占用一个并发许可,直到返回。 |
tpm、tpd | 间接应用 | MCP 工具调用不携带模型 Token,因此不会增加 Token 窗口计数。如果调用方 Key 的模型流量已耗尽某个 Token 窗口,该 Key 的工具调用仍会以 HTTP 429 被拒绝,直到窗口重置。 |
每个字段都是可选的。省略字段时,AISIX 不执行对应限制。
请使用请求速率限制或 concurrency 限制 MCP 调用量。仅设置 Token 限制无法约束 MCP 工具调用。若要分别限制每个 MCP 服务器,而不是限制整个调用方,请使用 mcp_rate_limits。
完整的限流字段参考和计数器存储选项,请参阅 API Key 与模型限流。