Firecrawl MCP server
Official Firecrawl server that turns any website into clean, LLM-ready data through scrape, crawl, map, search, and extract.
Firecrawl MCP is the official server from Firecrawl, the web-data API built for AI. It gives an agent a full toolbox for turning the live web into structured, model-ready content: scrape a single URL into clean markdown, batch-scrape a known list of pages, map a domain to discover every indexed URL, crawl a site asynchronously, search the web and optionally scrape the hits, and extract typed structured data with an LLM pass. A research agent tool runs autonomous multi-step gathering, and a set of monitor tools schedule recurring scrapes that diff each snapshot against the last and fire a webhook or email on change.
It installs two ways. Locally it runs over stdio with npx using the firecrawl-mcp package and a FIRECRAWL_API_KEY env var; for self-hosted Firecrawl you can point it at your own instance with FIRECRAWL_API_URL. Firecrawl also hosts a remote Streamable HTTP endpoint at https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp, with a bearer-token variant for clients that pass the key in an Authorization header. The API key authenticates requests and meters credits.
Quick install
Copy-paste configs are provided for all 8 supported clients. Pick your client below.
Add to ~/.claude.json
{
"mcpServers": {
"firecrawl": {
"type": "http",
"url": "https://mcp.firecrawl.dev/v2/mcp",
"headers": {
"Authorization": "Bearer <FIRECRAWL_API_KEY>"
}
}
}
}claude mcp add --transport http firecrawl https://mcp.firecrawl.dev/v2/mcpAvailable tools
| Tool | Description |
|---|---|
| firecrawl_scrape | Scrape content from a single URL with advanced options, returning clean markdown or other formats. |
| firecrawl_batch_scrape | Scrape multiple known URLs efficiently with built-in rate limiting and parallel processing. |
| firecrawl_check_batch_status | Check the progress and retrieve results of a batch scrape operation. |
| firecrawl_map | Map a website to discover all of its indexed URLs before deciding what to scrape. |
| firecrawl_search | Search the web and optionally scrape content from the search results. |
| firecrawl_search_feedback | Submit structured feedback on previous search results to improve quality and refund credits. |
| firecrawl_crawl | Start an asynchronous crawl job that extracts content from all reachable pages on a site. |
| firecrawl_check_crawl_status | Check the progress of a crawl job and retrieve results when complete. |
| firecrawl_extract | Extract structured information from web pages using LLM capabilities against a schema. |
| firecrawl_agent | Run an autonomous web research agent that browses and gathers data independently and asynchronously. |
| firecrawl_agent_status | Check the status of an agent research job and retrieve its findings when complete. |
| firecrawl_monitor_create | Create a recurring page monitor that runs scheduled scrapes or crawls and diffs each snapshot. |
| firecrawl_monitor_list | List all configured monitors. |
| firecrawl_monitor_get | Retrieve the details of a single monitor. |
| firecrawl_monitor_update | Update the settings of an existing monitor. |
| firecrawl_monitor_run | Trigger an immediate check for a monitor rather than waiting for the schedule. |
| firecrawl_monitor_checks | List the check history for a monitor with optional filtering. |
| firecrawl_monitor_check | Get page-level results for a single monitor check, including diffs against the previous snapshot. |
Required configuration
- FIRECRAWL_API_KEYRequired
Firecrawl API key used to authenticate requests and meter credits. Required for the cloud API.
- FIRECRAWL_API_URLOptional
Optional custom endpoint for a self-hosted Firecrawl instance.
What you can do with it
Feed agents clean web content
Scrape a page or search the web and get back tidy markdown the model can reason over directly, skipping a brittle hand-rolled scraping step.
Build a structured dataset from a site
Map a domain to enumerate its URLs, crawl the relevant subtree, then extract typed fields against a schema to populate a database.
Watch pages for changes
Stand up a monitor that re-scrapes on a schedule, diffs each result against the last snapshot, and notifies by webhook or email when something changes.
FAQ
- Is it free?
- The server is open source under an MIT license and free to run; calls to Firecrawl's cloud API consume credits, and a FIRECRAWL_API_KEY is required. A free tier with starter credits is available, and you can self-host Firecrawl to avoid cloud usage.
- Does it support remote/OAuth?
- Yes. Firecrawl hosts a remote Streamable HTTP endpoint at https://mcp.firecrawl.dev/{FIRECRAWL_API_KEY}/v2/mcp, with a variant that accepts the key as an Authorization bearer header. Authentication is an API key rather than OAuth; the local stdio package uses the same key via an env var.
- Can I point it at a self-hosted Firecrawl instance?
- Yes. Set FIRECRAWL_API_URL to your own deployment and the server talks to that instead of the cloud API.