url2md MCP Server
io.url2md/mcpv0.1.5
PDFs, JavaScript pages and ordinary HTML as clean Markdown. Follows robots.txt per RFC 9309.
context tax
queued
security
queued
cold start
queued
freshness
Active26d ago
Install url2md MCP server
Install in Claude Code
claude mcp add url2md-io -e URL2MD_PRIVATE_KEY='<url2md-private-key>' -- npx -y @url2md-io/mcpInstall in Cursor
{
"mcpServers": {
"url2md-io": {
"command": "npx",
"args": [
"-y",
"@url2md-io/mcp"
],
"env": {
"URL2MD_PRIVATE_KEY": "<url2md-private-key>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"url2md-io": {
"command": "npx",
"args": [
"-y",
"@url2md-io/mcp"
],
"env": {
"URL2MD_PRIVATE_KEY": "<url2md-private-key>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"url2md-io": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@url2md-io/mcp"
],
"env": {
"URL2MD_PRIVATE_KEY": "<url2md-private-key>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"url2md-io": {
"command": "npx",
"args": [
"-y",
"@url2md-io/mcp"
],
"env": {
"URL2MD_PRIVATE_KEY": "<url2md-private-key>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| URL2MD_PRIVATE_KEY_FILE | — | — | Path 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_KEY | — | yes | The 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_USD | — | — | The 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_USD | — | — | The most this server will commit in total for as long as the process runs. Restarting resets it. |
| URL2MD_BASE_URL | — | — | The 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_MS | — | — | How 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. |
Remote endpoints
- streamable-http
https://url2md.io/mcp
Freshness
Active — last maintenance signal 26d ago. The newest of the signals below sets the band.
Last commit (default branch)
no data · GitHub
Latest release
no data · GitHub
Package published
no data · npm/PyPI
Registry entry updated
2026-09-14 · 26d ago · official registry · v0.1.5
FAQ
›How do I install the url2md MCP server in Claude Code?
Run: claude mcp add url2md-io -e URL2MD_PRIVATE_KEY='<url2md-private-key>' -- npx -y @url2md-io/mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does url2md require an API key?
Yes. It expects URL2MD_PRIVATE_KEY, of which 1 is a secret.
›Can I use url2md as a remote (hosted) MCP server?
Yes — it offers both a hosted endpoint and a local stdio package.
›Is url2md in the official MCP registry?
Yes, as io.url2md/mcp.