Claude Code’s WebFetch Can’t Run JavaScript: Firecrawl MCP Gives It Real Web Scraping in 1 Command (No API Key)

Last Verified: September 2026 — commands checked against the official Firecrawl docs and firecrawl-mcp v3.25.3; keyless endpoint tested live

You ask Claude Code to pull the plans from a pricing page, and it hands back a vague summary instead of the table. Its built-in WebFetch doesn’t run JavaScript, and the agent gets a processed summary rather than the page itself. JS-rendered docs, pricing tables, and “read these 30 pages and compare them” jobs are where it falls apart.

Firecrawl MCP fixes that with one command. It gives the agent a proper web toolkit (~7.5k GitHub stars, maintained by the Firecrawl team). It can search the web, scrape any URL into clean markdown or JSON, map every URL on a site, crawl whole doc sections, and parse PDFs. The part most guides miss is that there’s now a hosted keyless endpoint. Search, scrape, and parse work with no API key, no account, and no Node.js install.

Only need library docs? Our Context7 MCP setup is the better tool for that. Firecrawl is for everything else on the web.

Quick Start

One command. No API key, no Node.js:

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

Restart Claude Code, then ask: “Use Firecrawl to scrape https://docs.firecrawl.dev and summarize it”. Total time: about 1 minute.

⚡ Copy This Prompt: Let Claude Code Install and Verify It For You

Skip the manual steps below and hand the whole job to the agent instead:

You have shell access and the `claude mcp` CLI on this machine. Set up the Firecrawl MCP server (hosted, keyless) and report back. Do not tell me it's done unless step 4 actually confirms it:

1. Run `claude mcp list`. If a server named firecrawl already exists, stop and tell me how it's configured instead of adding a second one.
2. Add the hosted keyless server (no API key, no Node.js needed):
   `claude mcp add --transport http --scope user firecrawl https://mcp.firecrawl.dev/v2/mcp`
3. Run `claude mcp list` again and confirm firecrawl shows as Connected.
4. Tell me to restart Claude Code, then after restart use firecrawl_scrape on https://docs.firecrawl.dev and show me the first 10 lines of the markdown it returns.

Never ask me to paste an API key into this chat. If I want the full tool set later, I'll switch to the sign-in URL myself.
If any step fails, give me the exact error and the command that produced it. Do not skip ahead.

The prompt deliberately keeps your API key out of the chat. Firecrawl’s own docs say never to put a key in an agent conversation. The sign-in URL in Step 3 below gets you the full tool set without ever handling a key.

What You’ll Need

RequirementWhy You Need ItTime
Claude Code installedProvides the claude mcp command used to register the server0 min
Nothing else (keyless)The hosted endpoint runs on Firecrawl’s servers. Search, scrape, and parse are free, rate-limited per IP per day0 min
Free Firecrawl account (optional)Unlocks crawl, map, agent, and the rest of the tools. The free plan includes 1,000 credits, no card~2 min
Node.js 22+ (local mode only)Only if you run the server on your own machine or point it at a self-hosted Firecrawl0–3 min

Step-by-Step Setup

Prefer to do it by hand instead of delegating to the agent? Here’s the manual version.

Step 1 — Add the keyless server

~1 min

--scope user makes it available in every project:

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

This is Firecrawl’s documented Claude Code command with --scope user added. Keyless mode exposes three tools: firecrawl_search, firecrawl_scrape, and firecrawl_parse.

Step 2 — Restart and run a first test

~1 min

Restart Claude Code so it loads the new tools, then try:

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

That’s Firecrawl’s own suggested first prompt. You should see firecrawl_search in the tool calls.

Step 3 — Unlock the full tool set with sign-in (optional)

~2 min

Crawl, map, agent, and the other tools need an account. The easiest route is browser sign-in, with no API key to copy. Remove the keyless entry first, since Firecrawl’s docs say not to add a second Firecrawl server:

claude mcp remove firecrawl
claude mcp add --transport http --scope user firecrawl https://mcp.firecrawl.dev/v2/mcp-oauth

Then run /mcp inside Claude Code and complete the sign-in in your browser. You can review or revoke the connection later in Firecrawl’s MCP settings.

Step 4 — Or run it locally with an API key (optional)

~3 min

