Skip to main content

MCP server for Scraping — REST API wrapper for LLM agents.

Project description

scraping-mcp

MCP (Model Context Protocol) server for Scraping — lets LLM agents (Cursor, Claude Desktop, Claude Code, Zed) call our scraping tools directly.

Install

pip install scraping-mcp
# or with pipx for isolation:
pipx install scraping-mcp

Requires Python 3.11+.

Setup

Get an API key at dashboard/keys.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) / %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "scraping": {
      "command": "scraping-mcp",
      "env": {
        "SCRAPING_API_KEY": "fc_live_abc123...",
        "SCRAPING_BASE_URL": "https://api.scraping.io"
      }
    }
  }
}

Restart Claude Desktop. Tools will appear as "scraping".

Cursor

Create .cursor/mcp.json in the repo root:

{
  "mcpServers": {
    "scraping": {
      "command": "scraping-mcp",
      "env": { "SCRAPING_API_KEY": "fc_live_abc123..." }
    }
  }
}

Claude Code

Add to ~/.claude.json (user scope):

{
  "mcpServers": {
    "scraping": {
      "command": "scraping-mcp",
      "env": { "SCRAPING_API_KEY": "fc_live_abc123..." }
    }
  }
}

Tools

Tool Description
scrape(url, format?, cookies?, timeout_s?) Scrape single URL. Returns markdown or {status:pending, task_id} on timeout.
crawl(urls[], cookies?, timeout_s?) Batch-scrape up to 500 URLs. Returns items or {status:pending, crawl_id} on timeout.
get_scrape_status(task_id) Check status of a scrape task.
get_crawl_status(crawl_id, include_items?) Check status + items of a crawl batch.
get_balance() Current credit balance.

Examples

Agent: "Scrape the README at https://github.com/hashicorp/terraform"
-> calls scrape(url="https://github.com/hashicorp/terraform")
-> returns {status: "finished", result: {markdown: "# Terraform..."}}

Agent: "Scrape these 50 docs pages and summarize"
-> calls crawl(urls=[...50 urls...])
-> returns {status: "finished", total: 50, items: [...]}

Agent: "Check my credit balance"
-> calls get_balance()
-> returns {balance: 87}

Environment variables

Name Required Default Description
SCRAPING_API_KEY yes Your API key (starts with fc_live_)
SCRAPING_BASE_URL http://localhost:8000 Scraping API endpoint
SCRAPING_SCRAPE_TIMEOUT_S 60 Scrape tool wait-timeout
SCRAPING_CRAWL_TIMEOUT_S 600 Crawl tool wait-timeout
SCRAPING_REQUEST_TIMEOUT_S 30 Individual HTTP request timeout

Troubleshooting

Server not starting: Check SCRAPING_API_KEY is set in MCP client config env. Logs go to stderr — Claude Desktop / Cursor show them in their MCP logs.

"connection refused": Verify SCRAPING_BASE_URL points to a running Scraping API. For local dev: docker compose up in the monorepo.

Agent receives {status: "pending", task_id}: Timeout exceeded. Agent should call get_scrape_status(task_id) (or get_crawl_status) to retrieve the result once ready. Scrape typically takes 2-20 seconds; heavy sites (JS-rendered via L3) can take 30-60 seconds.

License

MIT.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scraping_mcp-0.1.0.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scraping_mcp-0.1.0-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file scraping_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: scraping_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scraping_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 52bf0c40fa8670a58cc648a20dd5453c34ae50c9cc3ad579d160a7de31c3f14b
MD5 65e37723e0d53b3e36eabe787518697c
BLAKE2b-256 1f8f4603103144886710371e4a3abda28645721429c41066225d3a8552e50d21

See more details on using hashes here.

Provenance

The following attestation bundles were made for scraping_mcp-0.1.0.tar.gz:

Publisher: publish-mcp.yml on Nodirbek2001/scraper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file scraping_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: scraping_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for scraping_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 318dcd68b9bcffb93bfedd4c8aae5a66c57c670eb9b2e9e5d7d94775eaf29d91
MD5 9b5039d6ed19f704db896412be47997b
BLAKE2b-256 e02b77f1fa7e3ccb908c2be93db0561b8de635af8166d7fd671dd6fa02ee1666

See more details on using hashes here.

Provenance

The following attestation bundles were made for scraping_mcp-0.1.0-py3-none-any.whl:

Publisher: publish-mcp.yml on Nodirbek2001/scraper

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page