Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
A Model Context Protocol (MCP) server that brings Firecrawl to MCP-compatible AI agents — search, scrape, and interact with the live web for clean, agent-ready context.
Big thanks to @vrknetha, @knacklabs for the initial implementation!
Play around with our MCP Server on MCP.so's playground or on Klavis AI.
firecrawl_scrape when you have a known URL and want its content as markdown or as JSON matching a schema you supply.firecrawl_map when you need to discover URLs on a site without fetching their content.firecrawl_crawl when you need content from many pages under a site; set limit, includePaths/excludePaths, or maxDiscoveryDepth to bound it.firecrawl_search when you're starting from a query rather than a URL and want ranked web results; add scrapeOptions if you also want page content fetched in the same call (the search-only endpoint never fetches content).firecrawl_interact when a page needs a click, type, or navigate action before you can read it — pass a url for a fresh page or a scrapeId to continue on one you already scraped.firecrawl_monitor_* tools when the same page needs to be checked on a recurring schedule with diffs and change alerts, rather than fetched once.firecrawl_interact call runs one prompt or code turn to completion and returns control — the session can persist across calls via scrapeId and ends with firecrawl_interact_stop, but you cannot drive it interactively step-by-step from the client side within a single call.This server lists 25 tools when the full profile registers with default settings (feedback tools included, not running in local-keyless mode). Setting FIRECRAWL_NO_SEARCH_FEEDBACK=1 and/or FIRECRAWL_NO_ENDPOINT_FEEDBACK=1 removes the corresponding feedback tools and reduces this count, as does local keyless startup. For clients with a tool-slot limit: the hosted keyless endpoint (https://mcp.firecrawl.dev/v2/mcp, no API key) exposes only 3 — firecrawl_scrape, firecrawl_search, firecrawl_parse — and the dedicated search-only endpoint (https://mcp.firecrawl.dev/v2/mcp-search) exposes a fixed 6 read-only tools.
Connect to the remote hosted server with no setup:
https://mcp.firecrawl.dev/v2/mcp
On the keyless free tier, scrape, search, and parse work without an API key (rate-limited). Other tools such as crawl, map, and agent still need a key.
Prefer OAuth or an API key whenever the human can sign up. It unlocks the full tool set and higher limits.
For an interactive account connection, configure your MCP client to use this server URL. This is an MCP endpoint, not a browser page; use the client's account-connection flow and do not add a second Firecrawl server entry when reconnecting:
https://mcp.firecrawl.dev/v2/mcp-oauth
For an API-key connection (for example, an unattended integration), keep the server URL as:
https://mcp.firecrawl.dev/v2/mcp
Then configure the client's secure header or secret setting with:
Authorization: Bearer <FIRECRAWL_API_KEY>
Never put an API key in the server URL. Never put an API key in an agent chat. Configure it directly in the client or secret manager. See the hosted MCP setup guide and the agent onboarding guide for client-specific instructions.
A read-only, search-only surface is also hosted at:
https://mcp.firecrawl.dev/v2/mcp-search
It exposes a fixed set of six read-only tools: firecrawl_search, firecrawl_developer_search, and the four firecrawl_research_* tools. It performs no page-content fetching and has its own OAuth identity; the full endpoint above is unchanged. See docs/search-profile.md for the full contract.
env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp
npm install -g firecrawl-mcp
Configuring Cursor ️ Note: Requires Cursor version 0.45.6+ For the most up-to-date configuration instructions, please refer to the official Cursor documentation on configuring MCP servers: Cursor MCP Server Configuration Guide
To configure Firecrawl MCP in Cursor v0.48.6
{
"mcpServers": {
"firecrawl-mcp": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "YOUR-API-KEY"
}
}
}
}
To configure Firecrawl MCP in Cursor v0.45.6
env FIRECRAWL_API_KEY=your-api-key npx -y firecrawl-mcpIf you are using Windows and are running into issues, try
cmd /c "set FIRECRAWL_API_KEY=your-api-key && npx -y firecrawl-mcp"
Replace your-api-key with your Firecrawl API key. If you don't have one yet, you can create an account and get it from https://www.firecrawl.dev/app/api-keys
After adding, refresh the MCP server list to see the new tools. The Composer Agent will automatically use Firecrawl MCP when appropriate, but you can explicitly request it by describing your web scraping needs. Access the Composer via Command+L (Mac), select "Agent" next to the submit button, and enter your query.
Add this to your ./codeium/windsurf/model_config.json:
{
"mcpServers": {
"mcp-server-firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "YOUR_API_KEY"
}
}
}
}
To run the server using Streamable HTTP locally instead of the default stdio transport:
env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp
Use the url: http://localhost:3000/mcp
To install Firecrawl for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude
For one-click installation, click one of the install buttons below...
For manual installation, add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON).
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "apiKey",
"description": "Firecrawl API Key",
"password": true
}
],
"servers": {
"firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "${input:apiKey}"
}
}
}
}
}
Optionally, you can add it to a file called .vscode/mcp.json in your workspace. This will allow you to share the configuration with others:
{
"inputs": [
{
"type": "promptString",
"id": "apiKey",
"description": "Firecrawl API Key",
"password": true
}
],
"servers": {
"firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "${input:apiKey}"
}
}
}
}
FIRECRAWL_API_KEY: Your Firecrawl API keyFIRECRAWL_API_URLFIRECRAWL_API_URL (Optional): Custom API endpoint for self-hosted instanceshttps://firecrawl.your-domain.comHosted Firecrawl can issue OAuth access tokens (fco_…) via the authorization server on firecrawl.dev. This MCP server forwards whichever credential it resolves to the Firecrawl API as Authorization: Bearer ….
CLOUD_SERVICE=true, HTTP_STREAMABLE_SERVER=true, or SSE_LOCAL=true): Clients should send Authorization: Bearer <fco_access_token> on MCP requests. An OAuth bearer token takes precedence over x-firecrawl-api-key / x-api-key when both are present.FIRECRAWL_OAUTH_TOKEN for a static access token, or keep using FIRECRAWL_API_KEY for an API key.Use access tokens (fco_…) only. Refresh tokens (fcr_…) must be exchanged at the token endpoint, not passed to the scrape/search API.
In hosted mode (CLOUD_SERVICE=true) a second in-process instance serves the search-only endpoint. The bundled service has a fixed deployment contract: nginx routes /v2/mcp-search to the instance on local port 3001, and the OAuth protected-resource identifier is https://mcp.firecrawl.dev/v2/mcp-search.
FIRECRAWL_MCP_SEARCH_ENABLED (default true) is the supported operational toggle; set it to false to prevent the search instance from starting. The Node process also accepts FIRECRAWL_MCP_SEARCH_PORT, FIRECRAWL_MCP_SEARCH_ENDPOINT, and FIRECRAWL_MCP_SEARCH_RESOURCE_URL for isolated tests. Those overrides do not reconfigure the bundled nginx routes or the authorization server allowlist and must not be used independently in the hosted deployment.
The search instance requires authentication for every request (including tools/list) and rejects OAuth tokens whose audience does not match its own resource.
For cloud API usage:
export FIRECRAWL_API_KEY=your-api-key
For self-hosted instance:
# Required for self-hosted
export FIRECRAWL_API_URL=https://firecrawl.your-domain.com
# Optional authentication for self-hosted
export FIRECRAWL_API_KEY=your-api-key # If your instance requires auth
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"mcp-server-firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "YOUR_API_KEY_HERE"
}
}
}
}
Use this guide to select the right tool for your task:
No open issues yet, or sync has not completed.