Ad space · Your tool here
PluginStack
Setup guide

How to set up the Firecrawl MCP server in Claude Code, Cursor, VS Code and Codex

Checked against the official docs:

Firecrawl's MCP server lets a coding agent search the web, scrape pages into clean markdown or structured data, crawl and map sites, parse files, and interact with pages. This guide covers the hosted keyless URL, signing in with OAuth, adding an API key, running the open-source server locally, which tools each mode exposes, and the errors people hit. It's based on Firecrawl's MCP docs and the firecrawl-mcp package on npm (checked 10 November 2026).

Get new guides by email

New MCP servers and agent tools, checked by hand. Free, unsubscribe anytime.

The newsletter hasn't started sending yet. Join the list now and we'll email you when the first issue goes out. From PluginStack (pluginstackai@gmail.com). Privacy policy.

Quick answer

  • Try it: add https://mcp.firecrawl.dev/v2/mcp with no key. You get Search, Scrape and Parse, capped per IP address per day.
  • Sign in: point your client at https://mcp.firecrawl.dev/v2/mcp-oauth. The client opens a browser so you can sign in and approve a team. Don't open that URL yourself. This unlocks the full tool set, subject to your plan.
  • API key: keep the /v2/mcp URL and send Authorization: Bearer <FIRECRAWL_API_KEY>. Never put the key in the server URL or in a chat.
  • Locally: run npx -y firecrawl-mcp with FIRECRAWL_API_KEY. That needs Node.js 22 or newer.
  • Then: "Search the web for the latest Firecrawl release notes and summarize the sources."

Free: MCP Starter Checklist

One page: Inspector smoke-test, Claude Code + Cursor connect steps, and the stdout gotcha. Join the list and download it free.

Markdown download + occasional PluginStack updates. No spam. Privacy policy.

What Firecrawl MCP is

Firecrawl is a web data API. Its official MCP server gives your agent tools for finding, reading, extracting and monitoring web content. The hosted server is at https://mcp.firecrawl.dev/v2/mcp (keyless or API key) and https://mcp.firecrawl.dev/v2/mcp-oauth (browser sign-in). Signing in and adding an API key both reach the full tool surface on your team's plan.

Keyless access exposes firecrawl_search, firecrawl_scrape and firecrawl_parse only. Crawl, map, agent and the other tools need an account connection or an API key. For a shorter tour of the server, see the Firecrawl MCP Server listing. If you want ready-made scrapers for specific sites such as Google Maps or online stores, see how to set up the Apify MCP server.

Get a Firecrawl API key (optional)

You can try the hosted server with no account. For the full tool set, higher limits, or local use against the cloud API, create a key. New accounts start on the free plan: it costs nothing, does not need a card, and includes 1,000 credits per month. Unused free credits do not roll over. Once that allotment is gone, requests that consume credits return HTTP 402 until the monthly reset. Keyless usage is a separate free tier, capped per IP address per day rather than by a monthly credit allotment.

Create an account and get a key here:

Try Firecrawl ↗ (affiliate link)

If you sign up or buy through this link, we may earn a commission from Firecrawl, at no extra cost to you. It doesn't change what we say about the tool. Disclosures

Keys are created in the Firecrawl dashboard. Send the key as Authorization: Bearer <FIRECRAWL_API_KEY>. Keep it out of files you commit and out of agent chat. If you sign in with OAuth instead, each connection gets its own key, which your client never sees. You can review and revoke those connections under Connected apps in Settings.

Option 1: try the keyless hosted server

This is the fastest way to test Search, Scrape and Parse. No account or key is required. Keyless MCP is rate-limited and capped per IP address per day; exceeding the daily request or credit cap returns HTTP 429.

Claude Code

bash
claude mcp add --transport http firecrawl https://mcp.firecrawl.dev/v2/mcp

More on Claude Code: the best MCP servers for Claude Code.

Codex

bash
codex mcp add firecrawl --url https://mcp.firecrawl.dev/v2/mcp

More: how to add an MCP server to Codex.

Cursor and other JSON-config clients

~/.cursor/mcp.json
json
{
  "mcpServers": {
    "firecrawl": {
      "url": "https://mcp.firecrawl.dev/v2/mcp"
    }
  }
}

Check it under Customize → MCPs. More: how to add an MCP server to Cursor.

VS Code (GitHub Copilot)

VS Code uses servers rather than mcpServers:

.vscode/mcp.json
json
{
  "servers": {
    "firecrawl": {
      "type": "http",
      "url": "https://mcp.firecrawl.dev/v2/mcp"
    }
  }
}

