Skip to main content
Glama

schema-sieve-mcp

Schema Sieve is a local MCP tool for understanding JSON Schema files while planning tests. It focuses on the part that usually takes the most time: finding required paths, nested constraints, unions, arrays, and likely sensitive fields before writing fixtures.

Tools

  • inspect_schema: summarize types, properties, required fields, constraints, composition, and references.

  • plan_fixture: produce placeholder paths such as <string>, <integer>, and <string:date-time> without inventing or copying test data.

Related MCP server: openapi-mcp-proxy

Safety

  • Only local JSON files are accepted.

  • Paths are bounded by SCHEMA_SIEVE_ROOT, which defaults to the workspace parent when launched from the package.

  • Files are capped at 2 MB and results are bounded.

  • Examples, defaults, constants, and sensitive-like property names are omitted or marked as omitted.

  • This is structural guidance, not a JSON Schema validator and not a security scanner.

Run

npm install
npm run build
node dist/index.js

Available Tools

2 tools
inspect_schemaA

Summarize a local JSON Schema's types, properties, required fields, composition, and constraints without returning examples or defaults.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesLocal JSON Schema file. Network URLs are not accepted.

TDQS

A4/5.0
Behavior3/5

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

The description adds behavioral context by stating that examples and defaults are not returned, which is useful. However, with no annotations provided, it does not fully disclose the return format or potential errors, though the read-only nature is implied by 'summarize'. This is acceptable but not thorough.

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 a single, concise sentence that front-loads the main purpose ('Summarize a local JSON Schema') and includes a specific constraint without wasted words. It is highly efficient.

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 tool with one parameter, no output schema, and no nested objects, the description is adequately complete. It clearly states what the tool does and what it omits, though it could explicitly mention the return format. The simplicity of the tool lowers the required detail.

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 schema description coverage is 100%, with the parameter 'file' fully described as a local JSON Schema file and network URLs not accepted. The tool description does not add further parameter details, so the baseline of 3 applies.

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 function: summarizing a local JSON Schema's types, properties, required fields, composition, and constraints. This is specific and distinguishes it from the sibling tool 'plan_fixture' by focusing on inspection rather than planning.

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 implies when to use the tool (for local JSON Schemas) and the parameter description explicitly excludes network URLs, providing a clear context. However, it does not explicitly compare to alternatives like 'plan_fixture', so it lacks an explicit exclusionary guideline.

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

plan_fixtureA

Create a privacy-safe placeholder plan for test fixture fields in a local JSON Schema. It does not fabricate or copy example data.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileYesLocal JSON Schema file. Network URLs are not accepted.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It explicitly discloses key behaviors: it is privacy-safe, creates a plan rather than actual data, and does not fabricate or copy example data. This goes beyond a generic 'create' tool, though it does not detail return values or side effects, so a 4 is appropriate.

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 with no waste. The first sentence front-loads the verb and resource, and the second sentence adds an important behavioral caveat. Every word earns its place.

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 simple tool with a single well-documented parameter, the description covers the purpose, a key constraint (local file), and a behavioral guarantee (privacy-safe, no copying). It does not explain the exact output format, but given the tool's name and description ('create a plan'), this is likely self-evident. Overall, reasonably 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?

The input schema already covers 100% of the single parameter 'file', including a description ('Local JSON Schema file. Network URLs are not accepted.'). The tool description reinforces the 'local' aspect but adds no new meaning beyond the schema, so the baseline score of 3 is correct.

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 uses a specific verb ('Create') and clearly identifies the resource ('privacy-safe placeholder plan for test fixture fields in a local JSON Schema'). It also states what the tool does not do ('does not fabricate or copy example data'), which distinguishes it from sibling inspect_schema that likely focuses on reading schema details.

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 gives clear context about what the tool does and its privacy-safe nature, implying when to use it (e.g., when needing test fixture placeholders without copying data). However, it does not explicitly mention when not to use it or name alternatives such as inspect_schema, so it falls short of a full 5.

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.

  1. 2 tool updatesv1.0.0
    • First observedinspect_schema
    • First observedplan_fixture

TDQS

A4.2/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: inspect_schema provides a summary/description of the schema, while plan_fixture creates a placeholder plan for test fields. There is no overlap in their responsibilities.

Naming Consistency5/5

Both tool names follow a consistent verb_noun pattern (inspect_schema, plan_fixture), using the same underscore style and analogous structure. The naming is predictable and coherent.

Tool Count3/5

With only two tools, the set is on the thin side. While each tool serves a distinct purpose and fits a narrow domain, the count is at the lower boundary of what is typically considered well-scoped.

Completeness4/5

The tools cover the core workflow of inspecting a schema and planning fixtures without exposing example data. Minor gaps exist, such as a tool to validate or compare schemas, but the two tools together provide a coherent, non-redundant surface for the stated purpose.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    A MCP server that exposes OpenAPI schema information to LLMs like Claude. This server allows an LLM to explore and understand large OpenAPI schemas through a set of specialized tools, without needing to load the whole schema into the context
    48 npm
    49
    MIT
  • 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
    8 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    JSON Contracts is a local MCP server for transforming natural language into Git-controlled JSON contracts, JSON Schema validation, and structured LLM/agent outputs.
    8
    25 npm
    1
    Apache 2.0