Skip to content

All Zephyr tools unusable in Claude Desktop — draft-07 outputSchema rejected client-side before dispatch (0.28.0 and 0.33.0) #675

Description

@joeygulls-nisc

Summary

Every Zephyr tool in @smartbear/mcp fails client-side validation in Claude Desktop and never reaches the Zephyr API. The server advertises outputSchema (and inputSchema) with the JSON Schema draft-07 dialect; the client validates against 2020-12 only and rejects the tool before dispatch.

Reproduced on 0.28.0 (Anthropic extension directory build) and 0.33.0 (side-loaded smartbear-mcp-0.33.0.mcpb).

Error

Identical for every tool, only the tool name changes:

Error: Tool 'zephyr_get_test_case' 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
Affected tools (all tested, all fail)
zephyr_get_projects
zephyr_get_test_cases
zephyr_get_test_case
zephyr_get_test_case_steps
zephyr_get_test_plans — note this tool is new in 0.33.0, so the dialect is still being emitted by newly written code

This is not Zephyr-specific in principle — any toolset declaring outputSchema this way should be affected.

Direct evidence of the dialect

The schema the server advertises for zephyr_get_test_plans arrives as:

json
{
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": { "default": 10, "type": "number" },
"projectKey": { "type": "string" },
"startAtId": { "type": "number" },
"updatedAfter": { "type": "string" }
},
"type": "object"
}
Likely cause

zod-to-json-schema — used by servers on @modelcontextprotocol/sdk v1.x — stamps "$schema": ".../draft-07/schema#" onto every generated schema. Clients migrated to the v2 SDK validate against 2020-12 and reject the declared draft-07 dialect.

Worth noting the MCP spec permits an explicitly declared draft-07 on all protocol versions (2020-12 is the default only when $schema is absent), so there is a client-side strictness bug here too. But the practical unblock is server-side.

Requested fixes
Stop emitting draft-07. Either upgrade to an SDK version that generates 2020-12, or strip/override $schema on generated inputSchema/outputSchema before tool registration.
Republish to the Anthropic extension directory. The directory build is pinned at 0.28.0 (released 2026-07-07), roughly six weeks behind. Directory extensions auto-update, so users on that channel cannot move forward — a restart does not pick up a newer version, and reinstalling returns the same build. Side-loading the .mcpb is the only current workaround, and it is blocked for users whose org disables extension side-loading.

Item 2 matters independently of item 1: without a republish, any fix you ship won't reach users on the directory channel.

Environment
@smartbear/mcp 0.28.0 and 0.33.0
Claude Desktop (Cowork mode), Windows
Toolset: Zephyr Scale
Related upstream issues
anthropics/claude-code#86142
modelcontextprotocol/typescript-sdk#2532
modelcontextprotocol/typescript-sdk#745
modelcontextprotocol/modelcontextprotocol#1613 (SEP-1613)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions