[BUG] CCD desktop app rejects MCP tools with draft-07 outputSchema that work fine in CLI

Status Open
Reported on v2.1.250
Maintainer reply None cached
Activity 0 comments · opened Aug 28, 2026

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.

View original on GitHub ↗