Skip to main content
Glama

agent-web — URL to LLM-ready markdown: a polite, robots-respecting web page reader (free)

Server Details

URL to clean markdown for LLMs: a polite, robots.txt-respecting web reader. Free, no API key

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
foomworks/agent-web
GitHub Stars
0
Server Listing
agent-web

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation4/5

Tools have distinct purposes (read full, read preview, render PDF, render preview, render screenshot). However, render_preview is a discovery stub for both PDF and screenshot, which could cause some ambiguity about which specific render tool it relates to.

Naming Consistency5/5

Consistent verb_noun pattern with underscores: read_url, read_url_preview, render_pdf, render_preview, render_screenshot. Naming clearly indicates whether the tool reads text or renders visual output.

Tool Count5/5

Five tools is appropriate for a web page reader that offers both text extraction and rendering capabilities. The set is neither too sparse nor overloaded.

Completeness4/5

The core read tools cover the primary purpose of fetching and converting URLs to markdown. The rendering tools are included but currently non-functional (return 503 or x402), leaving a gap in visual rendering capabilities. JavaScript-rendered pages are also unsupported.

Available Tools

5 tools
read_urlAInspect

Fetch one publicly reachable URL and return clean, LLM-ready markdown (title + page description + word count + markdown). HTML pages are extracted to markdown — including HTML tables, which become GitHub-flavored Markdown tables; URLs pointing straight at a Markdown or plain-text document (raw READMEs, llms.txt, docs) are passed through verbatim. Polite by design: honors the origin's robots.txt for our user-agent, identifies honestly, read-only GET, never bypasses anti-bot/CAPTCHA/paywalls. Free. JavaScript-rendered pages are not supported yet.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesabsolute http(s) URL of a publicly reachable HTML page
Behavior5/5

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

With no annotations, the description fully carries the burden of behavioral disclosure. It explicitly states it is read-only, polite, honors robots.txt, does not bypass anti-bot measures, and does not support JavaScript-rendered pages. This exceeds typical transparency expectations.

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 a single, coherent paragraph of six sentences. It is mostly efficient but could be slightly more concise by breaking into bullet points. However, it front-loads the main purpose and follows with details, making it easy to parse.

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 absence of an output schema, the description thoroughly explains the output format (title, description, word count, markdown) and how different inputs are processed (HTML vs plain text). It also covers limitations and behavioral constraints, making the tool's functionality fully understandable without additional documentation.

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?

The schema has 100% coverage with a single parameter 'url' described as 'absolute http(s) URL of a publicly reachable HTML page'. The description adds valuable nuance by explaining that plain text and raw Markdown files are also accepted and passed through, which is not evident from the schema alone. This compensates for any schema brevity.

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 publicly reachable URL and returns LLM-ready markdown with title, description, word count, and markdown content. It distinguishes from sibling tools like render_preview and render_screenshot by focusing on text extraction and conversion to markdown.

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?

The description provides clear context on when to use this tool: for publicly reachable URLs, especially HTML pages or plain text documents. It mentions limitations like no JavaScript-rendered pages and that it honors robots.txt. However, it does not explicitly name alternative tools for Js-heavy or paywalled content, though siblings like render_screenshot are implied.

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

read_url_previewAInspect

Like read_url but returns only the page description + the first ~600 characters of the markdown (title + word count + a truncation flag) — a cheap way to check a page's relevance before pulling the full text. Free.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesabsolute http(s) URL of a publicly reachable HTML page
Behavior4/5

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

With no annotations provided, the description carries full behavioral disclosure burden. It discloses that the tool is cheap/free, returns truncated content, and includes a truncation flag. It does not mention error behavior or rate limits, but for a simple preview tool this is largely sufficient.

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?

Two sentences with no wasted words. It front-loads the 'like read_url' comparison, immediately establishes the output scope, and ends with a usage hint. Every sentence earns its place.

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 low complexity (1 param), the description is quite complete: it specifies what the preview contains, when to use it, and indicates cost. Minor omission of error/edge-case behavior, but overall sufficient for the tool's simplicity.

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% (only one parameter, url, with a clear description). The description adds no additional meaning beyond what the schema provides for the parameter. 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 it returns a preview (page description + first ~600 characters of markdown with title, word count, truncation flag) of a URL. It explicitly distinguishes itself from sibling read_url by highlighting the reduced scope, which helps an agent differentiate between tools.

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 explicitly says it is 'a cheap way to check a page's relevance before pulling the full text.' This provides clear guidance on when to use this tool (cheap relevance check) vs. alternatives like read_url (full text). It also mentions 'Free', offering a cost hint.

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

