url2md
Any URL to Markdown, JS pages and PDFs included. Your agent pays per call over x402. No account.
The current version, v0.1.3, was published to the official MCP registry on 2026-09-12. It is distributed as @url2md-io/mcp on npm, filed under Documents & Spreadsheets by this index, and declares 6 environment variables. Removals and unreachable sources are measured across every server this index tracks, contract drift across the servers that answer in consecutive snapshots; the index's current counts put this record in context.
Using url2md in Claude, Cursor, Gemini CLI, Cline, or Zed?
MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).
Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less
uv tool install mcpindex-gate && mcpindex-config-wireVerdict not yet evaluated for this tool. The semantic screen takes adversarial cases first; coverage rolls out as the corpus expands (15/150 labels to graduation). The deterministic conformance probe is built but has not yet run on the public corpus, so a recorded verdict here is REVIEW or UNVERIFIED, never a clearing ALLOW. Until a verdict is recorded, an agent should treat this tool as not-yet-cleared and fall back to its own checks. Method: the eval, four-state verdict, honest limits.
Own this server? Screen its description →
That verdict was true at screening time (snapshot 2026-09-13).
Contracts can change after screening, with no version bump. The gate pins url2md’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.
See your first HOLD in 2 minutes →
Related: how to trust an MCP server · screen before install · silent contract drift
URL2MD_PRIVATE_KEY_FILEPath to a file holding the 0x-prefixed private key of a wallet with USDC on Base. Preferred over URL2MD_PRIVATE_KEY: a path is not a secret, and a key on a command line is visible to every process on the machine. One of the two key variables is required.
URL2MD_PRIVATE_KEYThe key itself: 0x followed by 64 hex characters. Use URL2MD_PRIVATE_KEY_FILE instead where you can. One of the two key variables is required.
URL2MD_MAX_PRICE_USDThe most this server will commit for one call, in USD, across every payment round of that call. A tolled page takes two rounds and this ceiling covers both.
URL2MD_MAX_SPEND_USDThe most this server will commit in total for as long as the process runs. Restarting resets it.
URL2MD_BASE_URLThe url2md deployment to call. Must be https (only a loopback address may be plain http), because this is the origin every 402 is checked against.
URL2MD_TIMEOUT_MSHow long to wait for one conversion, in milliseconds. The default covers the service's own worst case: 20 s of fetching plus 55 s of headless render. Do not lower it to 30 s — that is the navigation timeout inside the browser, and on a page that needed a browser your payment has already settled by the time the render starts.
Convert documents and web pages to clean Markdown: PDF, DOCX, XLSX, EPUB, scanned files, any URL.
Turn PDFs, scans and photos into a queryable database. Invoices, CVs, receipts, in bulk.
Hosted MCP server for Anvil — fill & generate PDFs and run Etch e-signature packets for AI agents.