Skip to main content
Glama

Backfill Fetch

Server Details

Pay-per-fetch web extraction for agents: POST a URL, get clean markdown. x402 USDC on Base.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-03-26
URL

TDQS

A3.9/5.0

Scored across 2 tools

Disambiguation4/5

The two tools are mostly distinct: fetch_page returns readable markdown, while extract_data returns schema-shaped JSON. Both perform web fetching and share escalation behavior, so an agent could initially hesitate, but the output formats and descriptions clarify the boundary.

Naming Consistency5/5

Both names follow a clear verb_noun snake_case pattern: extract_data and fetch_page. There is no mixing of conventions or vague naming.

Tool Count3/5

Two tools is quite thin for a fetch/extraction service, even a narrow one. The set is coherent and each tool earns its place, but the surface feels minimal and relies on the paid HTTP API for any non-free operation.

Completeness4/5

The core use cases of fetching readable page content and extracting structured data are covered. Minor gaps exist around batch fetching, crawling, or richer fetch metadata, and paid operations are intentionally delegated to the HTTP API rather than exposed over MCP.

Available Tools

2 tools
extract_dataAInspect

Extract structured data from a web page, returned as JSON matching a JSON Schema you supply, via Backfill Extract. The service fetches the URL (a plain fetch first, with escalation when the plain fetch returns a bot wall or a JavaScript shell) and extracts the data described by the schema. Extraction is always a paid call (x402, USDC on Base: $0.15 fresh, $0.05 for a cached result), so a call over MCP returns an error directing you to the paid HTTP API at POST https://backfill.top/v1/extract; payment is never attempted over MCP.

NameRequiredDescriptionDefault
urlYes
modeNoauto
schemaYesA JSON Schema object describing the data to extract

TDQS

A4/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so unusually well: it discloses that every extraction is a paid call, the exact pricing ($0.15 fresh / $0.05 cached), that MCP calls return an error directing to the HTTP API, and that payment is never attempted over MCP. It also explains the fetch escalation path for bot walls and JS shells.

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?

Three dense sentences with the purpose front-loaded and no filler. The payment and error-redirect details are essential, though the pricing parenthetical is slightly heavy for a tool that will always error over MCP.

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 whose actual MCP behavior is 'always error and redirect to the paid HTTP endpoint,' the description covers what an agent needs to know: cost, endpoint, and that payment won't happen over MCP. The only gap is the unexplained 'mode' enum, which matters since no output schema exists.

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

Parameters2/5

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

Schema coverage is only 33%. The description hints at the 'auto' mode's escalation behavior but never explains the 'plain' vs 'render' enum values, and adds nothing about the 'url' parameter. The 'schema' parameter is documented in the schema itself, but the mode parameter remains underspecified across both fields.

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 and resource ('Extract structured data from a web page') plus the output contract ('JSON matching a JSON Schema you supply') and names the backing service. An agent immediately knows what this does and that it differs from a raw fetch.

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 explains the internal fetch strategy and the payment requirement, which implies the use case, but it never names or contrasts the 'fetch_page' sibling or states when to prefer it. Usage is inferable rather than explicit.

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

fetch_pageAInspect

Fetch a web page and return its readable content as clean markdown, via Backfill Fetch. The service fetches the URL (a plain fetch first, with escalation when the plain fetch returns a bot wall or a JavaScript shell) and extracts the content. Calls are answered free when the fetch is free — a plain fetch inside the daily allowance, or a cache hit inside the free cache allowance. When serving the page would require payment (x402, USDC on Base), the call returns an error directing you to the paid HTTP API at POST https://backfill.top/v1/fetch; payment is never attempted over MCP.

NameRequiredDescriptionDefault
urlYes
modeNoauto

TDQS

A3.8/5.0
Behavior5/5

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

This score is high because the description handles the entire behavioral profile in detail, covering the fetch escalation process (plain fetch first, then bot wall/JS shell), the pricing model, and the mandated failure path (external paid API link). Since no annotations exist, this detail is critical context that would otherwise be missing.

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?

The description is highly dense and verbose, but its information is logically grouped: Definition -> Mechanics -> Cost/Error Handling. Every long sentence serves a necessary purpose, making its length justifiable.

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?

Given the complexity of the service (dynamic fetching, escalation, external payment processing), the description is extremely complete. It successfully explains the service's operational lifecycle and its failure modes, which is essential for this type of external tool.

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

Parameters2/5

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

Schema coverage is 0%, meaning the description must define the parameters. The description only refers to the general action of fetching; it fails to explain the semantics or specific impact of the `mode` enum (auto, plain, render) or the required `url` format beyond generic fetching context.

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 description clearly defines the function as fetching a web page and returning readable markdown. While it doesn't explicitly detail how this differs from `extract_data`, the functional distinction (fetching vs. content extraction) is implied and well-established.

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?

It provides excellent operational guidelines regarding when the call is free (cache hits/daily allowance) versus when it requires payment and fails (402 error). However, it gives minimal guidance on when to use this tool relative to other fetching tools, offering no specific criteria for selecting it over alternatives like `extract_data`.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • First observedextract_data
    • First observedfetch_page

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Pay-per-use clean web reader for AI agents. URL in, markdown plus metadata out, in milliseconds. Settled per-call in USDC over x402 — no signup, no API keys.
    1
    108 npm
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables agents to convert any URL into clean, structured, agent-optimized content with a single paid call, paying $0.02 USDC per successful extraction via x402 on Base without API keys or accounts.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables extracting clean Markdown from any webpage by paying $0.005 USDC per call via the x402 protocol, with automatic wallet-based payment settlement.
    7 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources