Skip to main content
Glama

fetch_extract

Fetch a URL and return clean text stripped of HTML, scripts, and navigation. Reduces token count by 98% compared to raw HTML, saving costs for AI agents.

Instructions

Fetch a URL and return clean text, stripped of HTML, scripts, styles, and navigation. Benchmark (11 real pages): median 98.1% token reduction (53 820 → 2 001 tokens); saves ~$0.156/call at Sonnet pricing ($3/M tokens) vs loading raw HTML. Break-even at 26 KB pages — virtually all real pages qualify. Deterministic, parallel-safe, zero-setup. Note: does NOT run JavaScript — for client-side-rendered SPAs use screenshot_url or fetch_html instead (fetch_extract detects this and returns an error WITHOUT charging). Cost: $0.02 USDC on Base. First call free per wallet address.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to fetch and extract text from
maxCharsNoMax characters to return (default 8000, max 32000)
Behavior5/5

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

No annotations exist, so description fully discloses behavior: no JavaScript execution, deterministic, parallel-safe, zero-setup, cost details, and benchmark efficiency. It also notes error detection without charge, ensuring the agent understands limitations.

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 relatively long but well-structured, starting with main purpose, then benchmarks, then usage notes. Each sentence adds value, though some benchmark details could be condensed. Overall effective communication.

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?

Given no output schema and only 2 parameters, the description covers purpose, behavior, usage guidance, and cost. It could mention return format implicitly, but for a straightforward tool it is fairly complete.

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 coverage is 100% with good descriptions for both parameters. The description adds context about default/max for maxChars and stripping behavior, but does not add substantial new semantics beyond what the schema provides. Baseline 3 is appropriate.

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 clearly states the tool fetches a URL and returns clean text stripped of HTML, etc. It distinguishes from siblings like fetch_html and screenshot_url, making its purpose specific and distinct.

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?

Explicitly notes when not to use (client-side-rendered SPAs) and provides alternatives (screenshot_url, fetch_html). It also mentions error handling without charging for unsupported pages, giving clear guidance on suitability.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/icosaedro-git/toolsnap-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server