Firecrawl
Scrape, crawl, and extract data from any website using the Firecrawl API.
Firecrawl MCP Server
A Model Context Protocol (MCP) server for web scraping, content searching, site crawling, and data extraction using the Firecrawl API.
Features
-
Web Scraping: Extract content from any webpage with customizable options
- Mobile device emulation
- Ad and popup blocking
- Content filtering
- Structured data extraction
- Multiple output formats
-
Content Search: Intelligent search capabilities
- Multi-language support
- Location-based results
- Customizable result limits
- Structured output formats
-
Site Crawling: Advanced web crawling functionality
- Depth control
- Path filtering
- Rate limiting
- Progress tracking
- Sitemap integration
-
Site Mapping: Generate site structure maps
- Subdomain support
- Search filtering
- Link analysis
- Visual hierarchy
-
Data Extraction: Extract structured data from multiple URLs
- Schema validation
- Batch processing
- Web search enrichment
- Custom extraction prompts
Installation
# Global installation
npm install -g @modelcontextprotocol/mcp-server-firecrawl
# Local project installation
npm install @modelcontextprotocol/mcp-server-firecrawl
Quick Start
-
Get your Firecrawl API key from the developer portal
-
Set your API key:
Unix/Linux/macOS (bash/zsh):
export FIRECRAWL_API_KEY=your-api-keyWindows (Command Prompt):
set FIRECRAWL_API_KEY=your-api-keyWindows (PowerShell):
$env:FIRECRAWL_API_KEY = "your-api-key"Alternative: Using .env file (recommended for development):
# Install dotenv npm install dotenv # Create .env file echo "FIRECRAWL_API_KEY=your-api-key" > .envThen in your code:
import dotenv from 'dotenv'; dotenv.config(); -
Run the server:
mcp-server-firecrawl
Integration
Claude Desktop App
Add to your MCP settings:
{
"firecrawl": {
"command": "mcp-server-firecrawl",
"env": {
"FIRECRAWL_API_KEY": "your-api-key"
}
}
}
Claude VSCode Extension
Add to your MCP configuration:
{
"mcpServers": {
"firecrawl": {
"command": "mcp-server-firecrawl",
"env": {
"FIRECRAWL_API_KEY": "your-api-key"
}
}
}
}
Usage Examples
Web Scraping
// Basic scraping
{
name: "scrape_url",
arguments: {
url: "https://example.com",
formats: ["markdown"],
onlyMainContent: true
}
}
// Advanced extraction
{
name: "scrape_url",
arguments: {
url: "https://example.com/blog",
jsonOptions: {
prompt: "Extract article content",
schema: {
title: "string",
content: "string"
}
},
mobile: true,
blockAds: true
}
}
Site Crawling
// Basic crawling
{
name: "crawl",
arguments: {
url: "https://example.com",
maxDepth: 2,
limit: 100
}
}
// Advanced crawling
{
name: "crawl",
arguments: {
url: "https://example.com",
maxDepth: 3,
includePaths: ["/blog", "/products"],
excludePaths: ["/admin"],
ignoreQueryParameters: true
}
}
Site Mapping
// Generate site map
{
name: "map",
arguments: {
url: "https://example.com",
includeSubdomains: true,
limit: 1000
}
}
Data Extraction
// Extract structured data
{
name: "extract",
arguments: {
urls: ["https://example.com/product1", "https://example.com/product2"],
prompt: "Extract product details",
schema: {
name: "string",
price: "number",
description: "string"
}
}
}
Configuration
See configuration guide for detailed setup options.
API Documentation
See API documentation for detailed endpoint specifications.
Development
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Start in development mode
npm run dev
Examples
Check the examples directory for more usage examples:
- Basic scraping: scrape.ts
- Crawling and mapping: crawl-and-map.ts
Error Handling
The server implements robust error handling:
- Rate limiting with exponential backoff
- Automatic retries
- Detailed error messages
- Debug logging
Security
- API key protection
- Request validation
- Domain allowlisting
- Rate limiting
- Safe error messages
Contributing
See CONTRIBUTING.md for contribution guidelines.
License
MIT License - see LICENSE for details.
Server Terkait
Bright Data
sponsorDiscover, extract, and interact with the web - one interface powering automated access across the public internet.
youtube-summarize
MCP server that fetches YouTube video transcripts and summarizes them using your LLM client
ELBADOO INTELLIGENCE HUB
A high-performance x402 intelligence gateway providing 20+ social and web endpoints. Powered by 6-stage routing logic—including cloud-rendered JS fetches, residential IP rotation, and automatic settlement refunds for blocked hosts. Built for AI Agents that require reliable, pay-per-request access to LinkedIn, Reddit, Instagram, and beyond without API key management
Google Maps Reviews MCP Server
Summarizes reviews for a specific location from Google Maps.
Urlbox Full Page Screenshots
An MCP server for the Urlbox Screenshot API. It enables your client to take screenshots, generate PDFs, extract HTML/markdown, and more from websites.
Browser Use MCP Server
An MCP server that allows AI agents to control a web browser using the browser-use library.
Chrome MCP Server
Control a Chrome browser instance using the Chrome DevTools Protocol (CDP).
YouTube Translate MCP
Access YouTube video transcripts and translations using the YouTube Translate API.
Steel Puppeteer
Provides browser automation capabilities using Puppeteer and Steel, configurable for local or cloud instances.
Changeflow
AI-powered web monitoring. Track any website, get structured change intelligence.
Financial Data MCP Server
Provides real-time financial market data from Yahoo Finance.