More: how to add an MCP server to VS Code.

Option 2: sign in with your browser

Point your client at the OAuth server URL. A human has to complete the browser sign-in and approve a team. https://mcp.firecrawl.dev/v2/mcp-oauth is a server URL for your MCP client, not a page to open directly in a browser.

Claude Code

bash
claude mcp add --transport http firecrawl https://mcp.firecrawl.dev/v2/mcp-oauth

Enter /mcp, choose firecrawl, and complete the browser sign-in. Start a new session if you changed an existing Firecrawl connection. Confirm that only one firecrawl server is active.

Codex

bash
codex mcp add firecrawl --url https://mcp.firecrawl.dev/v2/mcp-oauth
codex mcp login firecrawl

Cursor and other JSON-config clients

~/.cursor/mcp.json
json
{
  "mcpServers": {
    "firecrawl": {
      "url": "https://mcp.firecrawl.dev/v2/mcp-oauth"
    }
  }
}

VS Code (GitHub Copilot)

.vscode/mcp.json
json
{
  "servers": {
    "firecrawl": {
      "type": "http",
      "url": "https://mcp.firecrawl.dev/v2/mcp-oauth"
    }
  }
}

Claude Desktop, Cowork and the Code tab

Connect once under the server name firecrawl, and it is available in Claude Desktop chat, Cowork and the Code tab. Open Customize > Connectors, search for Firecrawl, click Connect, then sign in and approve a team. If the directory connector isn't available, add a custom connector named firecrawl with the URL https://mcp.firecrawl.dev/v2/mcp-oauth, keep the detected sign-in settings, then click Connect and finish the browser sign-in. Don't put this URL in claude_desktop_config.json, which is for local servers. Steps: how to add an MCP server to Claude Desktop.

ChatGPT and Claude.ai have a native Firecrawl connector. Use that instead of adding the URL by hand.

Option 3: use an API key on the hosted server

This is the unattended path: no browser sign-in. Use the same /v2/mcp URL as the keyless server, and send the key as a Bearer token. Never put an API key in the server URL.

json
{
  "mcpServers": {
    "firecrawl": {
      "type": "http",
      "url": "https://mcp.firecrawl.dev/v2/mcp",
      "headers": {
        "Authorization": "Bearer <FIRECRAWL_API_KEY>"
      }
    }
  }
}

In Cursor, the ${env:FIRECRAWL_API_KEY} syntax reads the key from an environment variable, so the file holds no secret. See how to add an MCP server to Cursor for that form.

Option 4: run Firecrawl MCP locally

Run the open-source server locally when a client needs to launch a local process, when you need a local HTTP transport, or when the MCP server must connect to a self-hosted Firecrawl API. You need Node.js 22 or newer, plus a Firecrawl API key for the cloud API (or a self-hosted API URL).

bash
env FIRECRAWL_API_KEY=fc-YOUR-API-KEY npx -y firecrawl-mcp

Configure the client to run npx -y firecrawl-mcp and provide FIRECRAWL_API_KEY through the client's protected environment or secret mechanism:

json
{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": {
        "FIRECRAWL_API_KEY": "YOUR-API-KEY"
      }
    }
  }
}

Set FIRECRAWL_API_URL to send requests to a self-hosted Firecrawl API instead of the cloud API. FIRECRAWL_API_KEY is optional only when that instance does not require authentication. Direct local-file parsing with firecrawl_parse requires FIRECRAWL_API_URL pointing at a self-hosted API; a local server connected only to the cloud API cannot upload a local file through that tool.

To serve Streamable HTTP locally (for a client such as n8n that connects to an already-running server), set HTTP_STREAMABLE_SERVER=true and connect to http://localhost:3000/mcp. Confirm it is ready with curl http://localhost:3000/health, which returns ok. The local route is /mcp; /v2/mcp belongs to the hosted service.

On Windows, if the client can't start npx, see fixing spawn npx ENOENT. Firecrawl's local-server docs also suggest running where npx in Command Prompt and pointing the client at the returned npx.cmd path.

Which tools you get

Your client receives the exact input schema for every available tool when it connects. Availability depends on how you connect:

  • Hosted keyless: firecrawl_search, firecrawl_scrape and firecrawl_parse only.
  • Hosted OAuth or API key: the full tool surface, subject to plan and team policy.
  • Local with the Firecrawl cloud API: API-backed tools; direct local-file Parse is unavailable.
  • Local with a self-hosted Firecrawl API: tools supported by the services enabled in that deployment.

