Skip to main content
Glama

JSON Schema Validator

json_validate
Read-onlyIdempotent

Validates data against a JSON Schema (draft 2020-12/07 core: types, required, properties, items, enums, ranges, patterns, formats, combinators, local $ref), or checks raw JSON syntax when only json is given. Returns valid true/false and a list of errors with their paths. Use it to check API payloads or model output against a schema. Limits: remote $ref is not fetched; only core vocabulary is supported.

Input Schema

NameRequiredDescriptionDefault
dataNovalue to validate
jsonNoraw JSON text (syntax check, or data as text)
schemaNoJSON Schema (object or JSON string)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description still adds real behavior: it declares the return shape (valid true/false plus errors with paths) and two hard limits (no remote $ref fetching, core vocabulary only). Auth/rate-limit concerns are irrelevant for a pure computation, so this is close to complete.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences: core function first, secondary mode second, usage and constraints last. Zero filler, no restatement of the title, and every claim carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by describing the return shape (valid flag plus error paths). Limits, dual modes, and accepted schema forms are all covered, so an agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema does not: it explains the conditional relationship between json alone (syntax check) and json/data with schema (full validation), and clarifies that schema may be an object or a JSON string. That resolves the main ambiguity around these three optional parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (validates data against a JSON Schema) and adds a second distinct mode (raw JSON syntax check when only json is given). The scope of supported keywords (draft 2020-12/07 core vocab) sharpens it further. No sibling tool overlaps this function, so differentiation is implicit but unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use it to check API payloads or model output against a schema" gives clear context for when this tool applies, and the limits line tells the agent when it will fail (remote $ref, non-core vocab). No explicit alternatives or when-not-to-use guidance is offered, but none of the listed siblings compete for this job.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.