Skip to main content
Glama

WebFetchIncisive

web_fetch_incisive
Read-only

Fetch and extract unsummarized web content as markdown from your device, bypassing proxy blocks and 403 errors. Target sections, search terms, or slices to get exactly the content you need.

Instructions

Fetch and extract unsummarized content from URLs as markdown.

Unlike web_fetch, fetches through the user's device instead of proxying through Anthropic's servers. Uses precise content extraction techniques and clean first-party APIs for navigating content instead of summarization. Use this for a rich content exploring experience that is not subject to 403 bans of data-center subnets, or when web_fetch is rejected with PERMISSIONS_ERROR.

Targeted extraction (preferred over fetching full pages):

  • section="Syntax" — extract a specific section by heading name

  • auto_expand=True — with section=, also return everything filed under that heading (its subsections). Off by default: a heading's subtree can be one to two orders of magnitude larger than its own content, so ask for it when you want a whole chapter, a clause with its sub-clauses, or a comment with its replies in one call

  • search="terms" — keyword search over ~500-token slices, ranked by BM25

  • slices=[3, 4, 5] — retrieve specific slices by index

  • URL fragments (#section-name) are resolved automatically as sections

RECOMMENDED WORKFLOW: For pages of substantial or unknown length, call web_fetch_sections first to map the heading tree, then come back here with precise section= or slices= targets. A full-page fetch is rarely the right first move — it fills context with material you don't need and discards the structural information that makes follow-up queries cheap. For Reddit threads, web_fetch_sections returns the comment tree instead.

search= operators (tantivy query language):

  • foo bar — match any term (whitespace is OR)

  • +foo +bar — require both terms

  • foo -bar — exclude 'bar'

  • "exact phrase" — adjacent words in order

  • "some words"~3 — phrase with up to 3-word gaps

  • (foo OR bar) baz — grouping + AND/OR/NOT

  • foo~ — fuzzy match (edit distance) Matching is case-insensitive; no stemming (search for both 'prompt' and 'prompts' if you want either). Stray punctuation in natural-language queries is silently dropped. Scripts written without spaces between words (Japanese, Chinese, Korean, Thai) are indexed by character n-gram: write each term unspaced, as it appears in the text, and it will match inside a clause. Such a term matches within one punctuation-delimited clause, so do not join across a 、 or 。

For Wikipedia and other MediaWiki pages, a dedicated companion tool offers footnote and inline-citation resolution that this fast path can't provide. When the target page has those reference types, the response frontmatter surfaces a see_also hint pointing at it.

Always use this tool for Reddit URLs — built-in fetch tools cannot access Reddit content when proxied. Handles posts, subreddit listings, user pages, and comment permalinks; a permalink scopes output to the linked comment while caching the whole thread for follow-up section=/slices= queries.

JavaScript-dependent pages: a plain fetch returns static HTML. When that comes back as an empty shell, the response frontmatter says so — retry with requires_js=true to render through a headless browser. requires_js is the heavier path; reach for it in response to that signal, not by default. Pass actions to run a ReAct interaction chain before extraction (supplying actions implies requires_js):

  • {"action": "click", "selector": "button#submit"}

  • {"action": "fill", "selector": "input[name=query]", "value": "search term"}

  • {"action": "select", "selector": "select#region", "value": "us-east"}

  • {"action": "wait", "selector": ".results-loaded"} A browser render annotates interactive elements for follow-up actions; max_elements caps that list, and 0 omits it.

Supports HTML, plain text, JSON, and XML content types.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
searchNo
slicesNo
actionsNo
sectionNo
max_tokensNo
auto_expandNo
requires_jsNo
max_elementsNo
Behavior5/5

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

Annotations only include readOnlyHint: true, but the description goes far beyond this. It discloses that the fetch happens through the user's device, reddit HTML/JS behavior, 'a plain fallback returns static HTML', 'requires_js is the heavier path', and that response frontmatter contains signals. There is no contradiction with readOnlyHint; the operation is a read.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but exceptionally well structured. It uses bold labels (TARGETED EXTRACTION, READ WORKFLOW, READTION CHAIN and OPERATORS) and lists, breaking the content (browsing into scannable pieces). Every section earns its cost; no wasted sentences or vague filler.

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 9 params, zero schema coverage, and no output schema, this description is as thorough as one could expect. It explains the core purpose, extraction modes, search semantics, JavaScript fallbacks, Reddit scope, and the frontmatter signal. It gives an agent everything needed to choose correctly and call the tool productively.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully compensates. It explains each extraction parameter: section, autoexpand, search with full operator syntax, slices, URL fragments, brackets for actions, requires_js, and the max_elements cap on the annotated interactive-element list. It also covers edge cases like East Asian n-gram matching and Reddit thread caching.

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 is explicit and precise: 'Fetch and extract unsummarized content from URLs as markdown.' It describes a specific verb, resource, and output format, and differentiates itself from the web_fetch sibling by noting it fetches through the user's device and uses precise extraction instead of summarization.

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?

The description gives extensive when-to-use guidance: 'Use this for a rich content exploring experience... not subject to 403 bans... or when web_fetch is rejected with PERMISSIONS_ERROR.' It explicitly recommends a workflow: 'call web_fetch_sections first... then come back here.' It also provides a hard rule: 'Always use this tool for Reddit URLs' and tells when to use alternative or additional tools like the MediaWiki companion.

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/blightbow/parkour-mcp'

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