Skip to main content
Glama

Structure to your schema

parserail_structure

Convert messy text, HTML, or emails into JSON that matches your schema, with validation against required fields and automatic corrective retries. Produces a valid flag for confirmation.

Instructions

Any messy input, text, HTML, an email, plus YOUR JSON schema → output shaped to it, validated against your required fields and property types, with an automatic corrective retry and a valid flag. Costs credits from the account wallet.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputYesAny messy input, text, HTML, an email, a JSON blob.
schemaYesThe JSON Schema the output must conform to.
instructionsNoOptional extra guidance.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.5

TDQS

A3.9/5.0
Behavior4/5

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

The description discloses meaningful behavior beyond the sparse annotations (readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false): validation against required fields/property types, an automatic corrective retry, a `valid` flag in the result, and that it costs credits from the account wallet. The cost disclosure is particularly valuable and not present in any structured field. No contradiction with annotations — the non-destructive transformation aligns with destructiveHint=false.

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

Conciseness4/5

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

A single dense sentence with an arrow progression that front-loads the core purpose and packs in validation, retry, and cost details without filler. Efficient, though slightly dense; it earns its words with no waste.

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 a custom user-supplied schema and no output schema, the description conveys the essential contract: input, schema, validation, corrective retry, and the valid flag. It covers cost and non-destructive behavior well. The only gap is failure handling after corrective retries exhaust — what happens when the output never validates — but the description is otherwise complete for an agent 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?

Schema description coverage is 100% for all three parameters (input, schema, instructions), so the baseline is 3. The description adds modest reinforcement — characterizing input as 'messy input, text, HTML, an email' and schema as 'YOUR JSON schema' — but doesn't add materially new semantics beyond what the schema descriptions already state. It confirms rather than extends.

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 states a specific verb-resource contract: take messy input (text, HTML, email) plus a user-supplied JSON schema and produce output shaped to it, validated against required fields and property types. The phrase 'plus YOUR JSON schema' clearly differentiates this general-purpose tool from the 40 specialized siblings (resume, invoice, contract) that use fixed schemas.

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 the use case — 'any messy input ... plus YOUR JSON schema' — but never explicitly says when to choose this over a specialized sibling like parserail_resume or parserail_invoice. The differentiation from alternatives is implicit rather than stated; it would be stronger with an explicit 'use this for custom schemas not covered by specialized tools' clause.

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