综合介绍
Firecrawl MCP Server 是由 MendableAI 开发的一款开源工具,基于 Model Context Protocol (MCP) 协议实现,与 Firecrawl API 集成,提供强大的网页抓取和数据提取功能。它专为 AI 模型(如 Cursor、Claude 等 LLM 客户端)设计,支持从单页抓取到批量爬取、搜索和结构化数据提取等多种操作。无论是动态网页的 JavaScript 渲染,还是深层爬取和内容过滤,Firecrawl MCP Server 都能高效完成任务。该工具支持云端和自托管部署,配备自动重试、速率限制和日志系统,适合开发者、研究人员和数据工程师使用。截至 2025 年 3 月,项目在 GitHub 上持续更新,得到社区广泛认可。
功能列表
- 单页抓取:从指定 URL 提取 Markdown 或结构化数据。
- 批量爬取:高效处理多个 URL,支持并行操作和内置速率限制。
- 网页搜索:根据查询提取搜索结果中的内容。
- 深度爬取:支持 URL 发现和多层网页爬取。
- 数据提取:利用 LLM 从网页提取结构化信息。
- JavaScript 渲染:抓取动态网页的完整内容。
- 智能过滤:通过标签包含/排除实现内容筛选。
- 状态监控:提供批处理任务进度和信用使用情况查询。
- 日志系统:记录操作状态、性能和错误信息。
- 移动/桌面支持:适配不同设备视口。
使用帮助
安装流程
Firecrawl MCP Server 提供多种安装方式,适用于不同使用场景。以下是详细步骤:
方式 1:使用 npx 快速运行
- 获取 Firecrawl API 密钥(在 Firecrawl 官网 注册获取)。
- 打开终端,设置环境变量:
export FIRECRAWL_API_KEY="fc-YOUR_API_KEY"
替换 "fc-YOUR_API_KEY"
为你的实际密钥。
3. 运行命令:
npx -y firecrawl-mcp
- 成功启动后,终端显示
[INFO] FireCrawl MCP Server initialized successfully
。
方式 2:手动安装
- 全局安装:
npm install -g firecrawl-mcp
- 设置环境变量(如上)。
- 运行:
firecrawl-mcp
方式 3:自托管部署
- 克隆 GitHub 仓库:
git clone https://github.com/mendableai/firecrawl-mcp-server.git cd firecrawl-mcp-server
- 安装依赖:
npm install
- 构建项目:
npm run build
- 设置环境变量后运行:
node dist/src/index.js
方式 4:在 Cursor 上运行
- 确保 Cursor 版本为 0.45.6 或以上。
- 打开 Cursor 设置 > Features > MCP Servers。
- 点击 "+ Add New MCP Server",输入:
- Name:
firecrawl-mcp
- Type:
command
- Command:
env FIRECRAWL_API_KEY=your-api-key npx -y firecrawl-mcp
- Windows 用户若遇问题,可尝试:
cmd /c "set FIRECRAWL_API_KEY=your-api-key && npx -y firecrawl-mcp"
- Name:
- 保存并刷新 MCP 服务器列表,Composer Agent 会自动调用。
方式 5:在 Windsurf 上运行
- 编辑
./codeium/windsurf/model_config.json
:{ "mcpServers": { "mcp-server-firecrawl": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "YOUR_API_KEY_HERE" } } } }
- 保存后运行 Windsurf。
配置环境变量
必选配置
FIRECRAWL_API_KEY
:云端 API 密钥,使用云服务时必须设置。
可选配置
FIRECRAWL_API_URL
:自托管实例的 API 端点,例如https://firecrawl.your-domain.com
。- 重试配置:
FIRECRAWL_RETRY_MAX_ATTEMPTS
:最大重试次数,默认 3。FIRECRAWL_RETRY_INITIAL_DELAY
:首次重试延迟(毫秒),默认 1000。FIRECRAWL_RETRY_MAX_DELAY
:最大延迟(毫秒),默认 10000。FIRECRAWL_RETRY_BACKOFF_FACTOR
:退避因子,默认 2。
- 信用监控:
FIRECRAWL_CREDIT_WARNING_THRESHOLD
:警告阈值,默认 1000。FIRECRAWL_CREDIT_CRITICAL_THRESHOLD
:紧急阈值,默认 100。
配置示例
云端使用:
export FIRECRAWL_API_KEY="your-api-key"
export FIRECRAWL_RETRY_MAX_ATTEMPTS=5
export FIRECRAWL_RETRY_INITIAL_DELAY=2000
export FIRECRAWL_CREDIT_WARNING_THRESHOLD=2000
主要功能操作流程
功能 1:单页抓取 (firecrawl_scrape)
- 操作步骤:
- 启动服务器后,发送 POST 请求:
curl -X POST http://localhost:端口/firecrawl_scrape \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com", "formats": ["markdown"], "onlyMainContent": true, "timeout": 30000}'
- 返回 Markdown 格式的主要内容。
- 启动服务器后,发送 POST 请求:
- 参数说明:
onlyMainContent
:仅提取主要内容。includeTags
/excludeTags
:指定包含或排除的 HTML 标签。
- 应用场景:快速提取文章或页面核心信息。
功能 2:批量爬取 (firecrawl_batch_scrape)
- 操作步骤:
- 发送批量请求:
curl -X POST http://localhost:端口/firecrawl_batch_scrape \ -H "Content-Type: application/json" \ -d '{"urls": ["https://example1.com", "https://example2.com"], "options": {"formats": ["markdown"]}}'
- 获取操作 ID,例如
batch_1
。 - 检查状态:
curl -X POST http://localhost:端口/firecrawl_check_batch_status \ -H "Content-Type: application/json" \ -d '{"id": "batch_1"}'
- 发送批量请求:
- 特色:内置速率限制和并行处理,适合大规模数据收集。
功能 3:网页搜索 (firecrawl_search)
- 操作步骤:
- 发送搜索请求:
curl -X POST http://localhost:端口/firecrawl_search \ -H "Content-Type: application/json" \ -d '{"query": "AI tools", "limit": 5, "scrapeOptions": {"formats": ["markdown"]}}'
- 返回搜索结果的 Markdown 内容。
- 发送搜索请求:
- 用途:实时获取与查询相关的网页数据。
功能 4:深度爬取 (firecrawl_crawl)
- 操作步骤:
- 发起爬取请求:
curl -X POST http://localhost:端口/firecrawl_crawl \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com", "maxDepth": 2, "limit": 100}'
- 返回爬取结果。
- 发起爬取请求:
- 参数:
maxDepth
控制爬取深度,limit
限制页面数。
功能 5:数据提取 (firecrawl_extract)
- 操作步骤:
- 发送提取请求:
curl -X POST http://localhost:端口/firecrawl_extract \ -H "Content-Type: application/json" \ -d '{"urls": ["https://example.com"], "prompt": "Extract product name and price", "schema": {"type": "object", "properties": {"name": {"type": "string"}, "price": {"type": "number"}}}}'
- 返回结构化数据。
- 发送提取请求:
- 特色:支持 LLM 提取,自定义 schema 确保输出格式。
使用技巧
- 日志查看:运行时关注终端日志(如
[INFO] Starting scrape
)以调试。 - 错误处理:若遇
[ERROR] Rate limit exceeded
,调整重试参数或等待。 - 与 LLM 集成:在 Cursor 或 Claude 中直接输入抓取需求,自动调用工具。
通过以上操作,用户可以轻松部署并使用 Firecrawl MCP Server,满足多样化的网页数据需求。