The main tools:

  • firecrawl_scrape: read one URL as markdown or structured fields. Use a JSON format when you want data matching a prompt or schema.
  • firecrawl_search: search the web when you have a query rather than a known URL.
  • firecrawl_parse: get content from a PDF, document, spreadsheet or HTML file.
  • firecrawl_map: discover the URLs on a site before you decide what to extract.
  • firecrawl_crawl and firecrawl_check_crawl_status: traverse a site or section. firecrawl_crawl polls the job to a terminal state before returning. If that wait times out, resume with firecrawl_check_crawl_status and the crawl ID.
  • firecrawl_agent and firecrawl_agent_status: autonomous research across multiple sources when the exact pages are not known. The agent tool returns a job identifier; the status tool checks it.
  • firecrawl_interact and firecrawl_interact_stop: clicks, form fills, navigation or dynamic-page extraction. Call firecrawl_interact_stop with the scrapeId when you are done, so the session is released.

Authenticated connections can also expose tools for the Research Index (firecrawl_research_*), developer search, the Government Index, recurring monitors (firecrawl_monitor_*), and Alexandria data tools. Some optional tools can be disabled by environment or team policy. The former Extract MCP tool is deprecated; use Scrape with JSON format for a known page, or Agent when Firecrawl must discover the sources.

Check that it works

Open your client's MCP status or tool list and confirm that firecrawl is connected. A keyless connection shows firecrawl_search, firecrawl_scrape and firecrawl_parse. An API-key or signed-in connection can expose the full tool surface, subject to plan, deployment and team policy. Then try:

text
Search the web for the latest Firecrawl release notes and summarize the sources.

If no Firecrawl tools appear, restart or reload the client after saving its MCP configuration, and start a new conversation or session after signing in.

Troubleshooting

  • A tool is missing: confirm the connection mode (keyless vs signed in vs API key vs local), reconnect or restart the client, and check whether team policy disables optional tools.
  • The client returns 401: check the configured server URL first. If it is /v2/mcp-oauth, sign in again through the client. If it is /v2/mcp, either replace the API key on that server or change the URL to /v2/mcp-oauth and complete sign-in. Start a new client session after either change. In Claude Code, do not paste an API key into the conversation or the OAuth URL.
  • The client is rate-limited: wait for the retry interval, or move from keyless to an API key or a signed-in connection. Rate limits are enforced by the connected Firecrawl API. The free plan allows 10 requests per minute on /scrape, /map and /search, and 2 requests per minute on /crawl, /agent and /interact.
  • A Firecrawl server already exists in Claude Code: run claude mcp remove firecrawl, add the intended connection once, then start a new session.
  • The browser does not open: enter /mcp, select firecrawl, and start authentication from the client.
  • `spawn npx ENOENT`: install Node.js 22 or newer, confirm that npx is on the client's PATH, and fully restart the client. On Windows, see fix spawn npx ENOENT.
  • A local HTTP client cannot connect: confirm that HTTP_STREAMABLE_SERVER=true, then call http://localhost:3000/health. Use http://localhost:3000/mcp as the client endpoint, not the hosted /v2/mcp path.

FAQ

Is Firecrawl MCP free?

You can use the hosted keyless server with no account. Keyless usage is free and capped per IP address per day. A free API key adds 1,000 credits per month and higher rate limits, with no card required. Paid plans add more credits and higher limits; check firecrawl.dev/pricing for current prices.

Should I use keyless access, browser sign-in or an API key?

Use keyless access to try Search, Scrape and Parse quickly. Use browser sign-in when a person can complete the OAuth flow and you want the full tool set without putting a key in your config. Use an API key for unattended or CI setups, or for the local server talking to the cloud API.

Should I use the hosted or local server?

The hosted server is simpler: there's nothing to install. Use the local server if your client only supports stdio, you need a local HTTP transport, or you are pointing at a self-hosted Firecrawl API.

Does it work with ChatGPT?

Yes. ChatGPT and Claude.ai have a native Firecrawl connector. Install that rather than adding the MCP URL by hand.

Sources

Commands and config above come from these official docs. Tools change often, so check them for the latest steps.

PluginStack is independent and not affiliated with or endorsed by the companies mentioned. Spotted something out of date? Email pluginstackai@gmail.com.

Get new guides by email

New MCP servers and agent tools, checked by hand. Free, unsubscribe anytime.

The newsletter hasn't started sending yet. Join the list now and we'll email you when the first issue goes out. From PluginStack (pluginstackai@gmail.com). Privacy policy.