switch402

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/mcp

Cursor: .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.

Related

More API pages