Skip to main content
Glama
rog0x
by rog0x

mcp-schema-tools

MCP server providing schema validation and generation tools for AI agents.

Tools

generate_json_schema

Generate a JSON Schema from sample JSON data. Infers types, required fields, formats (email, date, URI, UUID), and detects enum patterns from multiple examples.

generate_typescript

Generate TypeScript interfaces and types from JSON data or a JSON Schema. Handles nested objects, arrays, optional fields, enums, and union types.

validate_schema

Validate data against a JSON Schema with detailed error messages including JSON path, expected type, actual value, and the violated constraint keyword.

mock_from_schema

Generate realistic mock data from a JSON Schema. Smart field-name detection produces contextual values: email fields get valid emails, name fields get realistic names, phone fields get formatted numbers, etc.

diff_schemas

Compare two JSON Schemas to find added, removed, and changed fields. Identifies type changes, constraint changes, and classifies each difference as breaking or non-breaking for backwards compatibility analysis.

Related MCP server: mock-mcp

Setup

npm install
npm run build

Usage with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "schema-tools": {
      "command": "node",
      "args": ["path/to/mcp-schema-tools/dist/index.js"]
    }
  }
}

License

MIT

Available Tools

5 tools
diff_schemasA

Compare two JSON Schemas and identify all differences: added/removed/changed fields, type changes, constraint changes (min/max, patterns, enums). Classifies each change as breaking or non-breaking for backwards compatibility analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
new_schemaYesThe updated (new) JSON Schema
old_schemaYesThe original (old) JSON Schema

TDQS

A4.4/5.0
Behavior4/5

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

There are no annotations, so the description carries the burden of behavioral disclosure. It does this well by stating the operation is comparative (no side effects implied), listing the categories of differences detected, and explicitly saying each change is classified as breaking or non-breaking. It does not describe the exact return format, but the behavioral essence is disclosed.

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?

Two tight sentences carry all essential information: what the tool does, what kinds of differences it catches, and what classification it produces. Every clause earns its place, and the primary purpose is front-loaded.

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

Completeness4/5

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

For a read-only comparison tool with two well-described parameters and no output schema, the description is nearly complete. It explains the inputs, the diff dimensions, and the breaking/non-breaking classification. A slightly more concrete statement of the return structure would make it fully complete, but nothing critical is missing for selecting and invoking the tool.

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%, and the parameter descriptions already define old_schema and new_schema. The tool description adds value by clarifying the relationship between them ('original' vs 'updated') and framing their use in a comparison, so the agent understands the temporal/directional semantics beyond the schema alone.

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?

The description opens with a specific verb 'Compare' and a precise resource ('two JSON Schemas'), then enumerates exactly what kind of differences are identified (fields, types, constraints, enums) and what output classification is produced (breaking/non-breaking). This fully distinguishes it from sibling tools like generate_json_schema, validate_schema, or mock_from_schema.

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?

The description makes the intended usage obvious: call this when you need to compare an old and new JSON Schema and understand what changed and whether those changes are backwards-compatible. It does not explicitly name alternatives or exclusions, but the use case is clear enough that an agent can select it correctly without additional guidance.

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

generate_json_schemaA

Generate a JSON Schema from one or more sample JSON values. Infers types, required fields, formats (email, date, URI, UUID), and detects enum patterns from multiple examples.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoOptional title for the generated schema
samplesYesArray of sample JSON values to infer the schema from. More samples produce a more accurate schema.
detect_enumsNoWhether to detect enum values from string fields across samples (default: true, requires >= 3 samples)

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of disclosing behavior. It states that it infers types, required fields, formats, and enum patterns, which is good. However, it does not discuss error handling (e.g., invalid JSON input), output format specifics (e.g., JSON Schema draft version), or potential incompleteness for complex schemas.

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?

Two sentences that front-load the core purpose and immediately describe inferable features. No redundant words or irrelevant details.

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

