Firecrawl MCP

by Mendable (Firecrawl)

Official Web Scraping & Data Collection 7k likes

Turns any website into clean, LLM-ready content: scraping, crawling, and search with JavaScript rendering, batch processing, and automatic retries built in.

Add to Claude Code

claude mcp add firecrawl -- npx -y firecrawl-mcp

Source: https://github.com/mendableai/firecrawl-mcp-server

About

Firecrawl MCP integrates web scraping directly into an agent's toolset: scraping a single page, crawling an entire site by discovering URLs automatically, searching the web with content extraction, and extracting structured data, all with JavaScript rendering for sites that need it.

It supports both Firecrawl's cloud API and self-hosted instances, with automatic retries, credit usage monitoring, and rate-limited batch processing so large crawl jobs don't overwhelm the target site or your account.

Key features

  • Web scraping with full JavaScript rendering
  • Automatic URL discovery and multi-page crawling
  • Web search with content extraction in one call
  • Rate-limited batch processing with automatic retries

Use cases

  • Pull real-time web content into an agent's context for research or analysis
  • Crawl a documentation site into structured Markdown for indexing
  • Extract specific structured fields (price, title, spec) from a set of product pages

Available tools

firecrawl_scrape

Scrapes a single URL and returns clean Markdown or structured content.

firecrawl_crawl

Crawls a site starting from a URL, discovering and scraping linked pages.

firecrawl_search

Searches the web and returns extracted content for the top results.

firecrawl_extract

Extracts specific structured fields from one or more pages using a schema.

Frequently asked questions

Do I need a Firecrawl API key?

Yes, for the cloud service. Set FIRECRAWL_API_KEY as an environment variable. Self-hosted Firecrawl instances can be pointed to directly instead.

Does it handle JavaScript-heavy sites?

Yes. Scraping renders JavaScript by default, which is what distinguishes it from a plain HTTP-fetch-based scraper.