Firecrawl Web Research MCP
Give MCP clients tools to search, extract, and monitor web content.
- Source repo
- firecrawl/firecrawl-mcp-server
- Stars
- ★ 7.6k
- Last updated
- 1d ago
- License
- MIT
- Primary language
- JavaScript
- FA score
- 66/100 · Some gaps
At a glance
- How it runs
- Works with
- Platform-specificClaude.ai
- Cost
- Free tier plus a paid hosted plan
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- A developer equipping an MCP client with web research can search for sources and scrape result pages into Markdown or structured JSON.
- Not a fit if
- Teams that need fully offline web processing
- Users who need step-by-step client control of browser sessions
- Source review
- 66/100 · Some gaps
What does this agent do, and when should you use it?
Firecrawl MCP Server exposes the Firecrawl API as a server for MCP-compatible clients, with tools for search, scraping, parsing, site mapping and crawling, browser interaction, structured Agent research, and page monitoring. Run it with the firecrawl-mcp command, use the hosted MCP endpoints, deploy the Docker image, or embed the unstable firecrawl-mcp/server programmatic entry point. Tools can return Markdown, structured JSON, search results, URL lists, job status, and page-change information. The hosted keyless tier exposes only scrape, search, and parse; other tools require Firecrawl credentials, with OAuth or an API key providing access to the fuller tool set. The server can use Firecrawl's cloud API or point to a self-hosted Firecrawl instance through FIRECRAWL_API_URL.
An MCP client can call firecrawl_search to search the web and developer, government, or research indexes; scrape options can fetch page content along with search results. For a known URL, firecrawl_scrape extracts content as Markdown, JSON, or another supported format, while firecrawl_parse handles document files. firecrawl_map discovers site URLs, firecrawl_crawl retrieves multiple pages and polls the crawl job, and firecrawl_interact performs browser actions such as clicks, typing, and navigation. For cross-site research, firecrawl_agent accepts a prompt and optional schema, returns a job ID, and provides results through firecrawl_agent_status. The firecrawl_monitor_* tools create recurring checks and expose change diffs.
- A developer equipping an MCP client with web research can search for sources and scrape result pages into Markdown or structured JSON.
- A researcher handling PDFs, Word documents, or spreadsheets can use
firecrawl_parseto extract document content. - An engineering team inventorying a documentation site or blog can discover URLs with
firecrawl_mapor retrieve multiple pages with a boundedfirecrawl_crawl. - An analyst compiling entities, fields, or lists from several websites can request structured results from
firecrawl_agent. - An operations team tracking a pricing page or changelog can create a page monitor and review check history and diffs.
How do you install or deploy this agent?
For local npx use, the cloud API requires a Firecrawl API key; a self-hosted API can be configured with FIRECRAWL_API_URL. You can also connect to the hosted MCP service; its keyless tier is limited to scrape, search, and parse.
env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcpConnect to the hosted endpoint from an MCP client:
https://mcp.firecrawl.dev/v2/mcpFor an interactive account connection, use the OAuth endpoint:
https://mcp.firecrawl.dev/v2/mcp-oauthHow do you use this agent?
Register the local command in an MCP-compatible client and put the API key in the client's environment configuration:
{
"mcpServers": {
"firecrawl-mcp": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "YOUR_API_KEY"
}
}
}
}For a first call, use firecrawl_scrape on a known page; this example requests Markdown:
{
"name": "firecrawl_scrape",
"arguments": {
"url": "https://example.com/article",
"formats": ["markdown"],
"onlyMainContent": true
}
}For structured output, set formats to JSON and provide an extraction prompt and schema in jsonOptions.
What are this agent's strengths and limitations?
- One MCP server provides concrete tools for search, single-page scraping, site discovery, multi-page crawling, document parsing, and browser interaction.
- Supports structured extraction with a JSON schema as well as Markdown page output.
- Documents hosted, npx, local Streamable HTTP, Docker, and self-hosted API paths.
- Agent research uses asynchronous job status checks, and page monitors provide recurring checks and diffs.
- The full tool set requires Firecrawl credentials; the hosted keyless tier exposes only scrape, search, and parse.
- Web operations and research depend on the Firecrawl API and network access, so it is not an offline web-processing setup.
- Each
firecrawl_interactcall completes one prompt or code turn; the client cannot drive a session step by step within a single call. - The embedded
firecrawl-mcp/serverAPI is marked unstable, so upgrades may require adaptation.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Firecrawl Web Research MCP This agent | 66 · Some gaps | MCP serverFreemium | ★ 7.6k | 1d ago | JavaScript | Claude.ai |
| wigolo | 54 · Major gaps | CLIFree + model costs | ★ 5.5k | today | TypeScript | Codex · Claude Code · OpenAI API · Claude API |
| Uni-CLI | 72 · Some gaps | CLIFree | ★ 235 | 11d ago | TypeScript | ChatGPT · Codex · Claude Code |
| Scrapling Web Scraping Framework | 66 · Some gaps | Library / SDKFree | ★ 89k | today | Python | — |
How does FollowAgents rate this agent?
Why each dimension lost points
The README explains credential configuration, warns against putting keys in URLs or chats, describes credential precedence, and documents read-only scraping and upload restrictions in cloud mode. This supports practical least-privilege, data-flow, and sensitive-data guidance, but does not establish permission boundaries for every tool and deployment. Interact can click, type, and navigate, while Monitor can run on a schedule; the supplied evidence shows no per-action confirmation or rollback mechanism. Dependency versions include ranges, and no dependency security audit is shown. The README credits initial contributors, and package metadata names an author and issue tracker; publisher identity remains unverified, so attribution evidence is limited.
The README's core capabilities broadly align with the package description and startup metadata, while CI lists build and test steps. This supports ordinary self-consistency but does not establish runtime results. The service depends on the Firecrawl API, MCP clients, and external services; no availability commitment or offline fallback is evidenced. The supplied material does not adequately show user-facing error categories or recovery guidance, so failure messages score low.
The README maps tools to scenarios including known URLs, site discovery, web search, developer questions, government and scientific sources, multi-source research, and browser interaction. It also documents boundaries such as tool-slot counts, billing, content fetching, and interaction sessions, but does not fully establish every parameter or capability difference across deployments. Tool guidance helps define when to call each tool, though there is no systematic anti-misuse policy. Hosted, npx, Docker, self-hosted API, stdio, Streamable HTTP, OAuth, and several client configurations are covered.
The README has organized sections, tool-selection guidance, per-tool instructions, and configuration chapters. Installation guidance spans several clients, Docker, and local HTTP with concrete examples. Tool names are mostly stable and appear in a quick reference, though the materials use abbreviations and multiple endpoint names. Examples are plentiful, but no separate FAQ appears in the supplied evidence. The README states limits involving billing, tool counts, interaction sessions, and local modes. The LICENSE explicitly grants MIT terms. package.json includes a version and release scripts, but the supplied files contain no changelog or migration history. Author, repository, and issue-tracker metadata are present, while a responsible maintenance team or commitment is unclear.
Tools return Markdown, structured JSON, URL lists, search and research results, and change information. The README recommends focused extraction to control output size and warns that fetching full search-result pages incurs scrape charges. Combining search, scraping, parsing, site traversal, interaction, and monitoring in MCP offers clear capability value. Billing and rate limits are mentioned, but there is no complete cost model or evidence of result quality, limiting the cost-benefit score.
Most capability, environment-variable, endpoint, and tool-boundary claims can be located in the README. package.json and the CI workflow partially corroborate names, version, and build process, but the supplied evidence does not provide code-level support for every feature, a dependency audit, or execution results. The documentation distinguishes usage guidance, limitations, and cost notes, yet static materials cannot independently verify promotional claims or runtime behavior, so these criteria receive moderate scores.
- This assessment uses only the supplied static materials and has low confidence; it does not claim execution, independent testing, or verified product behavior.
- Interact and Monitor can cause browser actions or recurring external requests. Limit enabled tools to the deployment's needs and keep credentials in a controlled client or secret manager.
- The README warns that fetching full search-result pages adds scrape charges and recommends crawl bounds such as limits; constrain scope and call volume to the task.
- Publisher identity is unverified by the curated registry and is treated as unknown. The supplied materials show no changelog or dependency security audit.
FAQ
Which tools are available on the hosted keyless endpoint?
firecrawl_scrape, firecrawl_search, and firecrawl_parse for the keyless tier. Tools such as crawl, map, and agent require a key. OAuth or an API key provides the fuller tool set and higher limits.How does webpage scraping differ from document parsing?
firecrawl_scrape for webpage URLs. firecrawl_parse is for files; the hosted endpoint uses an upload-reference flow, while direct local file reads require FIRECRAWL_API_URL to point to a self-hosted Firecrawl API.Does Agent research return an answer immediately?
firecrawl_agent first returns a job ID. Use firecrawl_agent_status to retrieve results when the job finishes; complex tasks can take minutes.Can I retrieve content from several pages in one operation?
firecrawl_crawl for multiple pages on a site, with limits such as page count, path filters, or discovery depth. For several known URLs, the README recommends calling scrape once per URL; for a single bulk API operation, use the Firecrawl API batch endpoint outside MCP.