Promptyard
MCP

MCP Tool Definition Validator

Validate an MCP tool definition against required fields, name format, schema shape, and conventions.

Errors
0
Warnings
1
Info
0
warnProperty "limit" has no description. Models use these heavily.

What MCP requires

An MCP tool definition has three required fields: name (identifier the model uses to call the tool), description (what it does, used for tool selection), and inputSchema (JSON Schema for the arguments). Optionally, annotations can carry hints (e.g., readOnly, destructive) for client UIs.

FAQ

Is this exhaustive?
No — it covers structural and common-mistake checks. The MCP spec evolves; for the canonical schema check, see the official spec repo.
Why warn about missing property descriptions?
The LLM picks tools based on the description, and fills arguments based on per-property descriptions. Empty descriptions force the model to guess from property names alone — usually fine for "city", risky for "format" or "mode".
Why is <code>additionalProperties: false</code> recommended?
Without it, the model can synthesize argument keys you didn't specify. Strict mode (closed schemas) makes the model stick to your contract. Some MCP clients require it; even when not strictly required, it's safer.

Common pitfalls

  • Using parameters instead of inputSchema (that\'s OpenAI\'s shape, not MCP).
  • Naming a tool with whitespace or special characters.
  • Listing required properties that aren\'t in properties.
  • Skipping per-property description — the model picks tools and fills args based on these.

Related tools