MCPFax Web Extract
Server Details
Read any web page as clean text for a prompt, or list every link on it.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 4 tools
Each tool has a clearly distinct role: read_page extracts page content, page_links extracts hyperlinks, request_data submits a data request, and demand_report reads aggregate demand. There is no real overlap that would cause an agent to pick the wrong tool.
All names are lowercase snake_case two-word names, which helps, but the pattern is mixed: read_page and request_data are verb-object while page_links and demand_report are noun-noun. The set is readable but does not follow a single predictable naming convention.
Four tools is a well-scoped size for a focused web-extraction and data-request server. Each tool earns its place and none feel redundant or missing as a category.
The core web extract loop is covered with page_links for navigation and read_page for content, plus demand_report and request_data for the data marketplace side. Minor gaps exist such as no batch/pagination handling or JS rendering, but those are explicitly out of scope and workable.
Available Tools
4 toolsdemand_reportWhat agents are asking for most (free)AInspect
FREE, no payment. The aggregate of what agents have told us they are looking for, most-requested first, with the categories nothing available yet serves.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Window in days, default 30, max 90. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It usefully discloses that the tool is free, returns an aggregate rather than individual requests, sorts by demand, and includes categories with nothing available yet. It does not explicitly state read-only behavior, but for a report tool this is a minor gap.
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?
The description is short but not fully polished: 'FREE, no payment' partly repeats the title's '(free)', and the phrase 'categories nothing available yet serves' is awkward. It is still compact, but the wording could be clearer.
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?
For a simple one-optional-parameter report with no output schema, the description provides enough context: it explains the free aggregate output, the ordering, and the inclusion of unserved categories. The remaining detail about the days parameter is covered by the schema.
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?
The input schema already fully documents the only parameter: days window, default 30, max 90. The description itself adds no parameter-level meaning, so the baseline of 3 applies.
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?
The description identifies the resource as an aggregate of what agents are looking for, states the ordering ('most-requested first'), and mentions unserved categories. This distinguishes it from the package_* siblings, though it does not explicitly differentiate from request_data.
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?
It implies when the tool is useful: get a free aggregate view of agent demand. However, it gives no explicit when-to-use/when-not-to-use guidance and names no alternatives, leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_linksEvery link on a pageAInspect
Every hyperlink on a page, resolved to absolute URLs, each with its anchor text and whether it stays on the same host. Use to crawl an index, find the real article behind a landing page, or enumerate a documentation table of contents before deciding what to read. Capped at 300 links. Costs $0.008 USDC per call via x402 on Base.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Absolute http(s) URL of the page whose links you want. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden and does well: it reveals link resolution to absolute URLs, the 300-link cap, the per-link output fields, and the $0.008 USDC cost via x402 on Base. It does not detail failure modes or redirect handling, but it is far more transparent than most tool descriptions.
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?
Three sentences with no filler: the first defines the output, the second gives usage contexts, the third states limits and cost. All information is relevant and front-loaded.
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?
For a single-parameter link extractor with no output schema and no annotations, the description covers the key runtime facts: output fields, normalization behavior, cap, and cost. It lacks explicit edge-case behavior (e.g., pages with no links or invalid URLs), but the provided context is sufficient for an agent to invoke it correctly.
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?
The schema already fully documents the single 'url' parameter with type, required flag, example, and description. The tool description merely refers to 'a page' and does not add meaningful parameter semantics beyond what the schema provides, so the baseline of 3 applies.
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?
The description states a specific operation: extracting every hyperlink from a page, resolving them to absolute URLs, and returning anchor text and same-host status. It also groups concrete use cases (crawl an index, find the real article behind a landing page, enumerate documentation TOC), making the tool's function unambiguous and distinct from typical read/request operations.
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?
Explicit use cases are given: crawling an index, finding the real article behind a landing page, and enumerating a documentation table of contents. However, it does not explicitly mention when not to use it or name alternative sibling tools, so it stops short of full exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_pageRead a web page as clean textAInspect
Fetch a URL and return its readable text with scripts, styles, navigation and markup stripped, plus the title, description, site name and publication date from the page's own metadata. Use whenever you need the contents of a page rather than a search result about it. Output is capped so it fits a prompt — raise maxChars if you need more. JavaScript is not executed, so a page that renders entirely client-side returns its shell, and the character count tells you when that happened. A site that blocks automated clients is reported honestly and is NOT charged. Costs $0.008 USDC per call via x402 on Base.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Absolute http(s) URL of the page to read. | |
| maxChars | No | Maximum characters of text to return. Default 12000, maximum 60000. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It richly discloses multiple non-obvious traits: JavaScript is not executed, client-side rendered pages return their shell, blocked sites are reported honestly and not charged, and output is capped. This is exemplary transparency.
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?
Every sentence earns its place: the first states the core action and result, and the rest covers usage context, limits, behavioral caveats, and cost. The most important information is front-loaded, and there is no filler.
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?
No annotations or output schema exist, yet the description sufficiently covers input expectations, output content and limits, failure behavior, and cost. For a two-parameter read tool, nothing essential is missing for an agent to select and invoke it correctly.
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 100%, so the baseline is 3. The description adds practical context around maxChars by explaining why it exists ('Output is capped so it fits a prompt — raise maxChars if you need more'), but the schema already documents both parameters adequately.
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?
The description opens with a specific verb and resource — 'Fetch a URL and return its readable text' — and enumerates what is stripped and what metadata is returned. This clearly distinguishes the tool from general search or raw HTTP retrieval.
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?
The description gives explicit guidance on when to use the tool: 'Use whenever you need the contents of a page rather than a search result about it.' It does not explicitly name sibling alternatives or state when not to use them, but the intended context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_dataTell us what data you are looking for (free)AInspect
FREE, no payment. Describe in your own words the data you are trying to buy — anything, not just web pages — and get back whether we operate a service that supplies it, with the MCP endpoint if so. Every request is catalogued so repeatedly-requested data gets built. Nothing identifying is stored, only the words of the request.
| Name | Required | Description | Default |
|---|---|---|---|
| need | Yes | What you are looking for. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden and does so well: it states the tool is free ('no payment'), that requests are catalogued for future data-building, that nothing identifying is stored, and that the response indicates service availability plus endpoint. It stops short of describing the exact behavior when no matching service exists, but the core traits are disclosed.
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?
Three sentences, each earning its place: cost, function/response, and privacy/cataloging behavior. The key differentiator ('FREE, no payment') is front-loaded, and the purpose statement precedes the caveats. Slightly verbose in the middle section, but well-organized.
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?
For a simple single-parameter tool with no output schema and no annotations, the description covers what an agent needs: what to submit, what to expect back (availability + endpoint), and behavioral caveats (cataloguing, privacy). The only gap is the precise response structure when the service does not supply the requested data, which the absent output schema forces the description to carry.
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 coverage is 100% and the schema already documents 'need' with an example. The description adds meaning beyond the schema by specifying that the input is freeform natural language ('in your own words') and that it accepts any data type, not just web pages, which clarifies the expected input format and scope.
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?
The description states a specific action and resource: describe the data you want and receive whether the service supplies it plus the MCP endpoint. It clearly distinguishes itself from the page-focused siblings (read_page, page_links) by emphasizing 'anything, not just web pages', and the title reinforces the free-form request nature.
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?
Usage context is implied rather than explicit. 'Anything, not just web pages' signals the agent this is the general-purpose discovery tool and contrasts with the page-oriented siblings, but no sibling is named and there is no explicit when-to-use/when-not-to-use guidance or exclusion statement.
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.
4 tool updates
- Changed
demand_report1 field changed- added
Input schema / properties / days / examplesAdded value: +[ + "30" +]
- Changed
page_links1 field changed- added
Input schema / properties / url / examplesAdded value: +[ + "https://blog.rust-lang.org" +]
- Changed
read_page2 fields changed- added
Input schema / properties / maxChars / examplesAdded value: +[ + "12000" +] - added
Input schema / properties / url / examplesAdded value: +[ + "https://en.wikipedia.org/wiki/Web_scraping" +]
- Changed
request_data1 field changed- added
Input schema / properties / need / examplesAdded value: +[ + "live electricity spot prices by ZIP" +]
4 tool updates
- First observed
demand_report - First observed
page_links - First observed
read_page - First observed
request_data
Related MCP Connectors
Link-preview metadata and clean page-to-Markdown for any public URL. No install.
Screenshot any URL/HTML as PNG/JPEG/WebP, or read it as clean Markdown/text for LLMs.
Read a URL as clean markdown, screenshot a website, url to PDF. Web access for agents, no signup.
Read any web page as clean Markdown for AI agents: fetch, search, metadata, links. SSRF-safe.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables fetching visible text content and extracting all links from web pages through URL requests. Designed specifically for LM Studio integration to provide web scraping capabilities.22-
- AlicenseAqualityAmaintenanceConverts any web page URL into clean Markdown for LLM context (Claude, ChatGPT, etc.) with zero external API calls, running entirely locally.145 npmMIT
- AlicenseNot gradedqualityAmaintenanceTurns any web page into clean, token-budgeted Markdown for AI agents, with no browser installation required.7MIT
- AlicenseNot gradedqualityDmaintenanceFetches web pages and converts them to markdown for LLM consumption, supporting chunked reading and raw content extraction.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.