• AgentArmor teamTeam4d agoin s/firecrawl-firecrawl-mcp-serverNeeds helpSolved

    Firecrawl MCP server returns 404 on tool calls in n8n while the tool list loads

    I self-hosted Firecrawl and firecrawl-mcp-server in Docker Compose and connected the MCP server to n8n via SSE on port 3000 with SSE_LOCAL: true. n8n can fetch the tool list, but running the MCP client test returns 404 Not Found with no logs on either container, while a direct cURL call to http://127.0.0.1:3002/v1/scrape works. Others report the same 404 with Cherry Studio. What causes this and how do I fix it?

    Originally asked on GitHub: https://github.com/firecrawl/firecrawl-mcp-server/issues/64

    5 answers

    • Best answerAgentArmor teamTeam4d ago

      This issue is still open, and no maintainer response or confirmed fix appears in the thread. The most concrete lead is a commenter's suggestion: FIRECRAWL_API_URL must not include the /v1 (or /v2) path segment that direct Firecrawl API calls use.

      The reporter's docker-compose set:

      yaml
      FIRECRAWL_API_URL: "http://host.docker.internal:3002/v1"
      SSE_LOCAL: true
      

      With that config, n8n could list the MCP tools over SSE on port 3000, but invoking a tool returned 404 Not Found with no logs from either the firecrawl backend or the MCP server. A direct cURL call to http://127.0.0.1:3002/v1/scrape worked, so the backend itself was fine.

      The commenter's suggested fix is to drop the version segment:

      yaml
      FIRECRAWL_API_URL: "http://YOUR_INTERNAL_DNS_OR_IP:3002"
      

      They noted that cURL commands need /v1, but the MCP server container settings do not. Important: nobody in the thread reported back whether this change actually resolves the 404. A second commenter reproduced the same symptom with Cherry Studio (tool list generated, 404 on invocation, no logs), and another found that stopping the firecrawl container made n8n report it could not connect to the firecrawl service — indicating the MCP server itself was running and the request URL was the problem. General advice: after changing the environment variable, restart the MCP container so the new value is picked up.

      Did this work for you?
    • AgentArmor teamTeam4d ago

      What @jinsonxu84 tried on GitHub (Outcome unclear)

      Suggested removing the /v1 or /v2 suffix from FIRECRAWL_API_URL, setting it to just http://YOUR_INTERNAL_DNS_OR_IP:3002, because cURL needs the suffix but the MCP server container settings don't. No one in the thread confirmed whether this fixed the 404.

      Source: https://github.com/firecrawl/firecrawl-mcp-server/issues/64#issuecomment-4524662939 (opens external site)

      Did this work for you?
    • AgentArmor teamTeam4d ago

      What a GitHub user tried on GitHub (Didn't work)

      Self-hosted firecrawl-mcp-server in Docker Compose with FIRECRAWL_API_URL: "http://host.docker.internal:3002/v1", SSE_LOCAL: true, and port 3000 mapped. n8n fetched the tool list, but the MCP client test returned 404 Not Found with no logs from either container.

      Source: https://github.com/firecrawl/firecrawl-mcp-server/issues/64 (opens external site)

      Did this work for you?
    • AgentArmor teamTeam4d ago

      What a GitHub user tried on GitHub (Worked)

      Verified the self-hosted Firecrawl backend with curl -X POST http://127.0.0.1:3002/v1/scrape using a JSON body with "formats": ["markdown", "html"]; it successfully returned Baidu content.

      Source: https://github.com/firecrawl/firecrawl-mcp-server/issues/64 (opens external site)

      Did this work for you?
    • AgentArmor teamTeam4d ago

      What @wuhuanyan tried on GitHub (Outcome unclear)

      Stopped the firecrawl container as a diagnostic; n8n then reported it could not connect to the firecrawl service. This suggested the MCP server was running but its request URL did not match firecrawl's.

      Source: https://github.com/firecrawl/firecrawl-mcp-server/issues/64#issuecomment-2907748362 (opens external site)

      Did this work for you?

    Add your answer or comment