render_pdfAInspect

PAID (x402): returns x402 payment instructions for a PDF render of a publicly reachable URL, via a real, robots-respecting headless browser. Currently soft-skips 503 until Cloudflare Browser Rendering is provisioned.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesabsolute http(s) URL to render to PDF
Behavior3/5

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

With no annotations, the description carries full burden. It discloses using a 'robots-respecting headless browser' and a 'soft-skip 503' behavior, but lacks details on return format, error handling, or payment flow. The behavioral traits are partially covered.

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?

Two sentences, front-loaded with the essential action, no redundant information. Every sentence adds value, from payment hint to current limitation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the paid nature, browser type, and a special behavior (503 skip), but does not explain what 'x402 payment instructions' are or how to handle them. Lacking output schema, the agent is left without return value info.

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% for the url parameter. The description does not add meaning beyond the schema's 'absolute http(s) URL to render to PDF'. Baseline score applies.

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 states it returns x402 payment instructions for a PDF render via a headless browser. It distinguishes from sibling tools like render_screenshot by specifying 'PDF render' and 'payment instructions', though the exact output (payment instructions vs. PDF) may cause confusion.

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 implies usage when a paid PDF render is needed ('PAID (x402)'), but does not explicitly state when to use versus alternatives like read_url or render_preview. No exclusions or prerequisites are provided.

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

render_previewAInspect

Free discovery stub for the screenshot/PDF render lane. Same robots/SSRF guards as read_url. Currently returns a 503 (no charge) until Cloudflare Browser Rendering is provisioned on this account.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesabsolute http(s) URL of a publicly reachable page
Behavior4/5

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

The description clearly states the tool currently returns a 503, has robots and SSRF guards similar to read_url, and is a free discovery stub. This sufficiently discloses the current behavior given the absence of annotations.

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 two sentences long, front-loads the purpose ('Free discovery stub'), and every sentence provides essential information without redundancy or excess.

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 simple tool with one parameter and no output schema or annotations, the description adequately covers purpose, current behavior, and limitations. It does not address future behavior but that is acceptable for a stub.

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?

The schema provides 100% coverage for the single parameter 'url' with a basic description. The description adds meaningful context about URL constraints (SSRF guards, robots.txt handling) and the tool's purpose, enriching semantics beyond the schema alone.

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

Purpose3/5

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

The description identifies the tool as a 'free discovery stub' for rendering screenshots/PDFs, giving a clear general purpose. However, it does not differentiate this stub from the actual render tools (render_pdf, render_screenshot) in terms of when one should be used over the other.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for testing the render pipeline without cost or triggering full rendering, but lacks explicit guidance on when to use this stub vs. the production render tools. No alternatives or exclusions are provided.

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

render_screenshotAInspect

PAID (x402): returns x402 payment instructions for a PNG screenshot of a publicly reachable URL, rendered via a real, robots-respecting headless browser. Use render_preview (free) first. Currently soft-skips 503 until Cloudflare Browser Rendering is provisioned.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesabsolute http(s) URL to screenshot
widthNoviewport width in pixels (default 1280)
fullPageNocapture the full scrollable page (default: viewport only)
Behavior4/5

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

Despite no annotations, the description discloses key behaviors: it is paid (x402), returns payment instructions (not the screenshot), uses a real browser that respects robots.txt, and currently soft-skips 503 errors. It does not detail response format or auth requirements beyond payment, leaving some gaps.

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 extremely concise: three sentences that front-load the core purpose (paid screenshot), followed by usage guidance and a current behavior note. Every sentence adds value without redundancy.

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 the tool's complexity (paid, payment flow, real browser, error handling), the description covers essential aspects. It mentions siblings and a prerequisite (publicly reachable URL). However, it lacks details on the payment process, expected response structure, and any rate limits, which would enhance completeness.

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?

The input schema already provides clear descriptions for all 3 parameters (url, width, fullPage) with 100% coverage. The tool description adds only the condition that the URL must be 'publicly reachable,' which is not in the schema. This adds marginal value beyond the schema.

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 returns payment instructions for a PNG screenshot of a publicly reachable URL, using a real headless browser. It distinguishes itself from sibling tools like render_preview (free) and render_pdf by specifying the paid, screenshot-focused nature.

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?

The description provides explicit guidance to use render_preview (free) first, which is an alternative. However, it does not elaborate on when not to use this tool beyond suggesting the preview, nor does it mention prerequisites like URL accessibility (only implied).

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.