Firecrawl MCP turns “go read this site for me” into a single tool call. It hits a URL (or a whole sitemap), renders JavaScript, strips chrome, and returns clean Markdown the model can actually reason about. The structured-extract endpoint goes one step further — pass a Zod schema, get typed JSON back.

What it produces: four primary tools. scrape_url for one-page Markdown, crawl_url for entire sites with depth/path filters, search for Google/web results, and extract for schema-driven structured data extraction (pricing tiers, product specs, contact emails).

Best for: competitor research, building a custom RAG over docs that aren’t in Context7, pricing trackers, lead enrichment from company sites, content audits.

Skip if: you only ever fetch one static URL — the free Fetch MCP covers that without an account or an API key. Firecrawl’s value is JS rendering + crawl-at-scale + structured extract, none of which the basic fetcher does.

Setup gotchas: needs a Firecrawl API key (free tier exists, paid scales fast). Put it in FIRECRAWL_API_KEY env, not the prompt. Crawls are billed per page — set limit aggressively in the call args, or one wide crawl will burn your monthly quota in an afternoon.

Real-world workflow: weekly competitor sweep — list of 10 competitor URLs, model calls scrape_url on each pricing page, extracts tiers as JSON, diffs against last week’s snapshot, flags changes. The full pipeline is 50 lines of agent prompt and runs unattended.

Compatible alternatives: Fetch MCP for trivial fetches, Playwright MCP when you need true interaction, Bright Data for industrial-scale anti-bot bypass.

I run this every Monday. Best $20/mo I spend on tooling.