You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: Proxied MCP server tools fail to load when inputSchema declares a draft 2020-12 $schema #1477
getMCPServerTools() (src/mcp/proxy.ts) compiles each proxied tool's inputSchema with the shared AJV instance, which only has the draft-07 meta-schema. When a tool's inputSchema declares "$schema": "https://json-schema.org/draft/2020-12/schema", compilation throws and none of the Actor's tools load, not just that one tool.
Zod 4 toJSONSchema() adds this $schema, so TypeScript MCP servers that use Zod 4 run into this. MCP 2025-11-25 makes 2020-12 the default dialect for tool schemas.
Regular Actor tools are not affected because buildActorInputSchema() already removes $schema.
Evidence
Hosted server log, 2026-10-04:
ERROR {"actorFullName":"lexxer/transcriptpack-youtube-transcripts","actorId":"g4kWYLgKjbOSH30qB","error":{"message":"no schema with key or ref \"https://json-schema.org/draft/2020-12/schema\"","name":"Error","stack":"Error: no schema with key or ref ...\n at Ajv.validate ...\n at Ajv.validateSchema ..."},"msg":"Failed to load tools from MCP server"}
To reproduce, call getMCPServerTools() with a mock client whose listTools() returns one tool with that $schema. It throws the same error.
Affected
Any Actor MCP server whose tool schemas declare a draft other than 07. This happens in both stdio and hosted mode. Adding such an Actor as a tool loads none of its tools.
Expected
The Actor's tools load and their input is validated.
Found in production logs. Drafted and reproduced with Claude Code.
Still happening on the hosted server after the 0.18.x releases. ERROR entries with no schema with key or ref "https://json-schema.org/draft/2020-12/schema", per day:
Day (2026-10)
09
10
11
12
13
14
Count
26
22
22
45
31
48
The counts did not change across the 0.17.4 → 0.18.0 → 0.18.2 releases. lexxer/transcriptpack-youtube-transcripts is still the Actor in the sampled entries.
Activity
jirispilka commentedon Oct 15, 2026
Still happening on the hosted server after the 0.18.x releases. ERROR entries with
no schema with key or ref "https://json-schema.org/draft/2020-12/schema", per day:The counts did not change across the 0.17.4 → 0.18.0 → 0.18.2 releases.
lexxer/transcriptpack-youtube-transcriptsis still the Actor in the sampled entries.Drafted with Claude Code.