开源 Synapse 模板:多个 MCP 服务器共用一个网关登录与租户上下文
Comfortable_Cat_6207 · reddit · 2026-09-16
作者在给 Claude Desktop / Cursor 接入多个 MCP 服务器(计费、CRM、内部工具)时,发现每个服务都要单独配鉴权,且市面模板要么只支持单服务器,要么把 tenantid 放进工具 schema——意味着模型可能替你选择公司租户。于是他写了 Synapse:一个 TypeScript 网关模板,开源在 GitHub(RohiRIK/synapse-mcp)。
核心设计:
- 客户端经 stdio 只连接一次,网关并行发现所有已配置服务的工具
- 工具名加前缀避免冲突(如 billingcreateinvoice、crmgetuser):模型只挑工具,不挑租户
- 鉴权与 X-Tenant-ID 来自进程环境变量而非参数;嵌套 tenantid/tenantId 参数直接拒绝
- 阻断重定向与跨域端点,防止 token 跟随 302 泄漏
- 单个后端挂掉不影响其他服务
作者也诚实列出限制:只支持 tools(不支持 resources/prompts);下游刻意用 SSE 以兼容现有 /sse 服务器(Streamable HTTP /mcp 是另一种传输);且仅靠 header 不够,每个后端仍须自行强制租户校验。构建用 Bun,运行用 Node。
「编程与Agent」频道最新
- 实测发现:Claude Code 开 bypass 权限后弃用内置工具改用 Bash — stablequan · 2026-09-16
- 开发者吐槽 AI 编码 harness 四大痛点:自动化散乱、只收单个 PR — blixt · 2026-09-16
- Qwen 27B 单卡5090本地跑出一个提示词生成8幕动画 — Acceptable-Object390 · 2026-09-16
- 37 岁非程序员用 Claude Code 做出 DnD 组队平台 Tavernly — DopeDutchLemon · 2026-09-16
- ChatGPT 内置 Sites 功能:一句提示词生成可发布网站 — TawohAwa · 2026-09-16
- 博主用豆包 Seed 2.1 做出卫星遥感版企业财报尽调工具 — karminski3 · 2026-09-16