MCP 服务器对匿名 tools/list 返回 401,目录全部显示 0 能力
dsternlicht · reddit · 2026-09-17
作者排查发现:远程 streamable-HTTP MCP 服务器对所有无 Authorization 头的请求统一返回 401(符合规范、可触发客户端 OAuth 流程),但目录的 registry 扫描器不认证,匿名发 initialize 和 tools/list,于是 Smithery 记录为 "0 capabilities",Glama 反复在 Healthy/Unhealthy 间跳。
修复思路:按请求而非连接做鉴权——
- initialize、tools/list 和公共工具的 tools/call 匿名放行;
- 仅特权工具的 tools/call 要求 Bearer token。
- 注意 JSON-RPC 批量数组:只检查 body.method 会让批处理请求漏过检查。
安全边界提醒:如果服务器本来就是按 token 动态注册工具(无 token 只注册只读公共工具),401 只是形式;但如果全部工具预先注册、只靠中间件把关,这样改就是真实暴露,应先修注册逻辑。
同类坑:GET 请求应返回 405 而非 404,否则健康检查会误判服务下线。
结果:部署后 Smithery 重新扫描发现 16 个工具,质量分 28 → 52 → 80,Glama 恢复 Healthy。
十秒自查(无需 key,适用于任何远程 MCP 服务器):用 curl 匿名发 tools/list,若返回 401 而非工具列表,目录看到的就是空能力。
「编程与Agent」频道最新
- Higgsfield 订阅做到 5 亿美元年化后砍掉转型 API,有人用它自动化跑 Fiverr 接单 — EXM7777 · 2026-09-17
- PromptingBox 推 MCP 服务器,在 Claude/Cursor 里管理提示词库 — modelcontextprotocol · 2026-09-17
- REG-Vault 开放 9.1 万款复古游戏元数据,免费 MCP 和 REST API — modelcontextprotocol · 2026-09-17
- AI Agent 如何用 MCP 查询 Apache Iceberg 数据湖,实操解析 — codingdecently · 2026-09-17
- Embeddings 技术手册:从第一性原理讲透向量检索与 RAG 踩坑 — techNmak · 2026-09-17
- Android Use 发布:可定时、记忆、授权的安卓设备智能体 — emeka_boris · 2026-09-17