Web Scraping MCP Server: 9 Pay-per-Call Tools over Streamable HTTP
One remote MCP server for web data: POST https://api.switch402.com/mcp (MCP Streamable HTTP, no sign-in). Its tools/list returns nine tools: scrape, scrape_lite, map, metadata, screenshot, screenshot_full, search, pdf and quote. Each paid tool costs its own price per call in USDC on Base over x402, charged only on success.
Paid MCP tools answer an unpaid call with x402 payment terms (an isError result). A client that cannot pay x402 shows those terms instead of the result; use an x402-capable MCP client or wrapper that retries with params._meta["x402/payment"], or call the HTTP API from code. The quote tool is free.
- Nine tools, real prices
scrape $0.008, scrape_lite $0.003, map $0.001, metadata $0.001, screenshot $0.008, screenshot_full $0.012, search $0.008, pdf $0.008, quote free.
- Any MCP client
Claude Code, Cursor, VS Code and Claude Desktop all connect to a remote Streamable HTTP URL. No headers or keys are needed.
- Payment per tool call
Paid tools return x402 terms until paid; the client retries with params._meta["x402/payment"]. An optional prepaid key can be sent as Authorization: Bearer instead.
- Failures are free
A tool call settles only when it returns content: a page, links, metadata, an image, results or text.
Cost: what the agent calls. 100 scrape_lite calls ($0.30) plus 20 searches ($0.16) cost $0.46. An agent that calls nothing pays nothing.
Code examples
Claude Code
claude mcp add --transport http switch402 https://api.switch402.com/mcpCursor: .cursor/mcp.json
{
"mcpServers": {
"switch402": { "url": "https://api.switch402.com/mcp" }
}
}VS Code: .vscode/mcp.json
{
"servers": {
"switch402": { "type": "http", "url": "https://api.switch402.com/mcp" }
}
}curl: list the tools, then call the free quote tool
curl -s -X POST https://api.switch402.com/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -H 'User-Agent: my-agent/1.0' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -s -X POST https://api.switch402.com/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -H 'User-Agent: my-agent/1.0' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"quote","arguments":{"url":"https://example.com"}}}'FAQ
- Which transport and URL?
- MCP Streamable HTTP (JSON-RPC, stateless) at https://api.switch402.com/mcp. There is no login.
- Will my MCP client pay automatically?
- Only if it supports x402. A standard client shows the payment terms that paid tools return; the free quote tool always works.
- Can I use an API key instead of a wallet?
- Yes, optionally. Buy a prepaid pack once ($5, $20 or $50) and send the key as Authorization: Bearer <key>. Each call debits that tool’s own price, only on success.
- Does it crawl a whole site?
- No. map returns the URLs it finds on a page and in the site’s sitemaps (up to 1,000), and scrape or scrape_lite read one page per call. Your agent decides which pages to read.