Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add LuuOW/meridian-mcp --skill firecrawl-extractgit clone --depth 1 https://github.com/LuuOW/meridian-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/luuow/meridian-mcp/firecrawl-extract)<a href="https://agentmods.dev/skills/luuow/meridian-mcp/firecrawl-extract"><img src="https://agentmods.dev/badge/skills/luuow/meridian-mcp/firecrawl-extract/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/luuow/meridian-mcp/firecrawl-extract"><img src="https://agentmods.dev/badge/skills/luuow/meridian-mcp/firecrawl-extract.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00035 | $0.00500 |
| Opus 5 | $0.00017 | $0.00250 |
| Sonnet 5 | $0.00007 | $0.00100 |
| Haiku 4.5 | $0.00003 | $0.00050 |
Grade A, and why
firecrawl-extract scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
firecrawl-extract
Use this when URLs are known and the agent needs clean content, crawl expansion, or sitemap-style discovery.
Best Uses
- scrape a known page into markdown
- crawl a docs site or blog section
- map a domain into candidate URLs
- normalize extracted content for summarization, chunking, or indexing
Required Env
FIRECRAWL_API_KEY
Core Modes
- scrape: one known URL -> markdown and metadata
- map: domain -> candidate URLs
- crawl: seed URL -> bounded URL set and content
Scrape Pattern
import os
import httpx
FIRECRAWL_API_KEY = os.environ["FIRECRAWL_API_KEY"]
async def firecrawl_scrape(url: str) -> dict:
async with httpx.AsyncClient(timeout=60) as client:
resp = await client.post(
"https://api.firecrawl.dev/v1/scrape",
headers={
"Authorization": f"Bearer {FIRECRAWL_API_KEY}",
"Content-Type": "application/json",
},
json={
"url": url,
"formats": ["markdown"],
},
)
resp.raise_for_status()
return resp.json()
Extraction Rules
- Prefer markdown output over raw HTML for reasoning tasks.
- Keep page metadata with the extracted body.
- Strip obvious nav and boilerplate if the provider did not already do it.
- Bound crawls by path prefix and page count before execution.
Avoid
- broad topic discovery when the problem is still "what sources matter"
- anti-bot or heavily dynamic targets that need browser-grade collection
- search-engine result capture
Hand-off Rules
- Accept URLs from
exa-search. - Escalate failed dynamic pages to
brightdata-collection. - Return normalized content objects suitable for RAG, summarization, or citation analysis.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 72 lines · 35 tokens per session scan A 4b56c60523e2
firecrawl-extract is a skill published in the GitHub repository LuuOW/meridian-mcp (0 stars, last pushed today), licensed MIT. It adds 35 tokens to every session and 500 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
firecrawl
Web scraping and crawling for AI agents via Firecrawl MCP. Scrape URLs to markdown, crawl websites, search the web, and extract structured data. Supports cloud API and self-hosted deployments including CRW (Rust alternative).
crawl4ai-skill
A web crawler and scraper that searches with DuckDuckGo, fetches individual pages or whole sites, and returns clean Markdown intended for language models. It can also scrape pages that need JavaScript to display their content.
web-scraping
Extract structured data from websites - scrape tables, lists, product info, text content.
firecrawl
Scrape, search et interagit avec le web via Firecrawl — extrait du contenu propre en Markdown depuis n'importe quelle URL, recherche sur le web, crawl de sites entiers, et interaction avec des pages dynamiques (clics, formulaires). Clef API dans FIRECRAWLAPIKEY.
firecrawl-build
Integrate Firecrawl into application code whenever a product, agent, or workflow needs web data inside the app — web search, live search results, page scraping, structured extraction, or browser interaction. Use when building any feature that needs data from the web in code, even if the user does not mention Firecrawl…
firecrawl-build-scrape
Integrate Firecrawl /scrape into product code for single-page extraction. Use when an app already has a URL and needs markdown, HTML, links, screenshots, metadata, or structured page output. Prefer this skill over broader crawl patterns when the feature is page-level.