F

Firecrawl Official Featured

MCP server Β· by firecrawl

Web APIs stdio

πŸ”₯ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.

View source β†— Website β†— Generate config for multiple servers More servers

Install

unavailable β€” this listing has no version info in the registry

npm
npx -y firecrawl-mcp

Setup by client

Pick your client β€” the config below is generated for this server (local stdio). Copy respects the β€œPin version” switch above.

claude_desktop_config.json

{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": [
        "-y",
        "firecrawl-mcp"
      ]
    }
  }
}

Format verified against the official Claude Desktop docs β†—.

Official version check

Official Β· by firecrawl

Evidence β†—

Other community implementations

Independent, non-official implementations of the Firecrawl MCP server maintained by the community.

Last verified: 2026-10-15 | Sources: Verification basis β†—

GitHub

⭐ 7,609 stars Β· ζœ€θΏ‘ζ›΄ζ–°δΊŽ 14 倩前 Β· MIT license

These star and push figures are for the shared repository β€” 2 listings on this site point at the same repository.

About this server

> > > > > Firecrawl MCP Server 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! Features Search the web and get full page content Search an index built for coding agents: GitHub issues, merged pull requests, READMEs, and docs Scrape any URL into clean, structured data Interact with pages β€” click, navigate, and operate Deep research with autonomous agent Check current and historical Firecrawl credit usage Automatic retries and rate limiting Cloud and self-hosted support SSE support > Play around with our MCP Server on MCP.so's playground or on Klavis AI. When to Use This Server Use firecrawl scrape when you have a known URL and want its content as markdown or as JSON matching a schema you supply. Use firecrawl map when you need to discover URLs on a site without fetching their content. Use firecrawl crawl when you need content from many pages under a site; set limit , includePaths / excludePaths , or maxDiscoveryDepth to bound it. Use 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). Use 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. Use the firecrawl monitor tools when the same page needs to be checked on a recurring schedule with diffs and change alerts, rather than fetched once. Use firecrawl credit usage to check credits left or monthly consumption, optionally broken down by API key. Consider something else when you need to hold a browser session open across many of your own steps with your own retry and termination logic: each 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 27 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 ( no API key) exposes only 3 β€” firecrawl scrape , firecrawl search , firecrawl parse β€” and the dedicated search-only endpoint ( exposes a fixed set of 9 tools (search, developer, government, and research search, plus Alexandria catalogue lookup and execution). Installation Hosted MCP (keyless free tier) Connect to the remote hosted server with no setup: 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: For an API-key connection (for example, an unattended integration), keep the server URL as: Then configure the client's secure header or secret setting with: 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. Search-only endpoint A fixed-scope search surface is also hosted at: It exposes a fixed set of nine tools: firecrawl search , firecrawl developer search , firecrawl gov search , the four firecrawl research tools, and the two Alexandria tools firecrawl find tools and firecrawl scrape . Its firecrawl search fetches no page content. Running with npx Manual Installation Running on Cursor 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 Open Cursor Settings Go to Features > MCP Servers Click "+ Add new global MCP server" Enter the following code: To configure Firecrawl MCP in Cursor v0.45.6 Open Cursor Settings Go to Features > MCP Servers Click "+ Add New MCP Server" Enter the following: Name: "firecrawl-mcp" (or your preferred name) Type: "command" Command: env FIRECRAWL API KEY=your-api-key npx -y firecrawl-mcp > If 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 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. Running on Windsurf Add this to your ./codeium/windsurf/model config.json : Running with Streamable HTTP Local Mode To run the server using Streamable HTTP locally instead of the default stdio transport: Use the url: Running with Docker The ghcr.io/firecrawl/firecrawl-mcp-server image runs the same server as npx -y firecrawl-mcp . Every build from main is tagged latest , v version> and sha- sha> . v version> moves to the newest build of that version, so pin sha- sha> (or a digest) when you need a fixed image. stdio (the default), for MCP clients that launch the server as a command: Streamable HTTP, served at The image sets HOST=0.0.0.0 and PORT=3000 ; override PORT (and the -p mapping) to listen elsewhere. The server uses the container's FIRECRAWL API KEY for requests that don't send their own credential, so the example publishes the port on 127.0.0.1 only; don't expose it more widely unless clients must supply their own key. Set FIRECRAWL API URL to use a self-hosted Firecrawl API. The container runs as the unprivileged node user. Installing via Smithery (Legacy) To install Firecrawl for Claude Desktop automatically via Smithery: Running on VS Code 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) . 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: Configuration Environment Variables Required for Cloud API FIRECRAWL API KEY : Your Firecrawl API key Required when using cloud API (default) Optional when using self-hosted instance with FIRECRAWL API URL FIRECRAWL API URL (Optional): Custom API endpoint for self-hosted instances Example: If not provided, the cloud API will be used (requires API key) MCP OAuth (Bearer access tokens) Firecrawl issues 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 … . HTTP stream transports ( CLOUD SERVICE=true , HTTP STREAMABLE SERVER=true , or SSE LOCAL=true ): Clients should send Authorization: Bearer access token> on MCP requests. An OAuth bearer token takes precedence over x-firecrawl-api-key / x-api-key when both are present. stdio: Use 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. CLOUD SERVICE=true CLOUD SERVICE=true serves the tools over streamable HTTP on PORT (default 3000 , bound to 0.0.0.0 ) with stricter defaults: every request must carry a credential (an API key or an OAuth access token), scrape is read-only (see the scrape tool below), and firecrawl parse accepts uploads only. FASTMCP ENDPOINT selects the tool surface: /v2/mcp (default) for the full tool set, /v2/mcp-oauth for the account surface, or /v2/mcp-search for the search-only tools (this also requires FIRECRAWL MCP SEARCH OAUTH ONLY=true ). With the full surface, a search-only instance also starts on port 3001 ; set FIRECRAWL MCP SEARCH ENABLED=false to turn it off. Configuration Examples For cloud API usage: For self-hosted instance: Usage with Claude Desktop Add this to your claude desktop config.json : How to Choose a Tool Use this guide to select the right tool for your task: If you know the exact URL you want: use scrape (with JSON format for structured data) If you have multiple known URLs: call scrape for each URL. If you specifically need one bulk API operation, use the Firecrawl API batch endpoint outside MCP. If you need to discover URLs on a site: use map If you want to search the web for info: use search If you have a programming question (a library, an API contract, an error message, a known bug): use developer search If you have a legal or regulatory question (a statute, regulation, code, court opinion, or other US government publication): use the Firecrawl Government Index If you need scientific papers (biomedical, life-science, clinical, or arXiv literature): use research tools β€” they search paper abstracts and full text. search with categories: ["research"] is a different thing: a website filter over ordinary web results. If you need multi-source research that returns structured data, do not know the URLs, or the answer spans several sites (an entity plus its fields, a list, a dataset): use agent If you want to analyze a whole site or section: use crawl (with limits!) If you need interactive browser automation (click, type, navigate): use interact with a URL for a fresh page, or scrape + interact when you already scraped the page or need tighter scrape control If you need data from a catalogued provider (Alexandria): search with sources: ["alexandria"] , inspect the selected contract with find tools , and execute it with scrape alexandria Quick Reference Table Tool Best for Returns --------- ---------------------------------------------- ------------------------------------------------ scrape Single page content JSON (preferred) or markdown interact Interact with a URL or scraped page Execution result + scrapeId for URL mode map Discovering URLs on a site URL[] crawl Multi-page extraction (with limits) final crawl status/data after internal polling parse Files and hosted upload refs markdown, JSON, or document output search Web search for info results[] find tools Alexandria catalogue browsing and URL lookup providers, tool contracts and nextTool navigation developer Programming questions over developer sources results[] with passages gov US primary law and regulatory material results[] with snippets agent Multi-source research, unknown or many sites JSON (structured data) monitor Recurring page checks monitor/check metadata and diffs research Paper and GitHub repository research research results and repo matches Format Selection Guide When using scrape , choose the right format: JSON format (recommended for most cases): Use when you need specific data from a page. Define a schema based on what you need to extract. This keeps responses small and avoids context window overflow. Markdown format (use sparingly): Only when you genuinely need the full page content, such as reading an entire article for summarization or analyzing page structure. Available Tools Scrape Tool ( firecrawl scrape ) Scrape content from a single URL with advanced options. Best for: Single page content extraction, when you know exactly which page contains the information. Not recommended for: Extracting content from multiple pages (use repeated scrape calls for known URLs, or map + scrape to discover URLs first, or crawl for full page content) When you're unsure which page contains the information (use search) Common mistakes: Passing a list of URLs to one scrape call. Call scrape once per URL in MCP. If you specifically need one bulk API operation, use the Firecrawl API batch endpoint outside MCP. Using markdown format by default (use JSON format to extract only what you need). Choosing the right format: JSON format (preferred): For most use cases, use JSON format with a schema to extract only the specific data needed. This keeps responses focused and prevents context window overflow. Markdown format: Only when the task genuinely requires full page content (e.g., summarizing an entire article, analyzing page structure). Prompt Example: > "Get the product details from Usage Example (JSON format - preferred): Usage Example (markdown format - when full content needed): Usage Example (branding format - extract brand identity): json { "name": "firecrawl scrape", "arguments": { "url"…

