Firecrawl MCP Server is a Model Context Protocol (MCP) server that exposes the Firecrawl web data API to MCP clients such as Claude Desktop, Cursor, Windsurf, and VS Code. An agent connected to it can search the web, scrape a known URL into markdown or schema-shaped JSON, map the URLs of a site, crawl many pages under a site, parse uploaded files, and interact with a page through click, type, and navigate actions before reading it. It runs against the hosted Firecrawl API or a self-hosted Firecrawl instance, over stdio, SSE, or streamable HTTP.
The full profile registers 27 tools. Beyond scrape, map, crawl, search, and interact it adds an asynchronous research agent that gathers structured JSON across several sites and is polled through a status tool, recurring page monitors that diff each scheduled scrape against the last snapshot and notify by webhook or email, a developer search index over GitHub issues, merged pull requests, and project documentation, a US government index for statutes, regulations, and court opinions, research tools over paper abstracts and full text (PubMed, bioRxiv, medRxiv, arXiv), Alexandria tools for data providers cataloged behind the Firecrawl API, and a read-only credit usage tool.
| Tool | Use for | Returns |
|---|---|---|
| scrape | Single page content | JSON or markdown |
| interact | Interact with a URL or scraped page | Execution result plus a scrape id |
| map | Discovering URLs on a site | URL list |
| crawl | Multi-page extraction with limits | Final crawl status and data |
| parse | Files and hosted upload references | Markdown, JSON, or document output |
| search | Web search | Ranked results |
| find_tools | Alexandria catalog browsing and URL lookup | Providers and tool contracts |
| developer | Programming questions over developer sources | Results with passages |
| gov | US primary law and regulatory material | Results with snippets |
| agent | Multi-source research across unknown or many sites | Structured JSON |
| monitor | Recurring page checks | Monitor metadata and diffs |
| research | Paper and GitHub repository research | Paper records and repo matches |
Hosted endpoints trim the surface for clients with a tool-slot limit: a keyless endpoint exposes only scrape, search, and parse, and a search-only endpoint exposes a fixed set of nine search, research, and Alexandria tools. A hardened HTTP preset for shared deployments requires a credential on every request (an API key or an OAuth access token), makes scrape read-only, and restricts parse to uploads. The package also exports a library entry point, marked unstable, for embedding the server in another runtime.
Features
- Scrape: fetches a single URL as markdown or as JSON matching a schema you supply
- Map and crawl: map discovers a site's URLs without fetching content, crawl collects content from many pages bounded by a page limit, path filters, or discovery depth
- Search: ranked web results from a query, optionally fetching page content in the same call
- Interact: click, type, and navigate on a fresh URL or an already scraped page, with the session persisting across calls through a scrape id
- Research agent: asynchronous multi-source research that returns JSON for a described set of fields, polled through a status tool
- Monitors: scheduled scrapes or crawls diffed against the last snapshot, with meaningful-change judging and webhook or email alerts
- Specialized indexes: developer search over GitHub issues, pull requests, and docs, a US government index for primary law, and paper search, inspection, citation expansion, and full-text reading
- Alexandria: discovery and execution of cataloged data provider contracts for teams with Alexandria access
- Parse: converts files and hosted upload references to markdown, JSON, or document output
- Credit usage: current and historical credit consumption, optionally split by API key
- Deployment modes: cloud or self-hosted Firecrawl, stdio, SSE, or streamable HTTP transports, and a hardened preset for shared deployments
- Retries and rate limits: automatic retries, rate-limit errors surfaced to the client, and logging of operation status and performance

