MCP protocol error
Fix an MCP tool inputSchema whose root is not an object
Wrap primitive, array, or union-root arguments in a valid MCP object-root input schema.
MCP tool inputs use JSON Schema, but inputSchema retains an object-root requirement. A string, array, or top-level composition needs a named object envelope.
Read the schema and its provider wrapper as one contract. APITC distinguishes target requirements from portable JSON Schema, applies mechanical repairs only when intent is recoverable, and identifies transformations that can change meaning.
Diagnostic procedure
Repair the schema, then recompile.
- 01
Name the argument
Wrap the primitive or list in a property whose name explains its role.
- 02
Declare object semantics
Add type: object, properties, and a suitable required array.
- 03
Version output separately
Do not assume input and output root rules are identical across MCP revisions.
{"name":"tag_many","inputSchema":{"type":"array","items":{"type":"string"}}}{"name":"tag_many","inputSchema":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"}}},"required":["tags"]}}$.inputSchemaClose this objectOpenAI strict requires additionalProperties: false on every object.
$.inputSchemaRequired array is incompleteStrict mode requires every property in required. APITC will make limit nullable.
No account · no upload · no endpoint calledOpen the full tool schema compiler and operating notes →
FAQ
Before you ship
Does APITC upload my schema?
No. Parsing, diagnostics, and compilation run in your browser tab.
Is the compiled result guaranteed to preserve meaning?
Safe repairs are deterministic. When MCP cannot express a source constraint, APITC labels the transform as lossy instead of hiding it.
Protocol behavior checked against the MCP 2026 release candidate. Recheck your pinned provider/API version before production deployment.