功能
- 网站抓取、爬行与发现
- 搜索与内容提取
- 借助自主代理进行深度研究
- 浏览器会话管理
- 支持云端与自托管
- 支持 HTTP 流式传输
安装
远程托管 URL
使用 npx 运行
手动安装
在 Cursor 上运行
手动安装
- 打开 Cursor 设置
- 前往 Features > MCP Servers
- 点击 “+ Add new global MCP server”
- 输入以下代码:
- 打开 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"
将 your-api-key 替换为你的 Firecrawl API 密钥。如果你还没有,可以创建账号并从 https://www.firecrawl.dev/app/api-keys 获取。
添加后,刷新 MCP 服务器列表以查看新工具。Composer 代理会在合适的情况下自动使用 Firecrawl MCP,但你也可以通过描述你的网页抓取需求来显式请求。通过 Command+L(Mac)打开 Composer,在提交按钮旁选择 “Agent”,然后输入你的查询。
在 Windsurf 上运行
./codeium/windsurf/model_config.json:
以流式 HTTP 模式运行
通过 Smithery 安装(旧版)
在 VS Code 中运行
Ctrl + Shift + P,然后输入 Preferences: Open User Settings (JSON) 来完成此操作。
.vscode/mcp.json 文件中。这样你就可以与他人共享该配置:
在 Claude Desktop 上运行
在 Claude Code 上运行
在 Google Antigravity 上运行