Completeness4/5

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

The description covers the main capabilities and parameter behavior well, given the tool's moderate complexity and complete parameter schema. It could mention output schema draft standard or validation of input samples, but these are minor gaps. The absence of an output schema is acceptable because the tool's output is a JSON Schema, which is self-describing.

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

Parameters3/5

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

Schema coverage is 100% – all parameters have descriptions. The description adds no parameter-specific detail beyond what the schema provides, but it does reinforce that more samples improve accuracy, which aligns with the samples parameter. Baseline 3 is appropriate.

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?

The description clearly states the tool generates a JSON Schema from sample JSON values, with specific capabilities (type inference, required fields, formats, enums). This uniquely distinguishes it from siblings like generate_typescript (TypeScript generation) and validate_schema (validation).

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

Usage Guidelines3/5

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

The purpose implies when to use it (when you have sample data and need a schema), but there is no explicit guidance on when not to use it or how it compares to alternative tools like generate_typescript. It does not mention any prerequisites or limitations on input samples.

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

generate_typescriptA

Generate TypeScript interfaces and types from JSON data or a JSON Schema. Handles nested objects, arrays, optional fields, enums, union types, and Record types.

ParametersJSON Schema
NameRequiredDescriptionDefault
jsonNoSample JSON data to convert to TypeScript types. Provide either this or 'schema'.
schemaNoA JSON Schema to convert to TypeScript types. Provide either this or 'json'.
root_nameNoName for the root interface/type (default: 'Root')

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full transparency burden. It adds meaningful behavioral detail by listing supported constructs (nested objects, arrays, optional fields, enums, unions, Record types), but it does not explain behavior when both json and schema are provided, what the exact output artifact is, or any edge-case behavior.

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?

Single sentence, front-loaded with the action, then a compact capability list. No filler words or redundant restatement of the schema.

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

Completeness4/5

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

Given three simple parameters, full schema description coverage, and no output schema, the definition is largely complete: an agent knows the purpose, inputs, and optional root name. The only meaningful gap is the missing precedence/conflict behavior for supplying both inputs, which is a common edge case for this kind of tool.

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

Parameters3/5

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

The input schema already documents all three parameters, including the either/or intent on json/schema and root_name's default, so the description does not need to repeat parameter details. It does add a little context by implying the parsed structures may include nested/enum/union constructs, but that is not parameter-specific, so baseline 3 is appropriate.

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 ('Generate'), a resource ('TypeScript interfaces and types'), and two supported input forms ('JSON data or JSON Schema'). The direction is clear enough to distinguish it from siblings like generate_json_schema, which produces schemas rather than TS types.

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

Usage Guidelines3/5

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

The intended use is implied: provide JSON or a JSON Schema and receive TypeScript types. However, there is no explicit 'use this instead of X' guidance, no mention of when to choose generate_json_schema, validate_schema, mock_from_schema, or diff_schemas, and no prerequisites or exclusions.

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

mock_from_schemaA

Generate realistic mock data from a JSON Schema. Uses smart field-name detection to produce contextual values: email fields get valid emails, name fields get realistic names, dates get ISO strings, etc. Supports all JSON Schema types and constraints.

ParametersJSON Schema
NameRequiredDescriptionDefault
seedNoRandom seed for reproducible output. Same seed + same schema = same data.
countNoNumber of mock objects to generate (default: 1). If > 1, returns an array.
schemaYesThe JSON Schema to generate mock data from

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool uses smart field detection and supports all JSON Schema types and constraints, which is useful. However, it does not mention error handling, edge cases, or the exact structure of the returned data beyond what the parameter descriptions imply. This is adequate but not rich.

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?

The description is two sentences, front-loading the core purpose and then adding a distinguishing feature. Every word earns its place; no fluff or repetition.

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

Completeness4/5

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

