Firecrawl MCP — scraper LLM-friendly
Instalat azi (2026-05-28). Firecrawl e un serviciu de scraping care livrează Markdown curat, structurat, gata să fie dat unui LLM — fără HTML noise, fără JS-rendered chaos, fără cookie banners. E ce-ai vrut de fiecare dată când ai zis “Wednesday, scrape-ză pagina asta”.
Cont free tier: 500 credits/lună. Cheia e provisioned, vezi _infra/config/.credentials/firecrawl.env.
Ce face
API SaaS hosted (firecrawl.dev) care:
- Vizitează URL-ul cu un browser headless (Playwright pe partea lor)
- Aşteaptă să se randeze JS-ul, dismiss-uie banners, scroll-uie pentru lazy load
- Extrage main content (article extraction, similar Defuddle)
- Convertește în Markdown curat cu link-uri preservate
- Întoarce şi metadata (title, description, og:image, lang)
E mai puternic decât WebFetch (care e simplu HTTP GET + parser) şi mai uşor decât Playwright direct (care îţi cere să scrii cod).
Tool-uri exposed (firecrawl-mcp standard set)
scrape <url>— single URL → Markdown + metadata. Cel mai folosit.crawl <url> <depth>— recursiv, urmează link-urile dintr-un domain (atenţie la credits!)map <url>— listă de URL-uri descoperite într-un site, fără scraping (rapid sitemap)search <query>— search engine + scrape primele rezultate (mini-research)extract <url> <schema>— extracţie structurată cu un schema JSON dat (ex: titlu, preţ, dată)
Exemple de prompts
- “Wednesday, citeşte articolul ăsta: https://…” →
firecrawl_scrape(returnează Markdown gata) - “Scrape-ză toate articolele de pe blog.x.com/ ultimele 10” →
firecrawl_crawlcu depth=1 - “Listează toate paginile de pe site-ul ăsta” →
firecrawl_map - “Caută online despre ‘Doctrine 338 LLM’ şi scrape primele 5 rezultate” →
firecrawl_search - “Extrage preţul + numele produsului de pe pagina asta Amazon” →
firecrawl_extractcu schema{name: string, price: number}
Credenţiale
_infra/config/.credentials/firecrawl.env:
FIRECRAWL_API_KEY=fc-7874fbf999a54cb08cc9c43cd695c5a8
Cheia e inline şi în ~/.mcp.json (env block), şi în ~/.firecrawl/config pentru CLI-ul global npm. Single source of truth: .env.
Rotate la https://www.firecrawl.dev/app/api-keys dacă e nevoie.
Firecrawl vs alte opţiuni
| Tool | Când să-l foloseşti |
|---|---|
| WebFetch | URL e .md, sau pagină simplă static HTML, sau API care întoarce JSON |
defuddle skill | URL e o pagină web normală (blog, article, docs), vrei Markdown extract local |
firecrawl MCP | Pagina e JS-rendered (React/Vue SPA), are cookie banners, ai nevoie de crawl recursiv, sau vrei extracţie structurată |
| Playwright direct | Ai nevoie să faci click-uri, login-uri, scroll specific — automation, nu doar scraping |
Default-ul lui Wednesday: defuddle pentru pagini simple, firecrawl când defuddle eşuează (JS-heavy) sau vrei crawl multi-URL.
CLI-ul global
E şi un CLI: firecrawl-cli (npm global). Util când vrei să rulezi rapid dintr-un terminal fără sesiune Claude:
firecrawl scrape https://example.com/articleAuth e în ~/.firecrawl/config.
Gotchas
- Free tier = 500 credits/lună —
scrapecostă 1 credit,crawlcostă 1/pagină,extract5. Atenţie lacrawlcu depth mare — poate consuma 100+ credits într-un singur call. - Nu funcţionează pentru pagini autentificate — Firecrawl n-are sesiunea ta. Pentru asta foloseşte Playwright cu state file.
- Latency mai mare ca WebFetch — 5-15 secunde tipic (browser headless + render). Pentru pagini static, WebFetch e mai rapid.
- Robots.txt + rate limits — Firecrawl respectă robots.txt. Site-urile care blochează cu Cloudflare aggressive (CAPTCHA, JS challenge) pot eşua.
extractcu schema — funcţionează cel mai bine pe pagini structurate (e-commerce, articole news). Pentru forum threads / discussion sites, accuracy variabil.- Cost real — dacă scape extensiv, upgrade la plan plătit. Free 500/lună e ok pentru research personal sporadic.
- Confidentialitate — Firecrawl rulează pe serverele lor; URL-urile + content trec prin ei. Pentru lucruri sensibile, foloseşte Playwright local.