[BUG] CCD desktop app rejects MCP tools with draft-07 outputSchema that work fine in CLI
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
MCP tools whose outputSchema declares "$schema": "http://json-schema.org/draft-07/schema#" fail immediately in the CCD desktop app with a validation error, but work correctly in the CLI — both at the same version (2.1.250).
What Should Happen?
The desktop app should handle draft-07 output schemas the same way the CLI does — either by validating with the correct ajv dialect config, or by not enforcing $schema dialect on tool output schemas (since ajv@8 supports draft-07 natively).
Error Messages/Logs
Tool call failed: Tool 'query' 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; pass a pre-configured Ajv instance to AjvJs
The error fires before the request reaches the MCP server — it's rejecting the tool definition's output schema declaration at validation time, not the query payload.
Steps to Reproduce
Create .mcp.json in a project:
{
"mcpServers": {
"fibery": {
"type": "http",
"url": "https://mcp.fibery.io/mcp"
}
}
}
Authenticate with the Fibery MCP server (OAuth flow)
In CLI (claude): call any Fibery tool (e.g. mcp__fibery__schema) — works
In CCD desktop app: call the same tool — fails with the above error
Every Fibery MCP tool fails identically, including parameterless ones like schema, confirming it's not a malformed query.
Claude Model
Opus
Is this a regression?
Yes, this worked in a previous version
Last Working Version
_No response_
Claude Code Version
Claude Code version: 2.1.250 (both CLI and desktop)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
Full output from claude
Bug
MCP tools whose outputSchema declares "$schema": "http://json-schema.org/draft-07/schema#" fail immediately in the CCD desktop app with a validation error, but work correctly in the CLI — both at the same version (2.1.250).
Error
Tool call failed: Tool 'query' 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; pass a pre-configured Ajv instance to AjvJs
The error fires before the request reaches the MCP server — it's rejecting the tool definition's output schema declaration at validation time, not the query payload.
Reproduction
Create .mcp.json in a project:
{
"mcpServers": {
"fibery": {
"type": "http",
"url": "https://mcp.fibery.io/mcp"
}
}
}
Authenticate with the Fibery MCP server (OAuth flow)
In CLI (claude): call any Fibery tool (e.g. mcp__fibery__schema) — works
In CCD desktop app: call the same tool — fails with the above error
Every Fibery MCP tool fails identically, including parameterless ones like schema, confirming it's not a malformed query.
Expected behavior
The desktop app should handle draft-07 output schemas the same way the CLI does — either by validating with the correct ajv dialect config, or by not enforcing $schema dialect on tool output schemas (since ajv@8 supports draft-07 natively).
Environment
Claude Code version: 2.1.250 (both CLI and desktop)
Platform: macOS Darwin 25.6.0
MCP server: Fibery (https://mcp.fibery.io/mcp, HTTP transport)
The MCP SDK bundled with Claude Code uses ajv@8.18 which natively supports draft-07
Notes
The changelog already mentions a related fix: "Fixed claude mcp serve exposing tools with incompatible outputSchemas" — this appears to be the client-side counterpart of the same issue.
Any MCP server declaring draft-07 in its outputSchema will be affected, not just Fibery.