Features
- Scrape any page into clean markdown or structured JSON
- Batch-process up to 50 URLs in parallel, each with its own independent result
- Crawl entire sites by describing which links to follow in plain English
- Run browser actions before scraping: click, type, scroll, or loop over elements on the page
- Route through residential proxies for geo-restricted or bot-protected sites
- Streamable HTTP transport, so the server can also run as a network service for tools like n8n
- Automatic retries for transient failures, with typed, actionable error messages otherwise
Installation
Get your API key from app.spidra.io under Settings > API Keys. Keys start withspd_.
Spidra’s MCP server runs locally today; there is no hosted, keyless endpoint yet. Every setup below uses your own API key.
Running with npx
Manual installation
Running on Claude Code
/mcp to confirm the connection shows as active.
Running on Cursor
- Open Cursor Settings
- Go to Features > MCP Servers
- Click + Add new global MCP server
- Enter the following, replacing the placeholder key:
.cursor/mcp.json file inside a single project if you only want Spidra available there.
Running on Windsurf
Add this to~/.codeium/windsurf/mcp_config.json:
Running on VS Code
PressCtrl + Shift + P (or Cmd + Shift + P on Mac), type Preferences: Open User Settings (JSON), and add:
servers block in a .vscode/mcp.json file in your repository, and use a promptString input for the key so it never gets committed.
Running on Claude Desktop
Add this to the Claude config file (Settings > Developer > Edit Config):spawn npx ENOENT error, Node.js is not installed or not on your system PATH; install it from nodejs.org and fully restart Claude Desktop.
Running with streamable HTTP mode
To run the server over HTTP instead of the default stdio transport:http://localhost:3000/mcp.
Running on n8n
n8n’s AI Agent node can call Spidra through its MCP Client Tool node, connecting over the streamable HTTP transport above.- Start the server in HTTP mode, as shown just above
- In your n8n workflow, add an AI Agent node
- In its configuration, add a new Tool and choose MCP Client Tool
- Set the Endpoint to
http://localhost:3000/mcp - Set Server Transport to HTTP Streamable
- For Tools to include, choose All to expose every Spidra tool, or pick specific ones
Configuration
Environment variables
SPIDRA_API_KEY: your Spidra API key. Required, unless every request supplies its own key over HTTP (see below).SPIDRA_API_URL(optional): override the base API URL, for staging or self-hosted setups.HTTP_STREAMABLE_SERVER(optional): set totrueto run the streamable HTTP transport instead of stdio.PORT/HOST(optional): bind address for the HTTP transport. Defaults are3000andlocalhost.
X-Spidra-API-Key header, or an Authorization: Bearer header. This is useful when a single running server instance needs to serve more than one user.
Available Tools
The server exposes 12 tools. The table below is a quick reference; each tool is described in more detail after it.1. Scrape Tool (spidra_scrape)
Scrapes 1 to 3 URLs and extracts content with AI, waiting for the result before returning it. With more than one URL, their content is merged and the AI produces one combined answer across all of them, which makes this the right tool for comparing pages rather than getting separate results for each.
content, per-page raw data, any screenshots, and token stats.
2. Check Scrape Status (spidra_check_scrape_status)
Checks a scrape job by ID. Only needed when a scrape outlives its wait window; the timeout error includes the job ID to use here.
3. Batch Scrape Tool (spidra_batch_scrape)
Submits 2 to 50 URLs processed in parallel with the same prompt or schema. Unlike spidra_scrape, every URL is handled independently and gets its own result. Returns immediately with a batchId for polling.
{ "batchId": "...", "total": 2 }.
4. Check Batch Status (spidra_check_batch_status)
Returns batch progress (completedCount, failedCount) and per-URL results for every finished item.
5. Cancel Batch (spidra_cancel_batch)
Cancels a running batch. Finished items keep their results; credits for the unprocessed portion are refunded.
6. Crawl Tool (spidra_crawl)
Crawls a website from one starting URL, following links according to a plain-English instruction, and optionally extracting structured data from every page. Returns immediately with a jobId.
{ "jobId": "..." }.
7. Check Crawl Status (spidra_check_crawl_status)
Returns crawl progress while running, and every page’s extracted data once completed.
8. Crawl Pages (spidra_crawl_pages)
Returns per-page results with signed download URLs for each page’s raw HTML and markdown. The links expire after 1 hour.
9. Crawl Extract (spidra_crawl_extract)
Runs a new extraction instruction over an already-completed crawl without fetching any pages again. Only AI token credits are charged, so this is the cheap way to ask a second question of a site you already crawled.
10. Cancel Crawl (spidra_cancel_crawl)
Cancels a running crawl. Pages already processed are kept and retrievable with spidra_crawl_pages; credits for unprocessed pages are refunded.
11. Scrape Logs (spidra_scrape_logs)
Lists past jobs: what ran, whether it succeeded, and how many credits it used. Pass a uuid to fetch one job’s full output.
12. Usage (spidra_usage)
Reports request, credit, and token usage by day or week.
Error Handling
Every API error comes back as a tool error, not a crash. The error text carries retry guidance: rate limits say how long to wait, validation errors say exactly what to fix, and permanent failures say not to retry with the same input.Development
The server is open source at github.com/spidra-io/spidra-mcp-server.Full MCP Reference
Parameter tables, tool-choice guidance, and troubleshooting.
SDKs Overview
Prefer code over chat? Browse the official SDKs.

