Skip to main content

CrawlNest MCP server for web scraping, Twitter, Reddit, GitHub, Hacker News, YC directory, Product Hunt, Google Play Store, Apple App Store, Google Maps, IndieHackers, Quora, SERP web search, LinkedIn, video download, image download, and transcription. Use with Claude Code, Claude Desktop, Cursor, and other MCP clients.

Project description

crawlnest-mcp

MCP server for web scraping, Twitter, and Reddit — 17 tools for any MCP-compatible LLM client.

Works with Claude Code, Claude Desktop, Cursor, Windsurf, and any other MCP client.

Quick Start

pip install crawlnest-mcp

Then configure your client with two env vars:

Variable Description
CRAWLNEST_API_URL Your CrawlNest API endpoint (e.g., https://api.crawlnest.com or http://100.x.x.x:8000 for Tailscale)
CRAWLNEST_API_KEY Your API key (starts with cn_...)

That's it. No SSH, no scripts, no cloning repos.

Client Configuration

Claude Code

claude mcp add crawlnest \
  -e CRAWLNEST_API_URL=https://api.crawlnest.com \
  -e CRAWLNEST_API_KEY=cn_your_key \
  -- crawlnest-mcp

Or add to ~/.claude.json manually:

{
  "mcpServers": {
    "crawlnest": {
      "command": "crawlnest-mcp",
      "env": {
        "CRAWLNEST_API_URL": "https://api.crawlnest.com",
        "CRAWLNEST_API_KEY": "cn_your_key"
      }
    }
  }
}

Claude Desktop

Add to your config file:

Platform Config Path
macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Windows %APPDATA%\Claude\claude_desktop_config.json
Linux ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "crawlnest": {
      "command": "crawlnest-mcp",
      "env": {
        "CRAWLNEST_API_URL": "https://api.crawlnest.com",
        "CRAWLNEST_API_KEY": "cn_your_key"
      }
    }
  }
}

Restart Claude Desktop after saving.

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "crawlnest": {
      "command": "crawlnest-mcp",
      "env": {
        "CRAWLNEST_API_URL": "https://api.crawlnest.com",
        "CRAWLNEST_API_KEY": "cn_your_key"
      }
    }
  }
}

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "crawlnest": {
      "command": "crawlnest-mcp",
      "env": {
        "CRAWLNEST_API_URL": "https://api.crawlnest.com",
        "CRAWLNEST_API_KEY": "cn_your_key"
      }
    }
  }
}

Self-Hosted / Tailscale / Proxmox

Point CRAWLNEST_API_URL at your instance:

{
  "mcpServers": {
    "crawlnest": {
      "command": "crawlnest-mcp",
      "env": {
        "CRAWLNEST_API_URL": "http://100.64.0.5:8000",
        "CRAWLNEST_API_KEY": "cn_your_key"
      }
    }
  }
}

Replace 100.64.0.5 with your Tailscale IP (tailscale ip on the server).

Tools (17)

Web Scraping

Tool Description Key Parameters
scrape_url Scrape a single page with anti-bot bypass url
crawl_website Crawl up to 50 pages with sitemap discovery url, max_pages
extract_structured Extract structured data with custom schema url, schema, output_format

Twitter

Tool Description Credentials
fetch_tweet Fetch tweet by URL (3-layer cascade) No
twitter_user_info User profile info No
twitter_search Search tweets by query Required
twitter_trending Trending topics (local/global) Required
twitter_news News timeline Required
twitter_for_you Explore timeline Required
twitter_home_timeline Home feed (for_you/following) Required

Reddit

Tool Description Credentials
reddit_post Fetch post + comment tree No
reddit_community Subreddit post listings No
reddit_about Subreddit metadata No
reddit_search Search across Reddit No
reddit_explore Discover subreddits No
reddit_popular Trending posts (with geo filter) No
reddit_feed Personalized home/news feed Only with use_cookies=true

Social Media Credentials

Twitter/Reddit tools that need authentication use server-side credentials — not passed through MCP. Set them once via the API.

Twitter (for search, trending, timelines)

Get auth_token and ct0 from x.com cookies (DevTools → Application → Cookies):

curl -X POST $CRAWLNEST_API_URL/api/twitter/credentials \
  -H "X-API-Key: cn_your_key" \
  -H "Content-Type: application/json" \
  -d '{"auth_token": "YOUR_AUTH_TOKEN", "ct0": "YOUR_CT0"}'

Reddit (for personalized feeds only)

Get reddit_session from reddit.com cookies:

curl -X POST $CRAWLNEST_API_URL/api/subreddit/credentials \
  -H "X-API-Key: cn_your_key" \
  -H "Content-Type: application/json" \
  -d '{"reddit_session": "YOUR_SESSION"}'

Usage Examples

> Scrape https://news.ycombinator.com and show the top stories

> Extract product name, price, and image from https://example.com/products as CSV

> Crawl https://anthropic.com/news with max 5 pages

> Get the latest tweet from https://x.com/anthropic/status/123456

> What's trending on Twitter right now?

> Show me the top posts from r/technology this week

> Search Reddit for "machine learning" in r/programming

Troubleshooting

"Command not found: crawlnest-mcp"

pip install --force-reinstall crawlnest-mcp
which crawlnest-mcp

"CrawlNest API not reachable"

curl -H "X-API-Key: cn_your_key" $CRAWLNEST_API_URL/health

"Twitter credentials missing"

Save credentials first (see Social Media Credentials).

Tools not showing

  1. Restart your client
  2. Check config JSON syntax: cat config.json | python3 -m json.tool
  3. Check logs: tail -f /tmp/mcp_server.log

Self-Hosting

git clone https://github.com/WonderCrafts/CrawlNest
cd CrawlNest
make setup && make infra && make db-apply && make dev

Then use http://localhost:8000 as your CRAWLNEST_API_URL.

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

crawlnest_mcp-0.8.0.tar.gz (112.4 kB view details)

Uploaded Source

Built Distribution

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

crawlnest_mcp-0.8.0-py3-none-any.whl (135.7 kB view details)

Uploaded Python 3

File details

Details for the file crawlnest_mcp-0.8.0.tar.gz.

File metadata

  • Download URL: crawlnest_mcp-0.8.0.tar.gz
  • Upload date:
  • Size: 112.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for crawlnest_mcp-0.8.0.tar.gz
Algorithm Hash digest
SHA256 f461b5c6f6a65e719a5c501f5dc2252682e669c976c1fa7ad1bab56439c02af1
MD5 744429244ec43b5459447fe00b98a6d1
BLAKE2b-256 a21113dcfbd90e521212caccc501bf1b7bc7a9a0a7ce8526fb5cb764b4a7374a

See more details on using hashes here.

File details

Details for the file crawlnest_mcp-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: crawlnest_mcp-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 135.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for crawlnest_mcp-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ed06f20db771080920385c17e419f5d384fc360fb975d0c525a068e758967a6c
MD5 a6ad9fc51637cd7697cff9f51f21788a
BLAKE2b-256 b795a9e6097118afce78a15e09b1a6966d0fc10d6f571d5ca0d73f892312341e

See more details on using hashes here.

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