How to Add Web Scraping to Cursor with a Remote MCP Server
Add switch402's remote MCP endpoint to Cursor's mcp.json so the agent can call its nine tools: scrape, scrape_lite, map, metadata, screenshot, screenshot_full, search, pdf and quote. Read the payment note first: paid tools need an x402-capable client.
Payment note: switch402 speaks MCP Streamable HTTP at https://api.switch402.com/mcp with no sign-in. The free quote tool works in any MCP client. The paid tools (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) answer an unpaid call with x402 payment terms; a client that cannot pay x402 will show those terms instead of the page. To get pages, use an x402-capable MCP client or wrapper that retries with params._meta["x402/payment"], or call the HTTP API from code with an x402 library.
Steps
- Open mcp.json. Create .cursor/mcp.json in your project or ~/.cursor/mcp.json for all projects (per Cursor's MCP docs, checked Oct 29, 2026).
- Add the server URL. Add a remote server entry with "url": "https://api.switch402.com/mcp". Cursor supports Streamable HTTP; no headers or keys are needed.
- Enable it. Make sure the server is enabled in Cursor, then check that the nine tools are listed: scrape, scrape_lite, map, metadata, screenshot, screenshot_full, search, pdf and quote. MCP logs are in the Output panel under "MCP Logs".
- Paid scraping. Every tool except quote is paid and returns x402 payment terms unless the client pays them. Use an x402-capable MCP client or wrapper, or the HTTP API from code.
Code
.cursor/mcp.json
{
"mcpServers": {
"switch402": {
"url": "https://api.switch402.com/mcp"
}
}
}Check the endpoint yourself (curl)
# 1) initialize
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":0,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test","version":"1"}}}'
# 2) list tools: scrape, scrape_lite, map, metadata, screenshot, screenshot_full, search, pdf, quote
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"}'
# 3) free quote
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"}}}'You pay only for the pages you actually fetch: $0.008 per standard page on /v1/scrape, $0.003 per lite call on /v1/scrape/lite, in USDC on Base and charged only on success. No subscription or unused credits; optional prepaid packs and a $10 monthly plan.
FAQ
- Which transport should I pick in Cursor?
- Streamable HTTP: switch402 serves MCP over Streamable HTTP at https://api.switch402.com/mcp.
- Will Cursor pay for scrapes by itself?
- Not unless your setup can pay x402. The paid tools return x402 terms; the free quote tool works without payment.
- Do I need headers or an API key in mcp.json?
- No. switch402 needs no account or key: paid tools are paid per call over x402. If you bought an optional prepaid key, add it as an Authorization: Bearer header instead.