快速结论:这个报错通常出现在 n8n 自托管实例通过 MCP 暴露给 Claude Desktop / Claude Code 后,客户端在 tools/list 阶段校验工具 schema 时发生;Claude 客户端会因工具 outputSchema 声明了 JSON Schema draft-07 而静默拒绝全部工具,优先排查 n8n 版本与 MCP 客户端 SDK 版本。
适用环境:Issue 中确认的环境为:n8n 2.34.x(最新 stable)自托管,运行于 Windows 上的 Node.js;通过 npx mcp-remote 连接 http://localhost:5678/mcp-server/http;客户端为 Claude Desktop 1.30096.1(Windows)。
最快修复方案:暂无确认的一步修复方案。Issue 中提出两类可行路径:把 MCP 客户端 SDK 升级到 @modelcontextprotocol/server 2.0.0 稳定版,或把 n8n 升级到包含 #35467 的 2.35.0(该版本在 tool-schema.util.ts 中执行 delete jsonSchema.$schema;);但截至 Issue 讨论时,dist-tags 显示 stable = 2.34.6、beta = 2.35.3,2.34.x 是否回合并未确认。
注意事项:Issue 中明确说明,作者并未在真实 2.35.x 实例上运行验证;其给出的 Workaround 是本地 stdio 代理删除 $schema,已在 2.34.6 实机上验证 34 个工具的 outputSchema 均可在 Ajv 2020-12 下编译,但删除 $schema 会把文档重新解释为 2020-12,draft-07 与 2020-12 在 items、prefixItems、$ref 同级关键字等存在差异;Issue 扫描 34 个工具未发现这类构造,代理会在出现时告警。
问题场景
用户在 n8n 自托管实例上启用实例级 MCP Server Trigger 端点(/mcp-server/http),并用当前 Claude Desktop / Claude Code 连接该端点并列出工具时触发。连接器在 Claude 本地 MCP 设置中显示为 “running”,但聊天中看不到任何工具,也没有可见错误,对用户表现为静默失效。
Issue 报告者还指出,这是 Claude 更新后波及整个 MCP 生态的问题:48 小时内 20 多个 server 仓库出现同类 issue,例如 perplexityai/modelcontextprotocol#132、anthropics/claude-code#86543。
报错原文
Tool 'X' has an invalid outputSchema: JSON Schema declares an unsupported dialect ("$schema": "http://json-schema.org/draft-07/schema#")
The default validator supports JSON Schema 2020-12 only
另有一条来自稳定版 SDK 的表征说明:
The default validator supports JSON Schema 2020-12, 2019-09, draft-07, and draft-06
原因分析
n8n 的实例级 MCP server 端点在工具 schema 上打上了 "$schema": "http://json-schema.org/draft-07/schema#"。受影响的 MCP 客户端内置的校验器只接受 JSON Schema 2020-12,因此认为 outputSchema 声明的方言不受支持,拒绝该工具;由于错误没有在客户端界面显式呈现,表现为连接正常但工具为零。
Issue 评论补充了两点关键信息:
- 报错文案对应 beta 版本。校验器位于
@modelcontextprotocol/server,2.0.0-alpha.4 到 2.0.0-beta.5 的文案是 “The default validator supports JSON Schema 2020-12 only”,2.0.0 稳定版文案变为 “The default validator supports JSON Schema 2020-12, 2019-09, draft-07, and draft-06”。稳定版会去掉末尾#后匹配 draft-07 URI 集合,因此能原样编译 n8n 的 schema。受影响的客户端运行的是2.0.0-beta.x构建,对客户端厂商而言这是一次依赖升级。 - n8n 侧的修复位于
packages/cli/src/modules/mcp/tool-schema.util.ts,由 #35467 引入,核心是delete jsonSchema.$schema;;在 2.35.0 标签中mcp.service.ts把inputSchema和outputSchema都传入该函数,2.35.0 还包含 #35610。按 git tag 看,2.34.0、2.34.1、2.34.3、2.34.5、2.34.6 均不含该修复,2.35.0 和 2.35.3 包含。
报告者还更正了一点:inputSchema 同样带有该 $schema 声明。对真实 2.34.6 实例测试,34 个工具的 34 个 inputSchema 和 34 个 outputSchema 全都有 $schema;当前客户端在 input 路径接受,在 output 路径失败,因此只有 output 路径表现出症状。
环境排查
- 确认 n8n 版本:Issue 中确认受影响版本为 2.34.x(2.34.0、2.34.1、2.34.3、2.34.5、2.34.6 均无修复),修复存在于 2.35.0 与 2.35.3。
- 确认 MCP 客户端内置的
@modelcontextprotocol/server版本:2.0.0-alpha.4至2.0.0-beta.5为只支持 2020-12 的 beta 文案;2.0.0稳定版已接受 draft-07 / draft-06。 - 确认客户端版本:Issue 报告的环境为 Claude Desktop 1.30096.1(Windows)。
- 确认连接方式:通过
npx mcp-remote http://localhost:5678/mcp-server/http连接。 - 确认 n8n 运行环境:Windows 上的 Node.js 自托管。
- 确认工具 schema 数量与
$schema出现次数:对 2.34.6 实例列出工具时,预期 34 个工具、68 处 draft-07 标记(34 inputSchema + 34 outputSchema)。
解决步骤
- 先区分问题出在客户端还是服务端。根据 Issue 评论,报错文案能直接判断客户端 SDK 代际:出现 “supports JSON Schema 2020-12 only” 说明客户端在跑
2.0.0-beta.x;升级到@modelcontextprotocol/server2.0.0 稳定版即可让 n8n 的 draft-07 schema 原样通过。 - 若无法推动客户端升级,检查 n8n 版本是否在 2.35.0 及以上。Issue 指出 2.35.0 起会通过
delete jsonSchema.$schema;去掉该声明,从而不再触发方言校验。 - 若当前必须留在 2.34.x,可优先尝试本地 stdio 代理方案(已在 2.34.6 实机验证):在客户端与 n8n 端点之间加一个 Node.js 单文件
.mjs代理,仅删除工具 schema 中的$schema字段。 - 代理实现要点(按 Issue 评论所述):删除
$schema,不要删除outputSchema,也不要删除 outputSchema 本身,以保留输出校验;该行为与 2.35.0 逐字节一致,因此将来 n8n 升级后代理可直接退役而不改变行为。 - Issue 评论提供了用于生成该代理的提示词(prompt to build the proxy),可粘贴给 Claude Code、Cursor 或其他编码代理;如需复现该构造,请直接查阅原 Issue 评论中的完整提示词,本指南不转述其中命令。
- 若正在评估等待策略,可参考 Issue 评论提出的问题:2.34 线是否回合并该修复,还是等 2.35.x 进入
stable;在得到答复前,用户无法判断升级与本地 workaround 哪个等待更短。
验证方法
- 在 Claudes 客户端中重新连接 MCP 端点并列出工具,确认工具数量从 0 恢复为预期数量(Issue 实机为 34 个)。
- 确认不再出现 “has an invalid outputSchema: JSON Schema declares an unsupported dialect” 报错。
- 对 2.34.6 实例,可用 Issue 给出的复现方式统计 draft-07 标记数,预期为 68;评论指出其在 2.35.x 上预期为 0,但该推断未经实机验证。
- 代理方案下,Issue 评论验证了 34 个被剥离
$schema的 outputSchema 均可在 Ajv 2020-12 下编译,且 8 个只读工具返回的真实structuredContent能通过其剥离后的 schema 校验。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。


