MCP Message and Tool-Schema Validator
Paste one MCP message or tool definition and choose a protocol version. Get structural errors and scope notices with field paths; no server is contacted.
Run a local check in your browser. No account or upload to a server is needed.
How it works
This offline checker validates JSON-RPC envelope fields and selected MCP structures. It checks initialize, ping, tools/list and tools/call request fields, plus tool definitions inside results when tools/list is explicitly selected as the originating method. Unknown or other responses receive envelope checks only. Other method payloads receive envelope checks and a scope notice.
Tool-schema mode lints object schema roots and common keyword shapes, including properties, required, types, nested schemas and numeric constraints. It does not validate argument instances, resolve references, execute patterns, validate formats or implement the complete JSON Schema meta-schema. Unknown extensions are left unchecked. Schemas declaring a dialect other than 2020-12 receive an incomplete-validation notice and skip dialect-dependent checks. Empty enums are warnings because no value can satisfy them.
Choose June or November 2025 explicitly. In November an error response may omit an unreadable request ID; June requires a response ID. This tool cannot correlate requests or check session-wide ID reuse. Local limits: 1 MB, 10,000 JSON values, 64 nesting levels and 256 findings. No numerical rounding is performed; numeric IDs must be safely representable JavaScript integers.
Worked examples
A tools/call request
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"weather","arguments":{"city":"Paris"}}} produces 0 errors in the checked fields.
Null is not an MCP request ID
{"jsonrpc":"2.0","id":null,"method":"ping"} produces 1 error at $.id in both supported protocol versions.
Frequently asked questions
Does a pass prove my MCP server conforms?
Which protocol versions can I select?
Does it fetch JSON Schema references?
Can I paste a tool definition without JSON-RPC?
Why are JSON arrays rejected in message mode?
Sources
- JSON Schema draft-07 — tuple items (checked 2026-11-14)
- MCP November 2025 base protocol (checked 2026-11-14)
- MCP June 2025 base protocol (checked 2026-11-14)
- MCP November tool definitions (checked 2026-11-14)
- MCP June tool definitions (checked 2026-11-14)
- Authoritative MCP TypeScript schema (checked 2026-11-14)
- JSON Schema 2020-12 validation vocabulary (checked 2026-11-14)
Last reviewed 2026-11-14; next review due by 2027-02-12. The method is written out above so you can check our math.