Appearance
MCP Server
New FeatureConnect Firecrawl to Claude, Cursor, VS Code, Windsurf, n8n, and other AI tools via MCP (Model Context Protocol).
Overview
Firecrawl provides an open-source MCP server that exposes all 12 Firecrawl tools to any MCP-compatible client. Available as a hosted remote server or local npx package.
Installation Options
Remote Hosted (Simplest)
No local install needed — connect directly to Firecrawl's hosted MCP endpoint:
https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcpLocal via npx
bash
# Run directly
env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp
# Install globally
npm install -g firecrawl-mcp
# HTTP Streamable mode (for n8n, etc.)
env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp
# Endpoint: http://localhost:3000/v2/mcpPlatform Setup
Claude Code
bash
claude mcp add firecrawl -e FIRECRAWL_API_KEY=fc-YOUR-API-KEY -- npx -y firecrawl-mcpClaude Desktop
json
{
"mcpServers": {
"firecrawl": {
"url": "https://mcp.firecrawl.dev/v2/mcp",
"headers": { "Authorization": "Bearer fc-YOUR-API-KEY" }
}
}
}Cursor (v0.48.6+)
Add to .cursor/mcp.json:
json
{
"mcpServers": {
"firecrawl-mcp": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": { "FIRECRAWL_API_KEY": "fc-YOUR-API-KEY" }
}
}
}VS Code
Add to User Settings JSON:
json
{
"mcpServers": {
"firecrawl-mcp": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": { "FIRECRAWL_API_KEY": "fc-YOUR-API-KEY" }
}
}
}Windsurf
Add to ./codeium/windsurf/model_config.json:
json
{
"mcpServers": {
"firecrawl-mcp": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": { "FIRECRAWL_API_KEY": "fc-YOUR-API-KEY" }
}
}
}n8n (HTTP Streamable)
- Start the MCP server in HTTP mode:bash
env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp - In n8n, use the MCP Client Tool node
- Set the endpoint to
http://localhost:3000/v2/mcp
Available MCP Tools (12 Total)
| Tool | Description |
|---|---|
firecrawl_scrape | Single URL scraping |
firecrawl_map | URL discovery for a domain |
firecrawl_search | Web search with optional scraping |
firecrawl_crawl | Async site crawl |
firecrawl_check_crawl_status | Poll crawl job status |
firecrawl_extract | Structured extraction (legacy) |
firecrawl_agent | Autonomous research agent |
firecrawl_agent_status | Poll agent job status |
firecrawl_browser_create | Launch browser session |
firecrawl_browser_execute | Run code in browser session |
firecrawl_browser_delete | Close browser session |
firecrawl_browser_list | List active/destroyed sessions |
Environment Variables
Required
| Variable | Description |
|---|---|
FIRECRAWL_API_KEY | Your Firecrawl API key |
Optional
| Variable | Default | Description |
|---|---|---|
FIRECRAWL_API_URL | https://api.firecrawl.dev | Custom API URL (self-hosted) |
HTTP_STREAMABLE_SERVER | false | Enable HTTP Streamable mode |
Retry Configuration
| Variable | Default | Description |
|---|---|---|
FIRECRAWL_RETRY_MAX_ATTEMPTS | 3 | Max retry attempts |
FIRECRAWL_RETRY_INITIAL_DELAY | 1000ms | Initial retry delay |
FIRECRAWL_RETRY_MAX_DELAY | 10000ms | Maximum retry delay |
FIRECRAWL_RETRY_BACKOFF_FACTOR | 2 | Exponential backoff factor |
Credit Monitoring
| Variable | Default | Description |
|---|---|---|
FIRECRAWL_CREDIT_WARNING_THRESHOLD | 1000 | Warning when credits below this |
FIRECRAWL_CREDIT_CRITICAL_THRESHOLD | 100 | Critical alert threshold |
Self-Hosted Firecrawl
Point the MCP server at your own Firecrawl instance:
bash
env FIRECRAWL_API_KEY=fc-YOUR_KEY FIRECRAWL_API_URL=https://your-firecrawl.example.com npx -y firecrawl-mcpOr use the FIRECRAWL_API_URL env var in any platform config above.
Verification
After setup, test that the MCP server is working:
python
# In Claude Code, just ask:
# "Use firecrawl to scrape https://example.com"
# Or test directly:
import subprocess
result = subprocess.run(
["npx", "-y", "firecrawl-mcp", "--version"],
capture_output=True, text=True
)
print(result.stdout)