MCP servers / Firecrawl
Firecrawl MCP server: setup for Claude Code, Claude Desktop and Cursor
Firecrawl is a web scraping service, and this server connects your AI to it. Beyond scraping a single page, it can map a whole site, crawl many pages, search the web, and run longer research jobs.
It is much bigger than "scrape a page": the server we tested offers 27 tools, including live browser sessions, scheduled monitors, and search tools for research papers and public GitHub issues.
- Runs with
- npx (Node.js)
- Package
- firecrawl-mcp on npm
- Needs
- Node.js (for npx) and a Firecrawl API key from firecrawl.dev.
- Tools
- 27 (16 read-only, 11 can change things)
- Source
- firecrawl/firecrawl-mcp-server
- Last checked
- 2026-09-20 (server reported version 3.24.0)
Config for Firecrawl
Generated by the same code as the free builder, so it matches what you get there. Pick your client, then copy.
Needs a Firecrawl API key from firecrawl.dev.
Claude Code
Save as .mcp.json in your project root. Claude Code asks you to approve it the first time.
{
"mcpServers": {
"firecrawl": {
"command": "npx",
"args": [
"-y",
"firecrawl-mcp"
],
"env": {
"FIRECRAWL_API_KEY": "${FIRECRAWL_API_KEY}"
}
}
}
}
Set FIRECRAWL_API_KEY in your environment before starting Claude Code. The config only references the variable, so it is safe to commit.
Or add it from a terminal instead (single quotes work in bash, zsh and PowerShell; more on this command):
claude mcp add firecrawl -e 'FIRECRAWL_API_KEY=${FIRECRAWL_API_KEY}' -- npx -y firecrawl-mcp
Claude Desktop
Merge into claude_desktop_config.json (Settings → Developer → Edit Config), then fully quit and restart Claude Desktop.
{
"mcpServers": {
"firecrawl": {
"command": "npx",
"args": [
"-y",
"firecrawl-mcp"
],
"env": {
"FIRECRAWL_API_KEY": "paste-your-key-here"
}
}
}
}
Claude Desktop keeps FIRECRAWL_API_KEY in this file as plain text. Keep the file private and never share or commit it.
Cursor
Save as .cursor/mcp.json in your project, or ~/.cursor/mcp.json for all projects.
{
"mcpServers": {
"firecrawl": {
"command": "npx",
"args": [
"-y",
"firecrawl-mcp"
],
"env": {
"FIRECRAWL_API_KEY": "${env:FIRECRAWL_API_KEY}"
}
}
}
}
Set FIRECRAWL_API_KEY in your environment before launching Cursor. The config only references the variable, so it is safe to commit.
What it can do
These are all 27 tools the server reported when we started it and asked on 2026-09-20. The labels come from the hints each tool declares about itself.
firecrawl_scrapecan change things
Retrieve and extract content from one supplied URL through Firecrawl.firecrawl_mapread-only
Enumerate URLs indexed under one website through Firecrawl without fetching each page's content.firecrawl_searchread-only
Search web, news, or image sources and return ranked results.firecrawl_search_feedbackcan change things
Records schema-validated quality feedback for a prior `firecrawl_search` UUID `searchId`.firecrawl_feedbackcan change things
Submit concise quality feedback for a completed search, scrape, parse, or map job.firecrawl_crawlcan change things
Start a multi-page crawl at a website URL, poll it to a terminal state, and return the final status and collected data.firecrawl_check_crawl_statusread-only
Retrieve the current status, progress, and available results for an existing crawl ID.firecrawl_extractread-only
Deprecated compatibility entry point.firecrawl_agentcan change things
Start an asynchronous web research job from a prompt, optional seed URLs, and an optional JSON schema.firecrawl_agent_statusread-only
Retrieve progress or final results for a `firecrawl_agent` job ID.firecrawl_interactcan change things
Open or reuse a live browser session to navigate a page, click controls, fill fields, or run browser code.firecrawl_interact_stopcan change things
Stop the live interact session associated with a `scrapeId` and release its resources.firecrawl_parseread-only
Parse one supported document into markdown, HTML, links, summary, targeted answers, or JSON matching a schema.firecrawl_monitor_createcan change things
Create a recurring scrape, crawl, or search monitor that compares each check with its retained predecessor.firecrawl_monitor_listread-only
List monitors for the authenticated account with optional pagination controls.firecrawl_monitor_getread-only
Retrieve one monitor by ID, including its configuration and current state.firecrawl_monitor_updatecan change things
Patch an existing monitor by ID.firecrawl_monitor_deletecan change things
Permanently delete a monitor by ID and stop its future schedule.firecrawl_monitor_runcan change things
Queue an immediate check for a monitor outside its normal schedule.firecrawl_monitor_checksread-only
List historical checks for a monitor, optionally filtered by status and bounded by a result limit.firecrawl_monitor_checkread-only
Retrieve one monitor check and its page-level results, optionally filtered by page status.firecrawl_research_search_papersread-only
Search paper metadata and abstracts with a natural-language query across the indexed corpus, which spans biomedical, life-science, and clinical literature (PubMed,…firecrawl_research_inspect_paperread-only
Retrieve canonical metadata for one paper ID, such as an arXiv, PMC, PMID, or DOI identifier.firecrawl_research_related_papersread-only
Find citation-graph candidates from one to ten `seed_ids`; the first ID is the primary seed and later IDs are anchors.firecrawl_research_read_paperread-only
Retrieve in-body passages from one paper that are relevant to a specific question.firecrawl_research_search_githubread-only
Search indexed public GitHub issue, pull-request, and README content.firecrawl_developer_searchread-only
For a developer question — code behaviour, a library or framework, an API contract, an error message, or a known bug — search an index built for coding agents.
Watch out for
- Requests run on Firecrawl's service under your account, so check your plan's limits before letting the AI crawl freely.
- The monitor tools create recurring checks that run on a schedule, so they can keep running after your chat ends. Check your Firecrawl account for anything the AI set up.
- The server lists
firecrawl_extractas deprecated in its own description, so expect the tool list to change between versions. - You can point it at a self-hosted Firecrawl with
FIRECRAWL_API_URL(from the README), in which case the API key is optional.
Try asking
- “Map the docs site at this URL and list its main sections.”
- “Scrape this page and extract the product names and prices as a table.”
- “Search the web for recent posts about this error message and summarize the common fixes.”
Related servers
- Fetch: Download a web page and convert it to readable text.
- Playwright: Drive a real browser to test pages and take screenshots.
Building a full setup? Combine this with other servers in the config builder. Trouble connecting? See fixing connection errors.