The tool has no output schema, but the description and parameter docs together cover most needs: it returns mock data, count controls array output, seed ensures reproducibility. Complex behaviors like format constraints are hinted at ('supports all JSON Schema types and constraints'). Missing explicit error behavior, but for a generator tool it is largely complete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters. The description adds no extra semantic detail beyond what parameters already state, such as seed behavior or count semantics. Baseline 3 applies since the schema handles the heavy lifting.

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?

The description clearly states the tool generates mock data from a JSON Schema, with a specific verb ('Generate') and resource ('mock data from a JSON Schema'). It also highlights the smart field-name detection feature, making its purpose precise and easily distinguishable from sibling tools like generate_typescript or validate_schema.

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

Usage Guidelines3/5

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

The description implies when to use this tool (to get sample data from a schema) but does not explicitly contrast it with alternatives. Sibling tools are semantically different, making the choice obvious, yet there is no direct 'when not to use' guidance. It relies on the reader to infer usage context.

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

validate_schemaA

Validate data against a JSON Schema. Returns detailed error messages with JSON path, expected type, actual value, and the violated keyword (type, required, format, pattern, minimum, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesThe data to validate
schemaYesThe JSON Schema to validate against

TDQS

A4.1/5.0
Behavior4/5

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

Because no annotations are provided, the description carries the full burden of behavioral disclosure. It goes beyond a basic statement by explaining what the return value contains: 'detailed error messages with JSON path, expected type, actual value, and the violated keyword.' This gives the agent a clear picture of the tool's behavior and output format, though it does not mention possible side effects (e.g., that it is read-only).

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?

The description is two sentences, front-loaded with the core purpose and followed by a concise explanation of the return value. Every word earns its place; there is no repetition of schema details or fluff.

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?

For a validation tool with two well-documented parameters and no output schema, this description is complete. It explains both the action and the nature of the response, so an agent knows exactly what to expect and does not need additional context to call it correctly.

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

Parameters3/5

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

The input schema already provides 100% description coverage for the two parameters (data and schema). The description does not add specific parameter-level meaning beyond what the schema states, so the baseline score of 3 is appropriate.

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?

The description clearly states the tool's purpose: 'Validate data against a JSON Schema.' This is a specific verb and resource, and it is immediately distinguishable from sibling tools like generate_json_schema or diff_schemas. The description also mentions the detailed error output, which further clarifies its role.

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

Usage Guidelines3/5

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

The description does not explicitly say when to use this tool versus alternatives, nor does it mention exclusions. However, the name and purpose make the use case obvious, and the sibling tools are distinctly different. The usage context is implied rather than explicitly stated.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv1.0.0
    • First observeddiff_schemas
    • First observedgenerate_json_schema
    • First observedgenerate_typescript
    • First observedmock_from_schema
    • First observedvalidate_schema

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: generation from data, generation from schema, validation, mocking, and diffing. No overlap or ambiguity between tool responsibilities, so an agent should reliably select the correct tool for a given task.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (generate_, validate_, mock_, diff_). The verbs are specific and descriptive, and the noun consistently refers to the primary artifact (schema or types). No mixed conventions or vague naming.

Tool Count5/5

With exactly 5 tools covering the core schema lifecycle, the count is tight and focused. Each tool earns its place, and the number is within the ideal range for a utility server without being overly minimal or bloated.

Completeness5/5

The set covers the major schema operations: creating schemas from data, generating types for coding, validating data, generating mocks, and comparing schemas for evolution. Together they form a coherent, end-to-end toolkit with no obvious dead ends or missing critical operations.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Detects schema mismatches between data producers and consumers through static analysis, supporting extraction, comparison, code generation, and automated validation with watch mode for MCP tools, APIs, and service contracts.
    11
    28
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to generate TypeScript types, Zod schemas, TypeBox, and JSON Schema from any API endpoint or JSON.
    15
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rog0x/mcp-schema-tools'

If you have feedback or need assistance with the MCP directory API, please join our Discord server