Skip to main content
Glama

Unstructured Text to Typed JSON Entity & Record Extractor

extract_structured_json_entities
Read-onlyIdempotent

Extracts structured JSON records, named entities, dates, and financial figures from unstructured prose, emails, or HTML/Markdown dumps. Use when converting unstructured natural-language text into a structured JSON array of entities; for validating and coercing an existing JSON payload against a formal JSON Schema, use enforce_json_schema_types instead. Stateless read-only edge call (max 32 KB, 60 RPM): accepts 'text' ('extraction_target' defaults to 'general_entities_and_metrics'), supports '?demo=true' or L402 (25 sats), and returns HTTP 400 if invalid.

Input Schema

NameRequiredDescriptionDefault
textYesUnstructured document, email body, or webpage text to extract structured entities from.
extraction_targetNoPrimary entity domain to extract; defaults to 'general_entities_and_metrics' when omitted.

Output Schema

NameRequiredDescriptionDefault
modelYesExtraction model executed ('gemini-3.8-flash').
successYesTrue when entity extraction succeeded.
records_countYesNumber of distinct entity records extracted.
extracted_dataYesStructured JSON object or array containing the extracted entities.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is largely covered. The description adds genuinely useful operational context beyond that: statelessness, a 32 KB payload cap, a 60 RPM rate limit, ?demo=true or L402 (25 sats) authorization, and an HTTP 400 on invalid input. However, it does not describe what the returned array's element shape or ordering is, leaving a real gap for a tool whose whole output is a JSON structure.

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?

Two sentences, front-loaded with purpose, then routing, then operational constraints, with no filler. The second sentence becomes a long comma- and colon-chained run-on mixing limits, auth, and error behavior, which slightly hurts scannability but costs no meaningful length.

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 an output schema present, the description need not explain return values, and it covers the remaining agent-critical facts: input size ceiling, rate limit, auth options, default extraction target, and failure mode. Nothing needed to invoke it successfully is missing.

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 both 'text' and 'extraction_target' are already documented, including the enum's four domains. The description only restates the default ('extraction_target' defaults to 'general_entities_and_metrics'), which duplicates the schema, and adds no extraction heuristics per domain. Baseline 3 is appropriate when the schema carries the parameter burden.

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 ('Extracts') and a specific set of resources ('structured JSON records, named entities, dates, and financial figures') from a clearly scoped input ('unstructured prose, emails, or HTML/Markdown dumps'). It also explicitly differentiates itself from the nearest sibling, enforce_json_schema_types, so an agent can choose between them without opening either schema.

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

Usage Guidelines5/5

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

Gives an explicit use condition ('Use when converting unstructured natural-language text into a structured JSON array of entities') and names the alternative tool plus the condition that selects it ('for validating and coercing an existing JSON payload against a formal JSON Schema, use enforce_json_schema_types instead'). The routing decision is fully specified with no inference required.

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.