# Firecrawl — MCP Server

> Scrape, crawl and search the live web as structured markdown.

**Source:** https://mcpplaygroundonline.com/mcp-servers/firecrawl  
**Transport:** http  
**Requires auth:** Yes

---

## What it does

Firecrawl sits between an agent and the messy reality of the web. It renders JavaScript, strips navigation and boilerplate, and returns markdown that a model can actually read rather than raw HTML that burns tokens. The MCP server exposes that pipeline as a small set of tools: scrape for a single page, map to enumerate the URLs on a domain without fetching them all, crawl for a recursive multi-page job that runs asynchronously and reports status, search to query the web and optionally scrape each result in the same call, and extract to pull structured JSON from one or more pages against a JSON schema. Batch scraping and per-request options — main-content-only, wait-for-selector, screenshot, proxy and caching controls — are passed through as tool arguments, so an agent can tune a fetch without a round trip to your code.

## Tools exposed

- firecrawl_scrape — fetch one URL and return markdown, HTML, links or a screenshot
- firecrawl_map — enumerate every URL on a domain fast, without fetching each page
- firecrawl_crawl — recursive multi-page crawl, started async and polled for status
- firecrawl_check_crawl_status — poll a running crawl job and collect its results
- firecrawl_search — web search, with optional scraping of each result in one call
- firecrawl_extract — structured JSON extraction from pages against a JSON schema

## Example queries you can run

- "Scrape this pricing page and tell me every plan, its price and its limits."
- "Map this documentation site and list the pages that mention authentication."
- "Search for recent write-ups on MCP security and summarise the common findings."
- "Extract company name, funding stage and location from each of these five URLs as JSON."

## Details

- **Recommended model:** anthropic/claude-sonnet-4.5 — Scraped pages are long and noisy. Sonnet 4.5 holds a full page in context and resists the injected instructions that sometimes hide in scraped HTML.
- **Transport:** http
- **Authentication:** Required — A Firecrawl API key from firecrawl.dev, sent as a bearer token by your client — or OAuth if your client supports it. Never put the key in the URL.
- **Hosted endpoint:** https://mcp.firecrawl.dev/v2/mcp
- **Official source:** [Firecrawl MCP Server — official documentation](https://docs.firecrawl.dev/mcp-server)

## Connecting to Firecrawl

### Environment variables

- `FIRECRAWL_API_KEY` (required) — Your Firecrawl API key. Required for the self-hosted stdio server, and for the cloud tools (crawl, map, extract) on the hosted endpoint.
- `FIRECRAWL_API_URL` — Base URL of a self-hosted Firecrawl instance. Set this and the API key becomes optional.
- `FIRECRAWL_RETRY_MAX_ATTEMPTS` — How many times to retry a rate-limited request before giving up. Defaults to 3.

### Client configuration

**Local stdio server via npx**

Runs the same server on your machine — useful when you want the key to stay in your own environment.

```
{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": { "FIRECRAWL_API_KEY": "fc-YOUR_KEY" }
    }
  }
}
```

## Frequently asked questions

### What is the Firecrawl MCP server?

It is the official MCP server from Firecrawl, giving an AI agent scrape, crawl, map, search and structured-extract tools over the live web. It is available as a hosted endpoint at mcp.firecrawl.dev and as a local stdio server published on npm as firecrawl-mcp.

### Do I need an API key to use it?

The hosted endpoint allows keyless access to scrape, search and parse on the free tier at a limited rate. Crawl, map and extract are cloud jobs and need a Firecrawl API key. The self-hosted stdio server always needs either a key or the URL of your own Firecrawl instance.

### What is the difference between scrape, crawl and map?

Scrape fetches one URL. Map lists the URLs on a domain quickly without fetching their contents, so you can pick targets first. Crawl walks a site recursively and returns many pages, which is much slower and is started as an async job you then poll.

### Is scraped content safe to feed straight to a model?

Treat it as untrusted input. A scraped page can contain text written to look like an instruction to your agent, which is the classic prompt-injection route. Keep the scraping tool separate from any tool that can write or spend, and watch the tool calls in MCP Agent Studio before wiring it into something autonomous.

### How does Firecrawl compare to Exa or Tavily for agent search?

Exa and Tavily are search-first, returning ranked results with short extracts. Firecrawl is fetch-first — it is the better choice when you know which pages you want and need their full content as clean markdown, or when you need a whole site crawled.

---

_Test this server across 40+ models on MCP Playground: https://mcpplaygroundonline.com/mcp-servers/firecrawl — free, no install._
