mrkeyoor.com_
Mon 02 Nov 19:04 UTC
AI Toolsevaluationupdated 28 Sept 2026

firecrawl-mcp-server review

Firecrawl MCP Server gives MCP-compatible agents tools for web search, page scraping, site crawling, document parsing, research, and browser interaction. It handles the MCP adapter layer while Firecrawl's cloud API, or a separate self-hosted Firecrawl backend, does the web work.

+49stars / 7d
Verdict

Our Firecrawl MCP Server run installed 339 packages in 21 seconds and passed all 123 tests, so the adapter itself is easy to trial. Use it when Firecrawl is already an acceptable service boundary and you can restrict an agent's tools, paths, and credit use. Test structured extraction in your exact MCP client, and do not expose local file parsing broadly while issue 306 remains open.

We ran it

Lab card: what happened when we ran firecrawl-mcp-serverScreenshot of firecrawl-mcp-server (firecrawl.dev)
Install✓ · 21s339 packages · 125 MB
Build✓ · 8s
Tests✓ · 62s123 passed · 0 failed of 123 (node:test)
Repo63 files~13,595 lines of source · 3.6 MB · 4 CI workflows · Dockerfile · tests dir

Answers from our run

Does firecrawl-mcp-server build from source?

Dependencies installed in 21 seconds (339 packages), and the build succeeded in 8 seconds. We cloned commit 9da9776 into a clean Debian container with 3 CPUs and no project-specific setup.

Do firecrawl-mcp-server's tests pass?

Yes. The project's own test command finished in 62 seconds and reported 123 passed, 0 failed (node:test).

Who should not use firecrawl-mcp-server?

Teams expecting this package to be a private crawler by itself: local mode still calls Firecrawl cloud or a separately operated Firecrawl API.

What are the alternatives to firecrawl-mcp-server?

Playwright MCP, Apify MCP Server, Firecrawl API. Our Firecrawl MCP Server run installed 339 packages in 21 seconds and passed all 123 tests, so the adapter itself is easy to trial.

Setup4/521-second install; full use needs credentials or a backend
Docs4/5Detailed tool guidance, with schema and release drift
Community5/57,528 stars and merge activity on September 28, 2026
Maturity4/5123 tests passed, but open permission issues need review

Who it’s for

Agent developers who need current web content through MCP instead of writing a Firecrawl adapter.
Teams already using Firecrawl that want the same service inside Cursor, Claude Desktop, VS Code, or another MCP client.
Operators who need a small keyless surface for trials and authenticated tools for larger crawls or research.
Developers willing to set tool permissions, credit limits, and result-size limits before unattended use.

Who it’s NOT for

Teams expecting this package to be a private crawler by itself: local mode still calls Firecrawl cloud or a separately operated Firecrawl API.
Operators who cannot let an agent choose local files: open issue 306 reports that self-hosted firecrawl_parse accepts unconstrained paths and can read outside its working directory.
Strict MCP gateways that require published schemas to match accepted arguments: open issue 373 reports that normal JSON extraction schemas can be rejected before the call reaches the server.
Buyers who need every tool without credentials: the hosted keyless tier exposes only scrape, search, and parse, with rate limits.
Teams that treat a read-only annotation as a security boundary: open issue 311 says search can accept page actions while advertising readOnlyHint: true.

Setup reality

Our pnpm install succeeded in 21 seconds, adding 339 packages and using 125 MB. The build passed in 8 seconds. Node's test runner then passed all 123 tests in 62 seconds, with 0 failures.

Useful cloud operation normally needs a Firecrawl API key or OAuth connection. The keyless hosted endpoint exposes rate-limited scrape, search, and parse; crawl, map, agent, and the wider tool set need authentication. A private deployment also needs a separate Firecrawl API URL and backend.

The 3.6 MB checkout contained 63 files and about 13,595 source lines. It had 4 CI workflows, a Dockerfile, a tests directory, and monorepo workspaces. Stdio is the simplest local transport, while Streamable HTTP adds a listening port and bearer-token handling.

Firecrawl puts 26 web tools behind one MCP connection

Firecrawl MCP Server turns the Firecrawl service into tools an agent can select by name. The full default profile lists 26 tools covering known-page scraping, search, URL discovery, multi-page crawling, document parsing, page interaction, recurring monitors, developer search, paper research, and credit checks. That breadth is the appeal: one server can answer a web question, extract a typed object, or follow a page interaction without a custom wrapper for each job.

The package is still an adapter. Its default path sends work to Firecrawl's cloud API using an API key or OAuth access token. Pointing FIRECRAWL_API_URL at another address supports a self-hosted backend, but installing this 3.6 MB checkout does not create that backend. Privacy, billing, site permissions, retention, and outage handling therefore belong in the adoption decision, even when the MCP process itself runs on your laptop.

The keyless tier stops at 3 tools

The hosted keyless endpoint offers rate-limited scrape, search, and parse. Crawl, map, agent, interaction, monitoring, and account-level credit data need an authenticated connection. A separate search endpoint exposes a fixed set of 8 search and research tools, with its own OAuth audience. That gives administrators a narrower option when source discovery is useful but general page operation is too much authority.

