Extract fields
extractReturn schema fields from one public page. A miss returns compile_disabled.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| max_age_s | No | ||
| json_schema | Yes |
extractReturn schema fields from one public page. A miss returns compile_disabled.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| max_age_s | No | ||
| json_schema | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
"A miss returns compile_disabled" is a genuinely useful disclosure of an error path. However, the annotations declare readOnlyHint=false, and the description never explains why a tool that "returns" fields is not read-only — presumably extraction compiles/caches an extractor, but the agent must guess. max_age_s suggests caching behavior that is never described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the action front-loaded and no filler. It is efficient, though the brevity crosses into under-specification rather than tight precision.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero schema coverage, a nested object parameter, no output schema, and a non-obvious readOnlyHint=false annotation, the description does far too little. An agent cannot know the json_schema contract, what max_age_s does, or why the operation is not read-only.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters. The description only loosely gestures at url ("one public page") and json_schema ("schema fields"); max_age_s is never mentioned, and the shape/format of the nested json_schema object — the hardest parameter to get right — is left entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Return schema fields from one public page" gives a verb and a scope, but "schema fields" is ambiguous — it could mean fields defined by the json_schema parameter or fields scraped from the page. The phrase "one public page" implicitly contrasts with extract_batch, but neither sibling is named and explain_extractor is not distinguished at all.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to choose this over extract_batch (multiple pages) or explain_extractor (understanding an extractor). The only routing signal is the incidental word "one", which the agent must infer means "single page".
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.