Reference

Firecrawl reference

One of the reference files my agents read on demand when a rule's trigger fires, published as they read it.

Source
rob/agents/reference/firecrawl.md
Revision
3cb0d108

Wiring

Every home has its own dashboard key, so per-key usage attributes traffic to one tool, context and machine. Keys live in a private credentials file as FIRECRAWL_API_KEY_<TOOL>_<CONTEXT>_<MACHINE>; the dashboard key name is the lowercase <tool>-<context>-<machine>. The bare FIRECRAWL_API_KEY there is the owner’s parent key and is not wired into any agent. Firecrawl has no key-minting API: a new key is created by a human at https://www.firecrawl.dev/app/api-keys.

A publisher in the private policy repository owns, per home on the current Mac:

  • the hosted MCP https://mcp.firecrawl.dev/v2/mcp with Authorization: Bearer <key> inlined (Claude .claude.json plus mcp-servers.json; Codex [mcp_servers.firecrawl.http_headers]);
  • FIRECRAWL_API_KEY, FIRECRAWL_NO_TELEMETRY=1 and FIRECRAWL_NO_UPDATE_CHECK=1 in Claude settings.json env and Codex [shell_environment_policy.set].

publish-firecrawl --check is the drift check check-profiles runs. Never hand-edit these entries.

  • The key is inlined, not an env reference. An unset variable does not fail: the CLI, hosted MCP and developer search all fall back to the keyless tier (search, scrape, parse and developer search only, rate-limited per IP) and look healthy. firecrawl --status shows which key is in use.
  • The CLI’s own credential file is machine-wide (~/Library/Application Support/firecrawl-cli/ credentials.json) and would mix contexts. FIRECRAWL_API_KEY in the environment beats it; do not run firecrawl login in an agent home.
  • The firecrawl/skills plugin is deliberately not installed. Its .mcp.json starts a local npx firecrawl-mcp reading ${FIRECRAWL_API_KEY} from the launch environment: the keyless trap.
  • firecrawl-cli is a global npm package (Node 22+). codex-update-all refreshes it.

CodeRabbit

Each CodeRabbit workspace (rknightion, m7kni, BroTEK-Solutions) has its own key, FIRECRAWL_API_KEY_CODERABBIT_<ORG>, capped at 50 credits a day in the Firecrawl dashboard. brewmdm repos review under m7kni. The connection is UI-only: app.coderabbit.ai Connections > Custom > MCP tab (not Direct connection), server URL https://mcp.firecrawl.dev/v2/mcp, Streamable HTTP, API token auth with header Authorization and value Bearer fc-.... It is read-only and in the Review Base Scope. Tools are allowlisted to firecrawl_developer_search, firecrawl_scrape and firecrawl_map; CodeRabbit’s free built-in web search covers general lookups. The Prompt Guidance field carries the budget: at most 3 calls per review and 1 per chat reply. Context7 is removed.

  • Discover tools is the auth check. A key the server accepted lists 27 tools. Three tools (scrape, search, parse) means the header never arrived and the connection is on the keyless tier.
  • CodeRabbit’s docs describe MCP use for PR reviews and chat only. Check per-key usage before assuming CLI reviews call it.

Plugins

  • firecrawl@claude-plugins-official (Claude) and firecrawl@firecrawl from https://github.com/firecrawl/firecrawl-claude-plugin.git (Codex): twelve CLI skills, no MCP.
  • firecrawl-workflows@firecrawl-workflows from https://github.com/firecrawl/firecrawl-workflows.git: deliverable skills (deep research, SEO audit, QA, knowledge base, design clone). Personal homes only.

Credits

Hobby plan: 5,000 credits a month and 5 concurrent browsers, shared by every key. Pay-as-you-go is off, so an empty balance returns HTTP 402 rather than charging.

Call Credits
Developer search 2 per 10 results (k rounds up)
Web search 2 per 10 results, plus 1 per result scraped
Scrape, crawl 1 per page; +4 for JSON extraction, highlights, question; +1 per PDF page
Map 1 per call
Interact 2 per browser minute without a prompt, 7 with one; one-minute minimum
Agent Usage-based beyond 5 free runs a day
Monitor 1 per page per check, every scheduled run, until deleted

The first search-feedback per search refunds 1 credit. Agent, interact, crawl and monitors are the ways to burn a month: set --limit on crawls and confirm before creating a monitor.

Per-key monthly totals: GET https://api.firecrawl.dev/v2/team/credit-usage/historical?byApiKey=true. Remaining balance: GET /v2/team/credit-usage. Concurrency: GET /v2/team/queue-status. Activity (GET /v2/team/activity, last 24 h) carries no key name.

Developer index coverage

Coverage is uneven. Grafana Alloy docs, upstream PRs and Claude Code docs are indexed. docs.opnsense.org is not: opnsense/core issues and PRs and the opnsense/docs README are, so OPNsense API questions go to firecrawl_map + firecrawl_scrape on docs.opnsense.org.

  • repos scopes issues, PRs and READMEs; sources scopes docs. Sending both unions them.
  • language, topic, license, min_stars, max_stars, archived or fork without sources drops every doc result by design. Do not report the index broken.
  • title is often absent on doc results; cite url.