webread
Read public web pages as clean Markdown locally through an MCP tool.
Fetch an absolute
http(s)URL and return its main content as Markdown, stripping navigation, scripts, and ads.Include page title and description, with links converted to absolute URLs.
Respect
robots.txtand refuse private/internal addresses for SSRF safety.Run locally, so page content is not sent to WebRead.
Control output size with
maxChars(default 50,000; maximum 200,000).Use read-only, open-world access via the
read_urltool.
WebRead
URL to clean Markdown for AI agents (MCP server + x402 API).
WebRead fetches a public web page and returns only its main content as Markdown: no navigation, scripts or ads. Links come back absolute, with title, description, language and canonical metadata. It respects robots.txt and refuses private/internal addresses (SSRF-safe).
Hosted remote MCP:
https://api.youraitools.co/webread/mcp(Streamable HTTP)Free tier: 30 full reads/day per IP (full Markdown, up to 200,000 characters) on the remote MCP endpoint, then $0.002 USDC per successful read over x402, in USDC on Base, Polygon, Arbitrum One or Solana. No account or API key.
Hosted API: https://api.youraitools.co/webread (
GET /v1/read?url=<page>($0.002; failed reads are free), freeGET /v1/read/preview?url=<page>(first 2,000 characters, 10/min per IP))Local stdio MCP server: this repo. Starts with no key, no account and no npm registry package.
MCP Registry:
co.youraitools/webreadLicense: MIT
Use the hosted server (no install)
Claude Code:
claude mcp add --transport http webread https://api.youraitools.co/webread/mcpClaude Desktop: Settings > Connectors > Add custom connector with the URL above, or in claude_desktop_config.json:
{ "mcpServers": { "webread": { "command": "npx", "args": ["-y", "mcp-remote", "https://api.youraitools.co/webread/mcp"] } } }Cursor (~/.cursor/mcp.json), or one click: Add to Cursor
{ "mcpServers": { "webread": { "url": "https://api.youraitools.co/webread/mcp" } } }Each free result includes an upgrade field with the calls left today. Past the daily limit the tool returns a payment_required (402) result with the paid x402 URL.
Related MCP server: crawl-mcp-server
Self-host: run from source (no npm registry)
Requires Node.js 20+ (or Docker). The server has no runtime dependencies.
git clone https://github.com/Duffey234/webread.git
cd webread
npm ci --omit=dev
node src/mcp-stdio.js # stdio MCP server (newline-delimited JSON-RPC 2.0)No git? Download the source tarball from the mirror instead: curl -sL https://agentgate-source.pages.dev/x402-url-to-markdown/x402-url-to-markdown.tar.gz | tar xz.
MCP client config (use the absolute path of your checkout):
{ "mcpServers": { "webread": { "command": "node", "args": ["/absolute/path/to/webread/src/mcp-stdio.js"] } } }Claude Code: claude mcp add webread -- node /absolute/path/to/webread/src/mcp-stdio.js
Tool read_url reads pages locally on your machine with the same SSRF-safe, robots.txt-respecting reader and HTML-to-Markdown converter the hosted API uses (default 50,000 characters, max 200,000). Nothing is sent to WebRead.
Docker
docker build -t webread-mcp .
docker run -i --rm webread-mcp{ "mcpServers": { "webread": { "command": "docker", "args": ["run", "-i", "--rm", "webread-mcp"] } } }Test
npm test # full test suite (node:test, Node 20 and 22, no network, no key)Full source
The complete hosted service (Cloudflare Worker, x402 v2 + v1, remote MCP) is on the source mirror: https://agentgate-source.pages.dev/x402-url-to-markdown/
Built by YourAITools. Informational tooling; no warranty.
Available Tools
1 toolread_urlRead a web page as MarkdownARead-only
Fetch a public web page and return its main content as clean Markdown (no navigation, scripts or ads), with title and description. Respects robots.txt and refuses private/internal addresses. Runs locally; maxChars defaults to 50,000 (max 200,000).
Inputs: url (required), maxChars.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 1 tool
There is only one tool, so there is no possibility of misselection or overlapping purpose. Its scope (fetch a URL, return clean Markdown) is unambiguous.
read_url follows a clear verb_noun snake_case convention. With a single tool there is no inconsistency, and the name directly reflects the action.
A single tool is thin in absolute terms, but it is well matched to a narrowly scoped server whose sole job is fetching and cleaning web page content. The count is defensible rather than excessive or arbitrary.
For its stated purpose of reading a page as Markdown, the core operation is fully covered with sensible safety constraints (robots.txt, private address refusal, char limits). Minor gaps remain, such as batch fetching, link extraction, or explicit fallbacks when a page is JS-rendered or blocked.
Maintenance
Related MCP Connectors
Web scraping MCP server: any URL to Markdown or JSON, with JavaScript rendering and batch jobs.
MCP server (stdio): fetch web pages as clean readable markdown via the AgentForge API
MCP Server for Web2MD — convert URLs to Markdown from Claude Desktop, Cursor, etc.
Turn any public website into an MCP server for agents to search, read and navigate.
Related MCP Servers
- AlicenseDqualityDmaintenanceAn MCP server that extracts meaningful content from websites and converts HTML to high-quality Markdown, using Mozilla's Readability engine.115,407 npm8MIT
- FlicenseNot gradedqualityNot gradedmaintenanceAn MCP server for web content extraction that converts HTML pages into clean, LLM-optimized Markdown using Mozilla's Readability. It supports batch processing, intelligent multi-page crawling, and configurable caching while respecting robots.txt standards.48 npm-
- AlicenseNot gradedqualityNot gradedmaintenanceAn MCP server that extracts clean, structured Markdown content from web page URLs using the WebforAI library. It simplifies feeding web content into AI models by removing HTML noise and intelligently processing tables and links.-
- AlicenseNot gradedqualityBmaintenanceMCP server for retrieving web pages as clean Markdown, with configurable detail levels and optional Chromium rendering for JavaScript-heavy pages.48 PyPI1MIT