Vibeleaderboard
Index / tool
Visit firecrawl.dev
Category
Developer Tools
Rank
Pricing
Freemium
Type
TOOL
Use case
Data Processing · Data, Retrieval & Knowledge
Interfaces
MCP
Builder
firecrawl
Latest release
v3.2.1
Date

About

Firecrawl's MCP server for web scraping from agents: turn any URL into clean markdown, crawl whole sites, run web search and structured extraction — the standard answer when an agent needs page content.

What it does

It gives MCP-compatible assistants a live-web workbench spanning page interaction, site discovery, research, developer-source search, and recurring change monitoring. It can run as a hosted service or a local Node process, while Firecrawl’s cloud API or a self-hosted endpoint performs the underlying work.

Why it's ranked here

The appeal is breadth paired with deliberate operating controls. Separate full and search-only surfaces limit available actions, authentication supports API keys and OAuth, and anonymous hosted access exposes only a small rate-limited subset. Contract and smoke tests cover authentication, routing, tool exposure, and request forwarding.

What's good

Tool selection is clearly documented for known pages, site discovery, broad research, coding questions, and browser interaction. The search-only surface is genuinely constrained: it registers six read-only tools, rejects unknown input fields, excludes page fetching, and enforces its own OAuth audience. Automatic retries, rate limiting, cloud deployment, and self-hosted API support widen its practical range.

Tradeoffs

Most capabilities depend on a Firecrawl service, credentials, and account limits. Anonymous hosted use covers only scraping, search, and parsing, while crawling, mapping, and autonomous research require authentication. Local execution needs Node 22 or newer. Some monitor and research operations bypass public SDK methods because the pinned client lacks compatible support.

How to use it well

Use it when an MCP agent regularly needs fresh web evidence, developer-source retrieval, page interaction, site-wide analysis, or scheduled change checks. Prefer the read-only search surface for constrained research clients and the full surface for fetching or mutation. For many known URLs, issue separate scrapes; true bulk processing belongs in Firecrawl’s API outside this MCP server.

Technical notes+

package.json defines a public ESM npm package with the firecrawl-mcp binary, Node >=22, FastMCP, Zod, and @mendable/firecrawl-js. src/index.ts builds profile-specific FastMCP instances and resolves API-key, OAuth, environment, and keyless credentials. src/session-credential.ts stores managed OAuth keys under a non-enumerable symbol and signs 60-second delegated credentials with HMAC-SHA256. src/monitor.ts calls /v2/monitor directly with fetch, while src/research.ts and src/developer.ts access newer endpoints through the SDK HTTP layer. docs/search-profile.md specifies the six-tool allowlist and audience-bound OAuth contract. tests/mcp-smoke.test.mjs and tests/nginx-config.test.mjs exercise transport, authentication, forwarding, route ordering, and proxy safeguards. tsup.config.ts produces unsplit Node 22 ESM without declarations or source maps.

Observed

License
MIT
Primary language
TypeScript, compiled to ESM JavaScript
Packaging
Public npm package with an npx-compatible firecrawl-mcp executable
Runtime
Node.js 22 or newer
Interfaces
MCP over stdio, Streamable HTTP, SSE, and hosted HTTPS endpoints
Deployment
Supports Firecrawl cloud API and configurable self-hosted Firecrawl endpoints
Tests
Repository includes Node test suites for MCP behavior, authentication, search profiles, and nginx routing

Read from README.md, package.json, src/index.ts, src/monitor.ts, src/research.ts, src/developer.ts, src/www-authenticate.ts, src/keyless-client-ip.ts, src/session-credential.ts, docs/search-profile.md, tsup.config.ts, scripts/agent-metadata-policy.mjs, tests/mcp-smoke.test.mjs, tests/nginx-config.test.mjs.

Tech Stack

Node.jsDockerTypeScript

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.