Summary from the project README β€” github.com/firecrawl/firecrawl-mcp-server

Distributed as stdio, listed under Web APIs. Review our MCP security guide before granting access to real data.

Frequently asked questions

What does the Firecrawl MCP server do?

> > > > > Firecrawl MCP Server 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! Features Search the web and get full page content Search an index built for coding agents: GitHub issues, merged pull requests, READMEs, and docs Scrape any URL into clean, structured data Interact with pages β€” click, navigate, and operate Deep research with autonomous agent Check current and historical Firecrawl credit usage Automatic retries and rate limiting Cloud and self-hosted support SSE support > Play around with our MCP Server on MCP.so's playground or on Klavis AI. When to Use This Server Use firecrawl scrape when you have a known URL and want its content as markdown or as JSON matching a schema you supply. Use firecrawl map when you need to discover URLs on a site without fetching their content. Use firecrawl crawl when you need content from many pages under a site; set limit , includePaths / excludePaths , or maxDiscoveryDepth to bound it. Use 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). Use 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. Use the firecrawl monitor tools when the same page needs to be checked on a recurring schedule with diffs and change alerts, rather than fetched once. Use firecrawl credit usage to check credits left or monthly consumption, optionally broken down by API key. Consider something else when you need to hold a browser session open across many of your own steps with your own retry and termination logic: each 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 27 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 ( no API key) exposes only 3 β€” firecrawl scrape , firecrawl search , firecrawl parse β€” and the dedicated search-only endpoint ( exposes a fixed set of 9 tools (search, developer, government, and research search, plus Alexandria catalogue lookup and execution). Installation Hosted MCP (keyless free tier) Connect to the remote hosted server with no setup: 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: For an API-key connection (for example, an unattended integration), keep the server URL as: Then configure the client's secure header or secret setting with: 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. Search-only endpoint A fixed-scope search surface is also hosted at: It exposes a fixed set of nine tools: firecrawl search , firecrawl developer search , firecrawl gov search , the four firecrawl research tools, and the two Alexandria tools firecrawl find tools and firecrawl scrape . Its firecrawl search fetches no page content. Running with npx Manual Installation Running on Cursor 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 Open Cursor Settings Go to Features > MCP Servers Click "+ Add new global MCP server" Enter the following code: To configure Firecrawl MCP in Cursor v0.45.6 Open Cursor Settings Go to Features > MCP Servers Click "+ Add New MCP Server" Enter the following: Name: "firecrawl-mcp" (or your preferred name) Type: "command" Command: env FIRECRAWL API KEY=your-api-key npx -y firecrawl-mcp > If 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 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. Running on Windsurf Add this to your ./codeium/windsurf/model config.json : Running with Streamable HTTP Local Mode To run the server using Streamable HTTP locally instead of the default stdio transport: Use the url: Running with Docker The ghcr.io/firecrawl/firecrawl-mcp-server image runs the same server as npx -y firecrawl-mcp . Every build from main is tagged latest , v version> and sha- sha> . v version> moves to the newest build of that version, so pin sha- sha> (or a digest) when you need a fixed image. stdio (the default), for MCP clients that launch the server as a command: Streamable HTTP, served at The image sets HOST=0.0.0.0 and PORT=3000 ; override PORT (and the -p mapping) to listen elsewhere. The server uses the container's FIRECRAWL API KEY for requests that don't send their own credential, so the example publishes the port on 127.0.0.1 only; don't expose it more widely unless clients must supply their own key. Set FIRECRAWL API URL to use a self-hosted Firecrawl API. The container runs as the unprivileged node user. Installing via Smithery (Legacy) To install Firecrawl for Claude Desktop automatically via Smithery: Running on VS Code 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) . 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: Configuration Environment Variables Required for Cloud API FIRECRAWL API KEY : Your Firecrawl API key Required when using cloud API (default) Optional when using self-hosted instance with FIRECRAWL API URL FIRECRAWL API URL (Optional): Custom API endpoint for self-hosted instances Example: If not provided, the cloud API will be used (requires API key) MCP OAuth (Bearer access tokens) Firecrawl issues 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 … . HTTP stream transports ( CLOUD SERVICE=true , HTTP STREAMABLE SERVER=true , or SSE LOCAL=true ): Clients should send Authorization: Bearer access token> on MCP requests. An OAuth bearer token takes precedence over x-firecrawl-api-key / x-api-key when both are present. stdio: Use 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. CLOUD SERVICE=true CLOUD SERVICE=true serves the tools over streamable HTTP on PORT (default 3000 , bound to 0.0.0.0 ) with stricter defaults: every request must carry a credential (an API key or an OAuth access token), scrape is read-only (see the scrape tool below), and firecrawl parse accepts uploads only. FASTMCP ENDPOINT selects the tool surface: /v2/mcp (default) for the full tool set, /v2/mcp-oauth for the account surface, or /v2/mcp-search for the search-only tools (this also requires FIRECRAWL MCP SEARCH OAUTH ONLY=true ). With the full surface, a search-only instance also starts on port 3001 ; set FIRECRAWL MCP SEARCH ENABLED=false to turn it off. Configuration Examples For cloud API usage: For self-hosted instance: Usage with Claude Desktop Add this to your claude desktop config.json : How to Choose a Tool Use this guide to select the right tool for your task: If you know the exact URL you want: use scrape (with JSON format for structured data) If you have multiple known URLs: call scrape for each URL. If you specifically need one bulk API operation, use the Firecrawl API batch endpoint outside MCP. If you need to discover URLs on a site: use map If you want to search the web for info: use search If you have a programming question (a library, an API contract, an error message, a known bug): use developer search If you have a legal or regulatory question (a statute, regulation, code, court opinion, or other US government publication): use the Firecrawl Government Index If you need scientific papers (biomedical, life-science, clinical, or arXiv literature): use research tools β€” they search paper abstracts and full text. search with categories: ["research"] is a different thing: a website filter over ordinary web results. If you need multi-source research that returns structured data, do not know the URLs, or the answer spans several sites (an entity plus its fields, a list, a dataset): use agent If you want to analyze a whole site or section: use crawl (with limits!) If you need interactive browser automation (click, type, navigate): use interact with a URL for a fresh page, or scrape + interact when you already scraped the page or need tighter scrape control If you need data from a catalogued provider (Alexandria): search with sources: ["alexandria"] , inspect the selected contract with find tools , and execute it with scrape alexandria Quick Reference Table Tool Best for Returns --------- ---------------------------------------------- ------------------------------------------------ scrape Single page content JSON (preferred) or markdown interact Interact with a URL or scraped page Execution result + scrapeId for URL mode map Discovering URLs on a site URL[] crawl Multi-page extraction (with limits) final crawl status/data after internal polling parse Files and hosted upload refs markdown, JSON, or document output search Web search for info results[] find tools Alexandria catalogue browsing and URL lookup providers, tool contracts and nextTool navigation developer Programming questions over developer sources results[] with passages gov US primary law and regulatory material results[] with snippets agent Multi-source research, unknown or many sites JSON (structured data) monitor Recurring page checks monitor/check metadata and diffs research Paper and GitHub repository research research results and repo matches Format Selection Guide When using scrape , choose the right format: JSON format (recommended for most cases): Use when you need specific data from a page. Define a schema based on what you need to extract. This keeps responses small and avoids context window overflow. Markdown format (use sparingly): Only when you genuinely need the full page content, such as reading an entire article for summarization or analyzing page structure. Available Tools Scrape Tool ( firecrawl scrape ) Scrape content from a single URL with advanced options. Best for: Single page content extraction, when you know exactly which page contains the information. Not recommended for: Extracting content from multiple pages (use repeated scrape calls for known URLs, or map + scrape to discover URLs first, or crawl for full page content) When you're unsure which page contains the information (use search) Common mistakes: Passing a list of URLs to one scrape call. Call scrape once per URL in MCP. If you specifically need one bulk API operation, use the Firecrawl API batch endpoint outside MCP. Using markdown format by default (use JSON format to extract only what you need). Choosing the right format: JSON format (preferred): For most use cases, use JSON format with a schema to extract only the specific data needed. This keeps responses focused and prevents context window overflow. Markdown format: Only when the task genuinely requires full page content (e.g., summarizing an entire article, analyzing page structure). Prompt Example: > "Get the product details from Usage Example (JSON format - preferred): Usage Example (markdown format - when full content needed): Usage Example (branding format - extract brand identity): json { "name": "firecrawl scrape", "arguments": { "url"

How do I install Firecrawl?

Run the install command shown above, then paste the config for your client (Claude Desktop, Claude Code, Cursor, VS Code or Windsurf) into its MCP settings and restart the client.

Is Firecrawl free to use?

The MCP server itself is free to install. The source is public on https://github.com/firecrawl/firecrawl-mcp-server. Any third-party service it calls may require its own API key and account.

Which clients support Firecrawl?

Any MCP-compatible client can use it, including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and custom agents.

Add this badge

Publish this server? Link back with a badge on your README or site β€” copy either snippet.

Listed on MCPNav

Markdown

[![Listed on MCPNav](https://mcpnav.net/badge/firecrawl.svg)](https://mcpnav.net/server/firecrawl/)

HTML

<a href="https://mcpnav.net/server/firecrawl/"><img src="https://mcpnav.net/badge/firecrawl.svg" alt="Listed on MCPNav" height="20"></a>