Endpoint 限流
MCP backend 和 HTTP 工具组均支持 rate_limit,默认不限流。按配置 ID 独立计数,所有用户共享额度;同一 HTTP 工具组中的手工接口和 OpenAPI tools 共用额度。管理 UI 的“限流策略”可直接编辑,管理 API 的 backend/tool-group 输入和响应也包含该对象。
# 添加到某个 backends 条目;HTTP 工具组通过管理 UI/API 配置。
rate_limit:
requests_per_second: 20
burst: 40
max_concurrent: 8
requests_per_second:平均每秒接纳数,支持小数;0或省略表示不限速率。burst:令牌桶容量;启用速率限制时,0或省略使用容量1。只有设置正速率时才能单独指定正容量。max_concurrent:正在处理的请求上限;0或省略表示不限并发,可独立于速率限制使用。
策略作用于认证和 scope 检查通过后的 tools/call、prompts/get、resources/read、resources/subscribe、completion/complete 和带资源订阅的 subscriptions/listen。流式响应在结束或取消前占用并发名额;一次多 endpoint 订阅会原子检查所有相关额度,每个 endpoint 计一次。初始化、目录读取、健康检查、取消、退订、管理探测和后台刷新不消耗这些额度。
超限在调用后端前返回 HTTP 429、Retry-After 秒数和包含原请求 ID 的 JSON-RPC 错误;并发限制的重试时间只是建议。mcpbridge connect 显示限流错误与重试提示,不自动重放调用。保存配置、SIGHUP 和 HTTP tool 变更保留未变策略的额度及活动请求计数;进程重启会重置内存计数。策略随配置保存在 SQLite/PostgreSQL,计数不写数据库,仅适用于单实例。入口整体/IP/用户独立配额仍需单独的策略,未认证流量应在反向代理限制。