在 Express 里自建远程 MCP 服务器的 OAuth 2.1:DCR/CIMD 实战与真实客户端才暴露的坑
Legal-Tooth-1652 · reddit · 2026-09-27
独立开发者分享为自己的产品 gotlinq(书签+短链)上线远程 MCP 服务器的完整实战,已在 Claude、Claude Code、ChatGPT dev mode 和 Smithery 中跑通:
- 协议栈:直接用 TS SDK 的 mcpAuthRouter 处理 OAuth 2.1 协议,自己只写存储(3 张 Postgres 表),把 /authorize 指向现有登录+授权页,无需 Auth0/WorkOS。
- CIMD 补丁:SDK 不声明 clientidmetadatadocumentsupported,于是自己在它前面提供一个 AS metadata 路由;Claude Code 和 Smithery 都走 CIMD。
- 令牌隔离:connector 令牌带 aud: "mcp",REST API 拒绝之,泄露也无法操纵整个账号;每个 access token 带 grant id,逐调用校验,可即时吊销。
- 工具通过 loopback 调用自家 REST API,避免重复实现套餐限制与所有权逻辑。
- 几个真实客户端坑:PWA service worker 会用缓存壳应答 /authorize——Workbox 的 navigateFallbackDenylist 匹配的是路径+查询串,/^\/authorize$/ 匹配不到带 query 的 URL,正则要以 (?:\?|$) 结尾;claude.ai 不渲染工具结果里的图片内容(模型看得到 PNG,用户看不到);claude.ai 按连接缓存工具列表,URL 加 ?v=2 可刷新。
「编程与Agent」频道最新
- 从零造 SDF 建模引擎:C++/Vulkan 加 AI 自动生成场景 — bilawalsidhu · 2026-09-27
- MCP 不是 AI 的 USB-C:LLM 即兴发挥让工具调用不再确定 — ThomasBuildLab · 2026-09-27
- 用 Opus 5.5 做 Roblox 游戏,玩家弃 ChatGPT 转投 Claude — cringe_keys · 2026-09-27
- 独立开发者给网站监控工具加 MCP,让 AI 助手查站点状态 — bincura · 2026-09-27
- 用对话式 Agent 替代 Zapier:业务流 100% 确定性怎么保证 — JanBreslau · 2026-09-27
- 开发者用 Claude Opus 5.5 一次生成产品宣传视频成功 — JosephJacks_ · 2026-09-27