Skip to main content
Glama

url_to_json

Read-onlyIdempotent

Point at a page, name the fields, get JSON — One call replaces two: fetches the page, strips it to readable text, then returns exactly the fields you asked for as schema-enforced JSON (fields=price,author,published — up to 10). Add list=true to pull EVERY repeated record on the page (listings, table rows, search results) as an array — that mode costs $0.06, since it needs a much larger output budget. Built for agents that need a fact off a page, not a pile of HTML — no browser, no parser, no scraping code. Required inputs: url, fields. Priced $0.01 per call over x402 on Base; send a prepaid x-credit-token header for unlimited calls (no free tier on this tool). No API key required.

Input Schema

NameRequiredDescriptionDefault
urlYesPage URL
listNoExtract all records (true/false)
fieldsYesFields (comma-separated)

Output Schema

NameRequiredDescriptionDefault
dataNoThe result payload. Shape is service-specific; every field is documented in the tool description.
serviceNoThe service id that answered.
checkedAtNoISO-8601 timestamp of when the underlying reads were taken.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / data / description
      Previous value: -"The result payload. Shape is service-specific; every field is documented in the service description above."New value: +"The result payload. Shape is service-specific; every field is documented in the tool description."
  2. Changed1 schema field changed
    • removedOutput schema / required
      Removed value: -[
      -  "data"
      -]
  3. Added

TDQS

A4.2/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent/openWorld annotations by disclosing pricing ($0.01 per call, $0.06 for list mode because of a larger output budget), the payment rails (x402 on Base), the auth mechanism (prepaid x-credit-token header, no API key), and the absence of a free tier. The 10-field cap on the default path is an important operational limit an agent would otherwise discover only by failing.

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?

Front-loaded with the core value proposition and dense with useful detail, but 'no browser, no parser, no scraping code' is a triple restatement and the pricing sentence packs several distinct facts that could be split for scannability.

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?

An output schema exists, so return-shape explanation is unnecessary, and cost/auth — the highest-risk unknowns for a paid tool — are fully covered. Minor gaps remain around failure behavior (paywalled pages, JS-only pages) since openWorldHint implies an unbounded target space.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% but the schema text is thin ('Page URL', 'Extract all records (true/false)'), so the description's additions matter: it shows the comma-separated fields format, caps fields at 10, and clarifies that list=true returns an array of every repeated record. Only the string-typed boolean for list is left unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening line gives a specific verb+resource+output: fetch a page, name fields, receive schema-enforced JSON, with a concrete example (fields=price,author,published). It implicitly separates itself from raw-scrape tools via 'not a pile of HTML — no browser, no parser,' but it never names the obvious siblings (url_extract, web_extract, ai_extract) it must be chosen over, which keeps it at 4 rather than 5.

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?

Clear usage context is given: 'Built for agents that need a fact off a page,' plus the precise condition for switching modes (add list=true for repeated records). However, there is no explicit when-not-to-use or routing to the sibling extraction tools, and no guidance on what pages are unsupported.

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.

Resources