This skill requires the Firecrawl extension to be installed:
./extensions/firecrawl/install.sh
Check availability: Before using any Firecrawl tool, verify the MCP server
is connected by checking if firecrawl_scrape or any Firecrawl tool
is available. If tools are not available, inform the user the extension is not
installed and provide install instructions.
| Command | Purpose |
|---|---|
/seo firecrawl crawl <url> |
Full-site crawl with content extraction |
/seo firecrawl map <url> |
Discover site structure (URLs only, fast) |
/seo firecrawl scrape <url> |
Single-page scrape with JS rendering |
/seo firecrawl search <query> <url> |
Search within a crawled site |
Crawl an entire website starting from the given URL. Returns page content, metadata, and links for all discovered pages.
MCP Tool: firecrawl_crawl
Parameters:
url (required): Starting URL to crawllimit: Max pages to crawl (default: 100, max: 500)maxDepth: Max link depth from start URL (default: 3)includePaths: Array of glob patterns to include (e.g., ["/blog/*"])excludePaths: Array of glob patterns to exclude (e.g., ["/admin/*", "/api/*"])scrapeOptions.formats: Output formats -- ["markdown", "html", "links"]
SEO Usage Patterns:
includePaths to audit only /blog/* or /products/*
["links"] format, check all hrefs for 404sExample orchestration for /seo audit:
1. firecrawl_map(url) -> get all URLs (fast, no content)
2. Filter to top 50 most important pages (homepage, key sections)
3. firecrawl_crawl(url, limit=50) -> get full content
4. Feed content to seo-technical, seo-content, seo-schema agents
Cost awareness:
Discover all URLs on a website without fetching content. Fast and credit-efficient.
MCP Tool: firecrawl_map
Parameters:
url (required): Website URL to maplimit: Max URLs to discover (default: 5000)search: Optional search term to filter URLsSEO Usage Patterns:
Output: Array of URLs. Present as:
Site: example.com
Pages discovered: 342
URL Pattern Breakdown:
/blog/* - 128 pages (37%)
/products/* - 89 pages (26%)
/category/* - 45 pages (13%)
/pages/* - 32 pages (9%)
/ (root pages) - 48 pages (14%)
Scrape a single page with full JavaScript rendering. More thorough than
fetch_page.py because it executes JS and waits for dynamic content.
MCP Tool: firecrawl_scrape
Parameters:
url (required): Page URL to scrapeformats: Output formats -- ["markdown", "html", "links", "screenshot"]
onlyMainContent: Strip nav/footer/sidebar (default: true)waitFor: CSS selector or milliseconds to wait for contenttimeout: Request timeout in ms (default: 30000)actions: Browser actions before scraping (click, scroll, wait)SEO Usage Patterns:
onlyMainContent for clean E-E-A-T analysisscreenshot format for visual analysisWhen to use scrape vs fetch_page.py:
| Scenario | Use |
|---|---|
| Static HTML page | fetch_page.py (no API cost) |
| JS-rendered SPA | firecrawl_scrape (renders JS) |
| Need response headers | fetch_page.py (returns headers) |
| Need clean markdown | firecrawl_scrape (better extraction) |
| Rate-limited/blocked | firecrawl_scrape (handles anti-bot) |
Search within a website for specific content. Useful for finding pages related to a topic without crawling everything.
MCP Tool: firecrawl_search
Parameters:
query (required): Search queryurl (required): Website to search withinlimit: Max results (default: 10)scrapeOptions.formats: Output format for matched pagesSEO Usage Patterns:
When Firecrawl is available during /seo audit:
firecrawl_map to discover all site URLs| Error | Cause | Resolution |
|---|---|---|
FIRECRAWL_API_KEY not set |
MCP not configured | Run ./extensions/firecrawl/install.sh |
402 Payment Required |
Credits exhausted | Check usage at firecrawl.dev/app, upgrade plan |
429 Too Many Requests |
Rate limited | Wait 60s, reduce crawl concurrency |
408 Timeout |
Page too slow to render | Increase timeout, try without JS rendering |
403 Forbidden |
Site blocks crawling | Check robots.txt, may need to skip this site |
Graceful fallback: If Firecrawl is unavailable, inform the user and suggest:
fetch_page.py for single-page analysis (no API cost)WebFetch tool for basic HTML retrieval./extensions/firecrawl/install.sh