Skip to main content
Glama

data.contract

Read-onlyIdempotent

Normalize caller-supplied CSV, TSV, JSON, JSON Lines, or YAML to deterministic JSON, infer a Draft 2020-12 schema from that normalized value, and validate one future JSON value in a single x402 call.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatYesSource format; use jsonl for JSON Lines or NDJSON
contentYes
instanceYesFuture JSON-compatible value to validate against the schema inferred from content
root_modeNoKeep the compatible array-of-records contract, or preserve the JSON/YAML root shaperecords
max_errorsNo
check_formatsNoAssert supported JSON Schema formats during future-value validation

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesStructured Structured data contract result
metaYes
serviceYes
versionYes
request_idYesUnique request identifier

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false; the description adds context by specifying deterministic JSON, the exact schema version, and the single-call pipeline. It does not contradict the annotations, and it clarifies the operation is non-mutating and repeatable.

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 entire description is one sentence that front-loads the primary action and keeps all details necessary. It avoids filler and each clause adds distinct information.

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 three-stage tool, the description explains the pipeline at a high level, and the output schema covers return details. It does not discuss failure modes or the effect of root_mode/max_errors, but those are partially described in the input schema, making this adequate but not exhaustive.

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 covers 67% of parameters with descriptions (format, instance, root_mode, check_formats), and the description complements them by linking format/content to the normalization step. However, content and max_errors remain without extra explanation, and the description doesn't add syntax or edge-case details beyond the schema.

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 specific verbs (normalize, infer, validate) and names concrete formats (CSV, TSV, JSON, JSON Lines, YAML) plus a schema version (Draft 2020-12). It clearly distinguishes this from sibling data tools by framing a combined pipeline, with 'validate one future JSON value' as the unique deliverable.

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 a use case (processing structured data into a contract and checking a future value) but does not explicitly state when to prefer this over data.convert, data.schema, or data.schema-validate, nor does it mention exclusions. Without explicit alternatives or when-not-to-use, guidance remains only implied.

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.

TDQS

A3.8/5.0
Disambiguation4/5

Tools are grouped into clear domain prefixes (crypto, data, developer, document, research, web) and each tool name describes a specific function; however, a few umbrella tools like web.full-audit and data.contract overlap with their more targeted counterparts, creating minor ambiguity.

Naming Consistency5/5

All tool names follow a consistent pattern: a domain prefix, a dot, and a hyphenated lowercase compound name (e.g., crypto.base-block-inspect, web.seo-audit). This makes naming predictable and easy to scan.

Tool Count1/5

At 63 tools, the surface area is very large and exceeds the 50+ threshold for extreme mismatch. While the tools are organized into six domains, the sheer number makes it difficult for an agent to select efficiently, and some tools are bundled combinations of others.

Completeness5/5

Each domain offers a thorough set of operations: crypto covers address, account, block, contract, events, gas, and transaction inspection; data covers cleaning, conversion, schema, and validation; developer covers code review, dependency/license audits, and test generation; research covers SEC, OFAC, GLEIF, and USAspending; web covers extraction, SEO, security, and performance. No obvious dead ends exist for the read-only/inspection purpose.

Resources