- 在 Editor 或 Agent Manager 视图中打开 Agent 侧边栏
- 点击 ”…”(More Actions 更多操作)菜单并选择 MCP Servers
- 选择 View raw config 以打开本地的
mcp_config.json文件 - 添加以下配置:
- 保存文件,然后在 Antigravity MCP 界面中点击 Refresh 以查看新工具。
YOUR_FIRECRAWL_API_KEY 替换为你在 https://firecrawl.dev/app/api-keys 获取的 API key。
在 n8n 中运行
- 在 https://firecrawl.dev/app/api-keys 获取你的 Firecrawl API 密钥
- 在你的 n8n 工作流中,添加一个 AI Agent 节点
- 在 AI Agent 配置中,添加一个新的 Tool
- 将工具类型选择为 MCP Client Tool
- 输入 MCP 服务器 Endpoint(将
{YOUR_FIRECRAWL_API_KEY}替换为你的实际 API 密钥):
- 将 Server Transport 设置为 HTTP Streamable
- 将 Authentication 设置为 None
- 在 Tools to include 中,你可以选择 All、Selected 或 All Except —— 这会提供对 Firecrawl 工具(scrape、crawl、map、search、extract 等)的访问
http://localhost:3000/v2/mcp 上启动服务器,你可以在 n8n 工作流中将其用作端点(Endpoint)。需要设置环境变量 HTTP_STREAMABLE_SERVER=true,因为 n8n 需要使用 HTTP 传输。
配置
环境变量
云端 API 必需
FIRECRAWL_API_KEY:你的 Firecrawl API 密钥- 使用云端 API(默认)时必需
- 在使用并配置了
FIRECRAWL_API_URL的自托管实例时可选
FIRECRAWL_API_URL(可选):自托管实例的自定义 API 端点- 示例:
https://firecrawl.your-domain.com - 如未提供,将使用云端 API(需要提供 API 密钥)
- 示例:
可选配置
重试配置
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)
配置示例
在 Claude Desktop 中进行自定义配置
claude_desktop_config.json 中:
系统配置
-
重试行为
- 在因速率限制导致请求失败时自动重试
- 使用指数退避以避免对 API 施加过大压力
- 示例:在默认设置下,重试会按如下时间进行:
- 第 1 次重试:延迟 1 秒
- 第 2 次重试:延迟 2 秒
- 第 3 次重试:延迟 4 秒(但不会超过 maxDelay)
-
额度使用监控
- 跟踪云端 API 使用时的额度消耗
- 在达到指定阈值时发出警告
- 帮助避免意外的服务中断
- 示例:在默认设置下:
- 当剩余 1000 点额度时发出警告
- 当剩余 100 点额度时发出关键告警
限流与批处理
- 通过指数退避策略自动处理限流
- 面向批量操作的高效并行处理
- 智能请求排队与限流
- 对瞬时错误自动重试
可用的工具
1. Scrape 工具(firecrawl_scrape)
2. Map Tool (firecrawl_map)
Map 工具选项:
url: 要映射的网站基础 URLsearch: 可选搜索词,用于过滤 URLsitemap: 控制 sitemap 的使用方式 —— “include”、“skip” 或 “only”includeSubdomains: 映射时是否包含子域名limit: 要返回的 URL 最大数量ignoreQueryParameters: 映射时是否忽略查询参数
3. 搜索工具(firecrawl_search)
搜索工具选项:
query:搜索查询字符串(必需)limit:返回结果的最大数量location:搜索结果的地理位置tbs:按时间过滤的搜索参数(例如,qdr:d表示过去一天,qdr:w表示过去一周,qdr:m表示过去一个月)filter:额外的搜索过滤条件sources:要搜索的来源类型数组(web、images、news)scrapeOptions:抓取搜索结果页面时的配置选项enterprise:企业相关选项数组(default、anon、zdr)
4. Crawl Tool (firecrawl_crawl)
5. 检查爬取状态 (firecrawl_check_crawl_status)
6. 提取工具 (firecrawl_extract)
Extract 工具选项:
urls: 要从中提取信息的 URL 数组prompt: 用于 LLM 提取的自定义提示词schema: 用于结构化数据提取的 JSON schemaallowExternalLinks: 是否允许从外部链接提取enableWebSearch: 是否启用 Web 搜索以获取额外上下文includeSubdomains: 提取时是否包含子域名
7. Agent Tool (firecrawl_agent)
firecrawl_agent_status 以检查任务何时完成并获取结果。
Agent 工具选项:
prompt: 对所需数据的自然语言描述(必填,最多 10,000 个字符)urls: 可选的 URL 数组,用于让 agent 聚焦在特定页面schema: 可选的 JSON schema,用于结构化输出
firecrawl_agent_status 轮询获取结果。
8. 检查 Agent 状态 (firecrawl_agent_status)
Agent 状态选项:
id:firecrawl_agent返回的 Agent 任务 ID(必需)
processing: Agent 仍在执行任务 —— 继续轮询completed: 任务已完成 —— 响应中包含提取的数据failed: 发生错误
9. 创建浏览器会话 (firecrawl_browser_create)
浏览器创建选项:
ttl: 会话的总生命周期(以秒为单位,30-3600,可选)activityTtl: 空闲超时时间(以秒为单位,10-3600,可选)
10. 在浏览器中执行代码 (firecrawl_browser_execute)
浏览器执行选项:
sessionId: 浏览器会话 ID(必填)code: 要执行的代码(必填)language:bash、python或node(可选,默认为bash)
agent-browser open <url>— 跳转到指定 URLagent-browser snapshot— 获取带有可点击引用的可访问性树agent-browser click @e5— 根据快照中的引用点击元素agent-browser type @e3 "text"— 向元素中输入文本agent-browser screenshot [path]— 进行截图agent-browser scroll down— 向下滚动页面agent-browser wait 2000— 等待 2 秒
11. 删除浏览器会话 (firecrawl_browser_delete)
浏览器删除选项:
sessionId: 要删除的浏览器会话 ID(必填)
12. 列出浏览器会话 (firecrawl_browser_list)
浏览器列表选项:
status: 按会话状态进行过滤 ——active或destroyed(可选)
日志系统
- 操作状态与进度
- 性能指标
- 额度使用监控
- 速率限制跟踪
- 错误情况
错误处理
- 对临时性错误进行自动重试
- 带退避策略的限流处理
- 详细的错误信息
- 额度使用预警
- 网络健壮性
开发
参与贡献
- Fork 本仓库
- 创建你的功能分支
- 运行测试:
npm test - 提交一个 Pull Request