Use this if you’d rather run the open-source server yourself, or point it at a self-hosted Firecrawl via FIRECRAWL_API_URL. It needs Node.js 22+ and a key from your Firecrawl dashboard. Type the key into your terminal, not into a chat:

claude mcp add firecrawl --scope user -e FIRECRAWL_API_KEY=fc-YOUR_API_KEY -- npx -y firecrawl-mcp

Windows:

claude mcp add firecrawl --scope user -e FIRECRAWL_API_KEY=fc-YOUR_API_KEY -- cmd /c npx -y firecrawl-mcp

Running n8n? Start the server with HTTP_STREAMABLE_SERVER=true and point n8n’s MCP client at http://localhost:3000/mcp.

What Each Piece Does

ToolWhat the Agent Uses It ForKeyless?
firecrawl_searchWeb search with ranked results, optionally fetching page content in the same callYes
firecrawl_scrapeOne known URL → clean markdown, or JSON matching a schema you give itYes
firecrawl_parsePDFs, Word docs, spreadsheets, HTML files → markdown or JSONYes
firecrawl_mapList every URL on a site without fetching content, which is handy before a crawlNo
firecrawl_crawlPull content from many pages under a site, bounded by limit and include/exclude pathsNo
firecrawl_interactClick, type, or navigate on a page before reading itNo
firecrawl_agentAutonomous multi-source research that returns structured dataNo
firecrawl_monitor_*Check the same page on a schedule and get diffs when it changesNo
firecrawl_credit_usageCheck remaining credits and monthly consumptionNo

With sign-in or an API key, the full profile registers 26 tools, including developer search over GitHub issues and PRs, research-paper search, and crawl/agent status checks. The table covers the ones you’ll actually reach for.

Verify It’s Actually Working

claude mcp list
✔ firecrawl    https://mcp.firecrawl.dev/v2/mcp (HTTP) – Connected
! firecrawl    Needs authentication  → sign-in URL: run /mcp and finish the browser sign-in
✘ firecrawl    429 Too Many Requests  → keyless daily limit hit; sign in or add a key

“Connected” only confirms the server answered. The real test is a page WebFetch struggles with, such as a JavaScript-heavy page:

Use firecrawl_scrape on [A JS-HEAVY PAGE, e.g. a pricing page] and give me the exact plan names and prices as a markdown table. Quote them verbatim from the scraped content, don't summarize.

If the tool calls show firecrawl_scrape and the table matches what you see in your browser, it’s working end to end.

Common Mistakes to Avoid

  • Opening the MCP URL in a browser. https://mcp.firecrawl.dev/v2/mcp is a server endpoint for your MCP client, not a web page. Sign-in happens through /mcp in Claude Code.
  • Pasting your API key into the chat. Firecrawl’s docs are explicit: never put a key in an agent conversation or in the server URL. Use browser sign-in, or pass it with -e / -H in your own terminal.
  • Adding a second Firecrawl entry to “upgrade”. Remove the keyless server before adding the sign-in one, or Claude Code ends up with duplicate tools.
  • Expecting crawl or map on keyless. Keyless is limited to search, scrape, and parse. If firecrawl_crawl is missing, that’s why, not a broken install.
  • Crawling without a limit. Every page costs credits. Run firecrawl_map first, then crawl with limit and includePaths set so a docs crawl doesn’t eat your whole free allowance.

Q&A

Is it really free without an API key?

Yes. The hosted keyless endpoint offers search, scrape, and parse for free, capped per IP address per day by both a request limit and a credit limit. Past that you get a 429. A free account adds 1,000 credits and the full tool set.

How is this different from Claude Code’s built-in WebFetch?

WebFetch fetches a single URL and hands the agent a processed summary. It doesn’t run JavaScript. Firecrawl renders the page and returns the actual content as markdown or structured JSON. It can also search, map, and crawl many pages, which WebFetch can’t.

Do I need Node.js?

Not for the hosted endpoint. Node.js 22+ is only needed if you run firecrawl-mcp locally, for example against a self-hosted Firecrawl.

Can I use it in n8n?

Yes. Run the server locally with HTTP_STREAMABLE_SERVER=true and connect n8n to http://localhost:3000/mcp. curl http://localhost:3000/health should return ok.

How do I remove it?

claude mcp remove firecrawl. If you used sign-in, also revoke the connection in Firecrawl’s MCP settings.

Official Resources

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *