Spider Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Spider Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A high-performance Model Context Protocol (MCP) server that provides comprehensive web scraping, crawling, and data extraction capabilities through the Spider Cloud API. This server enables AI assistants like Claude to interact with web content using Spider Cloud's advanced scraping infrastructure.
# Global installation
npm install -g @willbohn/spider-mcp
# Or use with npx (no installation needed)
npx @willbohn/spider-mcpWindows:
# Clone and install
git clone https://github.com/willbohn/spider-mcp.git
cd spider-mcp
# Run the Windows installer (PowerShell)
.\install-windows.ps1
# Or use the batch file (Command Prompt)
install-windows.bat
# Test the installation
$env:SPIDER_API_KEY="your_key"
node test.jsmacOS/Linux:
# Clone and install
git clone https://github.com/willbohn/spider-mcp.git
cd spider-mcp
./install-local.sh
# Or manually:
npm install
npm link
# Test the installation
SPIDER_API_KEY=your_key node test.jsSkip installation and point directly to the built files in your MCP client configuration.
<details> <summary><b>🪟 Windows Users</b></summary>
#### Claude Desktop (Windows)
Win + R, type %APPDATA%\Claude and press Enterclaude_desktop_config.json (create it if it doesn't exist){
"mcpServers": {
"spider": {
"command": "npx",
"args": ["@willbohn/spider-mcp"],
"env": {
"SPIDER_API_KEY": "your_spider_api_key_here"
}
}
}
}{
"mcpServers": {
"spider": {
"command": "node",
"args": ["C:\\Users\\YourName\\spider-mcp\\dist\\index.js"],
"env": {
"SPIDER_API_KEY": "your_spider_api_key_here"
}
}
}
}Note: On Windows, use double backslashes (\\) in paths or forward slashes (/).
#### Testing on Windows
# PowerShell
$env:SPIDER_API_KEY="your_key"
node test.js
# Command Prompt
set SPIDER_API_KEY=your_key
node test.js</details>
<details> <summary><b>🍎 macOS Users</b></summary>
#### Claude Desktop (macOS)
open ~/Library/Application\ Support/Claude/Open claude_desktop_config.json (create it if it doesn't exist)
{
"mcpServers": {
"spider": {
"command": "npx",
"args": ["@willbohn/spider-mcp"],
"env": {
"SPIDER_API_KEY": "your_spider_api_key_here"
}
}
}
}#### Testing on macOS
export SPIDER_API_KEY="your_key"
node test.js</details>
<details> <summary><b>🐧 Linux Users</b></summary>
#### Claude Desktop (Linux)
# Location varies by distribution, commonly:
~/.config/Claude/claude_desktop_config.json
# or
~/.claude/claude_desktop_config.json{
"mcpServers": {
"spider": {
"command": "npx",
"args": ["@willbohn/spider-mcp"],
"env": {
"SPIDER_API_KEY": "your_spider_api_key_here"
}
}
}
}#### Testing on Linux
export SPIDER_API_KEY="your_key"
node test.js</details>
<details> <summary><b>Claude Code Configuration</b></summary>
Claude Code automatically detects MCP servers. Simply:
npm install -g @willbohn/spider-mcp$env:SPIDER_API_KEY="your_key"set SPIDER_API_KEY=your_keyexport SPIDER_API_KEY="your_key"</details>
<details> <summary><b>Cursor IDE Configuration</b></summary>
Add to your Cursor settings:
{
"mcp.servers": {
"spider": {
"command": "npx",
"args": ["@willbohn/spider-mcp"],
"env": {
"SPIDER_API_KEY": "your_spider_api_key_here"
}
}
}
}</details>
<details> <summary><b>VS Code with Continue Extension</b></summary>
Add to your Continue configuration:
{
"mcpServers": [
{
"name": "spider",
"command": "npx",
"args": ["@willbohn/spider-mcp"],
"env": {
"SPIDER_API_KEY": "your_spider_api_key_here"
}
}
]
}</details>
| Variable | Required | Description | Default |
|---|---|---|---|
SPIDER_API_KEY | Yes | Your Spider Cloud API key | - |
SPIDER_API_BASE_URL | No | API endpoint URL | https://api.spider.cloud |
SPIDER_REQUEST_TIMEOUT | No | Request timeout in milliseconds | 60000 |
DEBUG | No | Enable debug logging | false |
Scrape content from a single URL with advanced options.
Parameters:
url (required): Target URL to scrapereturn_format: Output format (markdown, raw, text, html, screenshot, links)js: Enable JavaScript renderingwait_for: Wait time for page load (0-60000ms)css_selector: CSS selector for specific contentproxy_enabled: Use premium proxyproxy_country: Two-letter country codestealth: Enable stealth modeanti_bot: Advanced anti-bot bypassheaders: Custom HTTP headerscookies: Cookie stringmetadata: Include metadataclean_html: Clean and sanitize HTMLmedia: Include media elementsExample:
{
"url": "https://example.com",
"return_format": "markdown",
"js": true,
"stealth": true,
"css_selector": ".main-content"
}Crawl an entire website with intelligent navigation.
Parameters:
url (required): Starting URLlimit: Max pages to crawl (1-10000)depth: Max crawl depth (0-10)return_format: Output formatwhitelist: URL patterns to includeblacklist: URL patterns to excludebudget: Crawl budget configurationsubdomains: Include subdomainssitemap: Use sitemap.xmlrespect_robots: Respect robots.txtExample:
{
"url": "https://docs.example.com",
"limit": 50,
"depth": 3,
"whitelist": ["*/api/*"],
"return_format": "markdown"
}Search the web with Google-like results.
Parameters:
query (required): Search querysearch_limit: Max results (1-100)fetch_page_content: Fetch full contenttbs: Time-based search (qdr:d, qdr:w, qdr:m, qdr:y)gl: Country code (e.g., us, uk)hl: Language code (e.g., en, es)safe: SafeSearch level (off, medium, high)Example:
{
"query": "artificial intelligence news",
"search_limit": 10,
"tbs": "qdr:w",
"gl": "us",
"fetch_page_content": true
}Extract and analyze links from a webpage.
Parameters:
url (required): Target URLlimit: Max links (1-5000)depth: Extraction depth (0-5)unique: Return only unique linkssubdomains: Include subdomain linksexternal: Include external linksCapture webpage screenshots.
Parameters:
url (required): Target URLfullpage: Full page screenshotviewport_width: Width in pixels (320-3840)viewport_height: Height in pixels (240-2160)format: Image format (png, jpeg, webp)quality: JPEG/WebP quality (0-100)omit_background: Transparent background (PNG only)clip: Region to captureTransform HTML to clean, readable formats.
Parameters:
data (required): HTML/text to transformreturn_format (required): Target format (markdown, text, raw, clean_html)readability: Apply readability processingclean: Remove unnecessary elementsinclude_links: Include hyperlinksinclude_images: Include imagesRun the comprehensive test suite:
# PowerShell
$env:SPIDER_API_KEY="your_api_key_here"
node test.js
# With debug output
$env:DEBUG="true"
$env:SPIDER_API_KEY="your_api_key_here"
node test.js
# Command Prompt
set SPIDER_API_KEY=your_api_key_here
node test.js# Set your API key
export SPIDER_API_KEY=your_api_key_here
# Run tests
node test.js
# With debug output
DEBUG=true SPIDER_API_KEY=your_api_key_here node test.js# Quick smoke tests
npm run test:quick
# Full comprehensive suite (100+ tests)
npm run test:full
# LinkedIn-specific tests
npm run test:linkedin
# Run specific category
npm run test:category -- --category scrapingAll tools return responses in a consistent format:
{
"success": true,
"results": [...],
"count": 10,
"costs": {
"total_cost": 0.00012,
"compute_cost": 0.00008,
"bandwidth_cost": 0.00004
},
"metadata": {
"duration": 1234,
"status": 200
}
}npm install
npm run buildnpm run devspider-mcp/
├── src/
│ └── index.ts # Main server implementation
├── dist/ # Compiled JavaScript
├── examples/ # Configuration examples
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This file#### "SPIDER_API_KEY environment variable is required"
#### "Payment required" error
#### "Rate limit exceeded"
#### Search tool timeout
Enable detailed logging:
Windows (PowerShell):
$env:DEBUG="true"
$env:SPIDER_API_KEY="your_key"
node dist/index.jsWindows (Command Prompt):
set DEBUG=true
set SPIDER_API_KEY=your_key
node dist/index.jsmacOS/Linux:
DEBUG=true SPIDER_API_KEY=your_key node dist/index.jsThe server provides detailed error messages:
Contributions are welcome! Please:
MIT License - see LICENSE file for details
Built with ❤️ for the MCP ecosystem
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.