Firecrawl MCP server in n8n scraping inside your workflows.
n8n's MCP Client Tool node speaks SSE and Streamable HTTP, not stdio — so connecting Firecrawl means running it in SSE mode first. Here's the command, the node settings, and the Docker networking trap.
In n8n, MCP servers aren't configured in a file — they're attached to an AI Agent node through the MCP Client Tool node, which connects over the network via SSE or Streamable HTTP. That's the key difference from editor clients: n8n won't spawn `npx firecrawl-mcp` for you.
Firecrawl MCP Server (github.com/firecrawl/firecrawl-mcp-server, 6.5k stars) handles this case natively: it ships an SSE mode, so one command turns it into an HTTP endpoint your workflows can reach. Once connected, every AI Agent in your workflows can search, scrape, crawl, and extract from the live web.
Start Firecrawl in SSE mode
On the machine (or container) that will host the server, run firecrawl-mcp with the SSE_LOCAL flag. It binds an SSE endpoint on port 3000 instead of speaking stdio:
SSE_LOCAL=true FIRECRAWL_API_KEY=fc-YOUR-API-KEY npx -y firecrawl-mcp
# Server now listening at:
# http://localhost:3000/sseAdd the MCP Client Tool node
In your workflow, add an AI Agent node if you don't have one, then attach an MCP Client Tool node to its tool input. Set the endpoint URL to your SSE address (http://localhost:3000/sse if n8n runs on the same host), pick the SSE transport, and leave authentication off — the API key already went in via the server's environment, which keeps it out of your workflow definition.
Once connected, the node discovers Firecrawl's tools automatically and you can expose all of them to the agent or whitelist a subset — limiting an autonomous workflow to scrape and search, and keeping crawl manual, is a sensible default since crawls consume Firecrawl credits fast.
Test the workflow
Run the workflow with a prompt like "scrape https://example.com/blog and return the latest post title." In the execution log you should see the agent call a Firecrawl tool and get markdown back. If you want to verify the tool names the server should expose, its live Loomal listing at https://loomal.ai/marketplace/firecrawl-mcp-server shows the probed list.
Troubleshooting in n8n
Connection refused is almost always Docker networking: if n8n runs in a container, localhost refers to the container, not your host. Use http://host.docker.internal:3000/sse (Docker Desktop) or the host's LAN IP, and make sure port 3000 is reachable from the container's network. For n8n Cloud, localhost won't work at all — the SSE endpoint must be publicly reachable, so put it behind a tunnel or deploy it properly.
No tools listed after connecting: confirm the URL ends in /sse and the server process is still running — npx in a terminal dies with the terminal, so daemonize it (pm2, systemd, or a small Dockerfile) for anything beyond a test. Tools erroring at runtime points at the fc- key in the server's environment. And if the MCP Client Tool node is missing entirely, update n8n — the node ships with recent versions only.
FAQ
How do I connect Firecrawl to n8n?
Run the server in SSE mode with `SSE_LOCAL=true FIRECRAWL_API_KEY=fc-YOUR-KEY npx -y firecrawl-mcp`, then add an MCP Client Tool node to your AI Agent and point it at http://localhost:3000/sse (or your host's reachable address). The node discovers the tools automatically.
Why can't n8n just launch the server like Cursor does?
n8n's MCP Client Tool node connects over SSE or Streamable HTTP rather than spawning local stdio processes — n8n often runs in a container or in the cloud where spawning npx isn't an option. Firecrawl's SSE mode exists precisely to bridge this: it turns the stdio server into a network endpoint.
n8n says connection refused — what do I check?
Almost always Docker networking. If n8n runs in a container, localhost points inside the container; use host.docker.internal or the host's IP instead, and verify port 3000 is reachable. On n8n Cloud, the SSE endpoint must be publicly accessible — a process on your laptop won't be.
How do I keep the SSE server running permanently?
An npx process in a terminal stops when the terminal closes. For real workflows, run it under a process manager like pm2 or systemd, or build a small container for it and run it alongside n8n on the same Docker network so the URL is stable.
More MCP servers for n8n.
Browse scraping, search, and automation servers with live tool lists.