MCP Schema Validator

Paste your MCP tool definitions to validate them against the official spec.

  • Free
  • No account
  • Runs in your browser
  • Nothing uploaded
MCP Schema ValidatorNothing uploaded
MCP Schema Validator
0 characters

Runs entirely in your browser — your input is never uploaded, logged, or stored.Privacy policy

What is MCP Schema Validator?

Model Context Protocol (MCP) lets AI assistants like Claude, GPT, and Gemini call external tools through a standardised interface. Each tool declares a JSON Schema that tells the model what arguments it accepts — and if that schema is wrong, incomplete, or confusing, the model picks the wrong tools, sends bad arguments, or wastes tokens on retry loops.

This validator checks your MCP tool definitions against the MCP specification (revision 2025-11-25) and flags issues that affect how LLMs interpret and use your tools. It catches spec violations (missing required fields, malformed schemas) and LLM-friendliness problems (vague descriptions, missing type annotations) that the spec doesn't require but that directly impact tool selection quality.

Two categories of findings, clearly labelled: • Errors — spec requirements your definition fails to meet. These may break clients that enforce the spec strictly. • Warnings — things the spec allows but that cause real problems in practice: models can't infer what a parameter does if it has no description, and token budgets blow up when schemas are bloated.

Everything runs in your browser. No tool definitions are sent to a server — the validation is pure JSON Schema checking plus heuristic analysis, with no network calls.

The validator implements the MCP tool definition requirements from the official specification (revision 2025-11-25, confirmed 2026-06-23). It performs two layers of analysis:

**Layer 1: Spec Compliance** Checks that map directly to MUST/SHOULD requirements in the MCP specification: • Tool must have a `name` (non-empty string, 1-128 chars of [A-Za-z0-9_-]) • Tool must have an `inputSchema` (non-null JSON Schema object) • `inputSchema.type` must be "object" • `inputSchema.properties` and `required` must be well-formed • No duplicate tool names in a single server • `required` array must not reference properties not in `properties`

**Layer 2: LLM-Friendliness Heuristics** Recommendations based on how LLMs actually use tool definitions: • Description presence and length (LLMs use descriptions for tool selection) • Property-level descriptions (models need to understand each argument) • Type annotations on properties (untyped properties cause model guessing) • Schema complexity vs. token cost (simpler schemas = cheaper tool loading)

Token cost estimation uses a ~4 chars per token approximation for the JSON context that would be sent to an LLM. The actual token count varies by tokenizer (cl100k_base for GPT models, Claude's tokenizer for Anthropic models), but the approximation is close enough for budget planning.

What this validator catches vs. what other tools check
 This validatorJSON Schema lintersMCP Playground
MCP spec complianceYesNoYes
LLM-friendliness checksYesNoPartial
Token cost estimationYesNoNo
Server connection requiredNoNoYes
Risk heuristicsYesNoNo

Worked examples

  • Valid tool: {"name":"get_weather","inputSchema":{"type":"object","properties":{"city":{"type":"string","description":"City name"}},"required":["city"]}} → No errors, 1 warning (tool-level description missing)
  • Missing inputSchema: {"name":"get_weather"} → Error: Tool missing required `inputSchema`
  • Invalid type: {"name":"get_weather","inputSchema":{"type":"string"}} → Error: `inputSchema.type` must be "object"
  • Vague description: {"name":"get_weather","inputSchema":{"type":"object"},"description":"A tool"} → Warning: Description shorter than 20 characters
  • Untyped property: {"name":"get_weather","inputSchema":{"type":"object","properties":{"city":{}}}} → Warning: Property `city` has no `type` annotation

How to use MCP Schema Validator

  1. Paste your MCP tool definitions — either a single tool object or an array of tools.
  2. Click Validate to check against the MCP spec and LLM-friendliness heuristics.
  3. Review the results: Errors mean spec violations, Warnings mean LLM readability issues.
  4. Fix the issues, re-validate, and copy the token cost estimate for your budget planning.

Common errors

  • Error: "Tool missing required `inputSchema`" — Every MCP tool must declare an inputSchema. Even tools with no parameters need `{"type":"object"}`.
  • Error: "`inputSchema.type` must be "object"" — MCP tool schemas must be JSON Schema objects, not strings, arrays, or other types.
  • Warning: "Description shorter than 20 characters" — LLMs use descriptions to decide when to call a tool. Short descriptions lead to poor tool selection.
  • Warning: "Property has no `type` annotation" — Untyped properties force the model to guess the argument type, often incorrectly.

FAQ

What is MCP and why do I need to validate my schemas?

Model Context Protocol (MCP) is the standard for exposing tools to LLMs like Claude, GPT, and Gemini. Your tool's schema is what the model reads to understand how to use it — if the schema is wrong or unclear, the model picks the wrong tools, sends bad arguments, or wastes tokens on retries.

Does this connect to my MCP server?

No — this is a static validator. You paste your tool definitions (the JSON from your tools/list response or your code), and everything is checked locally in your browser. No server connection is made.

What's the difference between Errors and Warnings?

Errors are MCP spec violations that may break clients that enforce the spec strictly. Warnings are things the spec allows but that cause real problems in practice — vague descriptions, missing type annotations, bloated schemas.

How accurate is the token cost estimate?

It uses a ~4 chars per token approximation, which is close to actual tokenizers (cl100k_base for GPT, Claude's tokenizer for Anthropic). The real count varies by tokenizer, but this is close enough for budget planning. If you need exact counts, use our LLM Token Counter tool.

Can I validate an entire MCP server's tools/list response?

Yes — paste either a single tool definition or an array of tools. The validator checks each one and reports findings per tool.

G

Prefer AllUtil on Google

One click adds AllUtil to your Google preferences. You'll see our tools highlighted with a Preferred badge in Search and AI answers.

2× more likely to clickWorks in AI Overviews

Reviewed by Hamza AK

Written by Hamza AK. We research, build and test every tool before it is published.

Editorial policy

Last updated

Rechecked against the sources on this date, not stamped.

Methodology

The spec compliance checks are based on MCP specification revision 2025-11-25, confirmed 2026-06-23. The LLM-friendliness heuristics are derived from practical experience with how models interpret tool definitions — they are recommendations, not spec requirements. The token cost estimate uses a ~4 chars per token approximation.