firecrawl-pool-proxy
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@firecrawl-pool-proxyScrape the content from https://example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
firecrawl-pool
Multi-key proxy for Firecrawl API. Pools multiple API keys, routes to the healthiest, retries on 402, falls back to free tier.
Why this exists
The firecrawl-mcp npm package takes one FIRECRAWL_API_KEY. When that key runs out of credits (HTTP 402), every search/scrape/crawl fails until next month.
If you have multiple Firecrawl accounts — maybe you signed up a few times to get separate free-tier quotas — this proxy sits in front of them and automatically tries the next key when one is exhausted.
Important: Firecrawl credits are per-account (team), not per-key. Two keys from the same account share the same credit pool. This proxy only helps when keys belong to different accounts with independent balances.
Related MCP server: Firecrawl MCP Server
Install
# For pi coding agent
pi install npm:firecrawl-pool
# Or globally via npm
npm install -g firecrawl-poolQuick Start
# 1. Run the setup wizard
firecrawl-pool init
# 2. Check your keys
firecrawl-pool status
# 3. Add to your MCP config (or use pi extension)CLI
Command | What it does |
| Interactive setup wizard |
| Show key balances and health |
| Test that all keys work |
| Run the MCP proxy (default) |
Setup (Manual)
1. Create your keys file
cp firecrawl-keys.example.json ~/.config/firecrawl/keys.json
chmod 600 ~/.config/firecrawl/keys.jsonEdit ~/.config/firecrawl/keys.json:
{
"version": 1,
"upstream": "https://api.firecrawl.dev",
"cooldown": { "baseMs": 900000, "maxMs": 21600000 },
"keys": [
{ "id": "personal", "apiKey": "fc-your-key-here", "enabled": true },
{ "id": "work", "apiKey": "fc-another-key", "enabled": true }
]
}2. Point your MCP host at the proxy
Before (single key):
{
"mcpServers": {
"firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": { "FIRECRAWL_API_KEY": "fc-your-key" }
}
}
}After (pooled keys):
{
"mcpServers": {
"firecrawl": {
"command": "firecrawl-pool",
"env": { "FIRECRAWL_KEYS_FILE": "/path/to/keys.json" }
}
}
}Or for pi coding agent — the extension handles this automatically.
Auto-discovery
The proxy looks for keys file in order:
FIRECRAWL_KEYS_FILEenv varfirecrawl-keys.jsonnext to the binary~/.config/firecrawl/keys.json~/.firecrawl-keys.json
How it works
MCP host → stdio → firecrawl-pool → api.firecrawl.devSingle process, handles MCP protocol directly. Go binary (~5MB RAM) or Node.js fallback.
Credit-aware routing: Probes each key's balance on startup, routes to the healthiest
402 auto-retry: When a key is exhausted, retries with the next one
Keyless fallback: Search/scrape still work via Firecrawl's free tier when all keys die
Cooldown with backoff: Blocked keys auto-recover after exponential cooldown
Config options
Field | Default | What it does |
|
| Firecrawl API base URL. Change only if self-hosting. |
|
| Initial cooldown when a key gets a 402. |
|
| Maximum cooldown (doubles each consecutive 402). |
| — | Label for logging. Pick something you recognize. |
| — | Your |
|
| Set to |
What happens when keys run out
For search, scrape, and interact: the proxy falls back to Firecrawl's keyless free tier (rate-limited, no API key needed). You'll get results, just slower.
For everything else (crawl, agent, map, extract): the proxy returns a 503.
Blocked keys automatically become available again after their cooldown expires. No restart needed.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Firecrawl MCP — wraps the Firecrawl API (firecrawl.dev) for web
Web search, browser automation, scraping, crawling and CAPTCHA solving for AI agents.
40+ web scraping tools from Firecrawl, Bright Data, Jina, Olostep, ScrapeGraph, Notte, and Riveter. Scrape, crawl, screenshot, and extract from any website. Starts at $0.01/call. Get your API key at app.xpay.sh or xpay.tools
Web scraping for agents. Point it at a URL and it returns the page as clean markdown, JavaScript-rendered pages included. Point it at a site and it maps the URLs or crawls the section you need in the background, a few pages at a time so results fit in the conversation. Search the web and read full pages, extract fields with a JSON schema you define (validated, never invented), read a store's catalogue or a blog's posts from the platform's own feed, and check whether a page has changed. Failed requests cost nothing. The free plan includes 1,500 credits a month.
Related MCP Servers
- AlicenseAqualityCmaintenanceIntegrates Firecrawl for web scraping, crawling, search, and content extraction capabilities. Supports single/batch scraping, URL discovery, structured data extraction, deep research, and AI-powered web analysis with automatic retries and rate limiting.891,722 npmMIT
- AlicenseAqualityDmaintenanceIntegrates Firecrawl web scraping capabilities, enabling web content extraction, crawling, site mapping, search, and structured data extraction with automatic rate limiting and retry handling.691,722 npm2MIT
- AlicenseAqualityCmaintenanceEnables fetching and extracting web content as markdown using Firecrawl API, with support for single or multiple concurrent URL fetches and web search capabilities.31MIT
- FlicenseAqualityDmaintenanceDrop-in replacement for Claude's native web_search and web_fetch tools, resolving IP blocks and user-agent detection by using your own API keys and proxy.3-