Data as of

Firecrawl MCP Server for Windsurf: Setup & Config

Firecrawl MCP connects Windsurf to web search, scraping, crawling, and live browser interaction.

What you can do with Firecrawl in Windsurf

Combine web discovery, structured extraction, live interaction, and recurring monitoring for agents.

  • Extract selected fields from a known web page into JSON.
  • Discover site URLs before choosing pages to scrape.
  • Find relevant scientific papers and developer discussions.

Before you start: Firecrawl in Windsurf

  • An MCP-compatible client
  • npx for the local package
  • Firecrawl credentials for full cloud API access

The command describes local stdio operation. The remote URL offers a limited keyless tier. Set FIRECRAWL_API_URL for a self-hosted backend, where authentication may be optional.

Firecrawl Windsurf configuration

  1. Choose Windsurf configuration scope

    For Firecrawl MCP Server, open macOS/Linux: ~/.codeium/windsurf/mcp_config.json Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json. Merge into mcpServers; remote endpoints use serverUrl.

  2. Add Firecrawl MCP Server to Windsurf

    Use the firecrawl-mcp-server entry below in mcpServers. Keep Firecrawl MCP Server's documented stdio connection fields and your other Windsurf entries.

  3. Check Firecrawl MCP Server in Windsurf

    Firecrawl MCP Server: Refresh MCP in Windsurf settings and inspect Cascade’s tools.

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

JSON
{
  "mcpServers": {
    "firecrawl-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "firecrawl-mcp"
      ],
      "env": {
        "FIRECRAWL_API_KEY": "<your Firecrawl API key>"
      }
    }
  }
}

Firecrawl tools available to Windsurf

Firecrawl's stored tool list documents 27 tools; compare it with Windsurf's connected tool list, because the stored list is not a live check.

firecrawl_scrape

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_scrape.

Extract one page into chosen formats, including schema-shaped JSON.

firecrawl_map

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_map.

Discover indexed URLs belonging to a website.

firecrawl_search

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_search.

firecrawl_search_feedback

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_search_feedback.

firecrawl_feedback

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_feedback.

firecrawl_crawl

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_crawl.

firecrawl_check_crawl_status

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_check_crawl_status.

firecrawl_extract

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_extract.

firecrawl_agent

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_agent.

Launch asynchronous multi-source research from a prompt and optional schema.

firecrawl_agent_status

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_agent_status.

Check whether an agent research task is still running or has final results.

firecrawl_interact

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_interact.

Use a live browser session for navigation, actions, or executable browser work.

firecrawl_interact_stop

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_interact_stop.

Release resources by closing an interaction session.

firecrawl_parse

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_parse.

Convert supported documents to readable content or schema-shaped output.

firecrawl_monitor_create

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_monitor_create.

Schedule recurring collection checks with change comparison.

firecrawl_monitor_list

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_monitor_list.

firecrawl_monitor_get

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_monitor_get.

firecrawl_monitor_update

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_monitor_update.

firecrawl_monitor_delete

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_monitor_delete.

firecrawl_monitor_run

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_monitor_run.

firecrawl_monitor_checks

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_monitor_checks.

firecrawl_monitor_check

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_monitor_check.

firecrawl_research_search_papers

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_research_search_papers.

Find indexed scientific paper metadata and abstracts using a natural-language query.

firecrawl_research_inspect_paper

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_research_inspect_paper.

Retrieve canonical metadata for an identified scientific paper.

firecrawl_research_related_papers

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_research_related_papers.

Discover related papers through citation relationships around seed papers.

firecrawl_research_read_paper

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_research_read_paper.

Read indexed paper passages relevant to a specific question.

firecrawl_research_search_github

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_research_search_github.

Search indexed public repository issues, pull requests, and README content.

firecrawl_developer_search

After refreshing Firecrawl in Windsurf settings, check Cascade's tool list for firecrawl_developer_search.

Find coding answers across curated documentation and GitHub discussions.

Firecrawl: full stored tool descriptions

Troubleshooting Firecrawl in Windsurf

  • Check npx firecrawl-mcp (Node.js/npm) on the machine running Windsurf's MCP integration for Firecrawl MCP Server; refresh MCP and inspect Cascade's tools.
  • Check FIRECRAWL_API_KEY for Firecrawl MCP Server; do not bypass a Windsurf permission error with a broad administrator token.
  • Firecrawl MCP Server uses stdio here: Windsurf must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: The keyless tier is rate-limited and excludes several tools.
  • Known limitation: Large crawls and full-page markdown can consume substantial model context.
  • Known limitation: The extract compatibility tool is deprecated in favor of schema-based scraping.
  • General Windsurf troubleshooting lives in the /clients/windsurf guide.

Firecrawl MCP Server — details. Windsurf guide

Frequently asked questions

Windsurf reads Firecrawl MCP Server under mcpServers in ~/.codeium/windsurf/mcp_config.json on macOS/Linux; Windows uses %USERPROFILE%\.codeium\windsurf\mcp_config.json.

Windsurf's firecrawl-mcp-server example uses stdio.

Firecrawl MCP Server's Windsurf configuration invokes npx firecrawl-mcp (Node.js/npm).

Windsurf's Firecrawl MCP Server example references FIRECRAWL_API_KEY. Check these names if startup or authentication fails; the example alone does not distinguish required from optional values.

Firecrawl MCP Server's stored list contains 27 tools, including firecrawl_scrape, firecrawl_map, firecrawl_search. Compare those names with Windsurf's connected tool list; the stored list is not a live check.

Yes. FIRECRAWL_API_URL selects a custom backend; provide a key if that instance requires authentication.

Yes. The README documents Streamable HTTP local mode in addition to the default stdio and SSE support.