Local setup can be one npx command with FIRECRAWL_API_KEY. Stdio fits desktop clients, while Streamable HTTP listens on port 3000 and needs deliberate bearer-token handling. The README is right to warn against placing an API key in the endpoint URL or an agent chat. Credentials belong in the client's secret configuration, where prompts and scraped pages cannot repeat them.

What happened when we ran it

Our sandbox installed 339 pnpm packages in 21 seconds and used 125 MB on disk. The build completed in 8 seconds. Node's test runner then reported 123 passed and 0 failed after 62 seconds. For a server that exposes scraping, research, interaction, and several transports, that is a clean result and a quick enough feedback loop for an engineering team to try locally.

We tested commit 9da9776 in an unprivileged Debian container with 3 CPUs, 8 GB of RAM, and no secrets. The repository contained 63 files, roughly 13,595 source lines, 4 CI workflow files, a Dockerfile, a tests directory, and workspace configuration. Those checks did not contact Firecrawl, spend credits, scrape a live site, or measure extraction quality. They prove the checked-out adapter built and passed its own suite.

File parsing can cross the working-directory boundary

Open issue 306 reports a sharp self-hosting risk in firecrawl_parse. According to the reproduction, the tool resolves any supplied path and reads it without confining access to an approved directory. The reporter used /etc/passwd on version 3.20.2 and says the server uploaded the file to the configured parse API. The issue remained open when checked, so operators should treat local file selection as privileged rather than a harmless document helper.

Container isolation and a narrow mount reduce the consequence, but the 125 MB install result says nothing about that boundary. Do not give the process a home directory full of SSH keys, environment files, or unrelated project secrets. If parsing is unnecessary, remove or deny the tool. If it is necessary, put approved documents in a dedicated directory and verify the current code's path behavior before connecting an agent.

Strict clients can reject structured extraction before execution

Open issue 373 describes a different failure. The published schema for jsonOptions.schema was reported as an object that allows no normal keys, even though the server accepts a free-form JSON Schema internally. A gateway that validates calls against tools/list can reject type, properties, and required before Firecrawl sees the request. That breaks the structured-output path the README recommends for keeping responses smaller.

The right acceptance test is small: list the tools through the production client, then run one schema-based scrape against a controlled page. Our 123 passing tests are useful evidence about commit 9da9776, but they do not reproduce every gateway's schema validator. Issue 311 adds another reason to inspect metadata: it reports that search advertises readOnlyHint: true while its accepted actions include clicking, writing, and JavaScript execution.

A large tool menu needs limits on spend and context

The README tells agents to use scrape for one known URL, map for discovery, crawl for a bounded site section, and agent for research across several sources. That routing advice is unusually concrete. It also reveals the cost model. Full-page Markdown can flood the model context, while broad crawls and autonomous research can consume Firecrawl credits. JSON extraction, path filters, crawl limits, and explicit tool allowlists should be deployment settings, not suggestions left to the prompt.

Open issue 309 argues that the 26 tool definitions themselves are expensive in model context and that many parameters lack descriptions. We did not reproduce that reporter's token estimate, so it should be read as an interoperability warning rather than our benchmark. Clients with tight tool limits can use the 3-tool keyless surface or the 8-tool search surface. Everyone else should measure the actual tools/list payload with the model they pay for.

September commits matter more than the 2025 release page

The repository was pushed on September 28, 2026, and same-day pull requests were being merged. GitHub showed 7,528 stars and 150 combined issues and pull requests. The latest formal GitHub release was still v3.2.1 from September 26, 2025, while the measured commit's package declared version 3.25.5. Open issue 255 calls out that tagging gap. The release page is stale, but the codebase is plainly active.

Firecrawl MCP Server earns a trial because 339 packages installed cleanly and all 123 tests passed. Adoption depends on the service around it: authenticated web work, credit exposure, local file authority, and client-specific schema behavior. Keep the enabled tool set as small as the job allows. The 3-tool hosted tier is enough to learn whether Firecrawl's results suit your agent before granting crawl, interaction, or local file access.

Alternatives

ProjectWhat it isPick it when
Playwright MCP gh↗A browser-control MCP server built on Playwright's accessibility model.pick this instead when you need direct browser state and interaction more than managed search, extraction, and crawling.
Apify MCP Server gh↗An MCP route into Apify Actors for web extraction and automation.pick this instead when an existing Apify Actor or the wider Actor marketplace already matches the sites you need.
Firecrawl API gh↗The underlying open-source web data API without this MCP adapter.pick this instead when your application can call an API directly and needs batch operations or tighter orchestration outside an agent tool menu.

Sources

  1. Firecrawl MCP Server README
  2. Firecrawl MCP Server repository
  3. Measured commit 9da9776
  4. Local file parsing issue
  5. Structured extraction schema issue
  6. Release tagging issue

More ai tools reviews

kornia · skills · anarlog · pr-agent · agent-sprite-forge · KiroCrew · the whole board →

Related reading