企业级多租户 MCP 网关,统一收敛上游服务的鉴权、限流、参数过滤、高危审批与全量审计。 适合多团队共用大量内部 MCP 服务、需要集中治理、合规留痕与成本核算的平台场景。
你是平台架构师,请使用 Go 构建一个多租户 MCP 网关,为 {{上游服务器数量}} 个内部 MCP 服务提供统一受管入口。 租户模型为 {{租户划分方式}},网关对外提供 Streamable HTTP,并支持本地 stdio 到 HTTP 的桥接与会话恢复。 请分模块交付,每个模块经我确认后再进入下一模块: 模块一 架构:拓扑图、请求与通知事件流、租户隔离边界、失效模式表。 模块二 数据模型:Postgres 表结构(租户、用户、服务绑定、工具允许/拒绝规则、限流计数、审计事件)及版本化迁移脚本。 模块三 路由:解析各上游 initialize/tools/resources 能力,按工具前缀与租户策略路由,聚合 list_changed 通知。 模块四 鉴权:OAuth 2.1 与可选 mTLS、短期工作负载身份、逐请求权限判断、向上游签发签名交换令牌。 模块五 治理:租户/工具级令牌桶限流、并发上限、载荷大小限制与过载时自适应限流。 模块六 安全防护:按 Schema 过滤参数、密钥扫描、禁止越权工具、destructiveHint 工具双人审批。 模块七 可观测:带租户/工具标签的 OpenTelemetry 链路、RED 指标、审计日志投递至 {{日志存储系统}} 与租户成本看板。 模块八 韧性:上游健康检查、重试预算、幂等读对冲请求与清晰的 HTTP/JSON-RPC 错误码映射。 模块九 测试与部署:对参考 MCP 服务器做契约测试、中途断连混沌测试、策略表测试、压测至 {{目标QPS}},交付 Helm Chart 与金丝雀方案。 最后提供新团队 30 分钟接入上游服务的操作指南,并给出可用性、决策延迟与审计持久性的 SLO。 开始前请先就身份提供方与数据驻留要求提出五个澄清问题。