/ 目录 / 演练场 / Firecrawl
● 官方 firecrawl 🔑 需要你的密钥

Firecrawl

作者 firecrawl · firecrawl/firecrawl-mcp-server

把任何网页转换成你的 AI agent 真正能用的干净结构化数据——处理 JS 渲染的站点,通过 schema 返回 JSON。

Firecrawl 是一个专为 LLM 优化的托管爬取服务。与基础 fetch MCP 返回原始 HTML 不同,Firecrawl 渲染 JS 密集的页面,剥离样板代码,返回干净的 Markdown,并支持通过 JSON schema 进行结构化提取。

为什么要用

核心特性

实时演示

实际使用效果

firecrawl.replay ▶ 就绪
0/0

安装

选择你的客户端

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": [
        "-y",
        "firecrawl-mcp"
      ]
    }
  }
}

打开 Claude Desktop → Settings → Developer → Edit Config。保存后重启应用。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": [
        "-y",
        "firecrawl-mcp"
      ]
    }
  }
}

Cursor 使用与 Claude Desktop 相同的 mcpServers 格式。项目级配置优先于全局。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": [
        "-y",
        "firecrawl-mcp"
      ]
    }
  }
}

点击 Cline 侧栏中的 MCP Servers 图标,然后选 "Edit Configuration"。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "firecrawl": {
      "command": "npx",
      "args": [
        "-y",
        "firecrawl-mcp"
      ]
    }
  }
}

格式与 Claude Desktop 相同。重启 Windsurf 生效。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "firecrawl",
      "command": "npx",
      "args": [
        "-y",
        "firecrawl-mcp"
      ]
    }
  ]
}

Continue 使用服务器对象数组,而非映射。

~/.config/zed/settings.json
{
  "context_servers": {
    "firecrawl": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "firecrawl-mcp"
        ]
      }
    }
  }
}

加入 context_servers。Zed 保存后热重载。

claude mcp add firecrawl -- npx -y firecrawl-mcp

一行命令搞定。用 claude mcp list 验证,claude mcp remove 卸载。

使用场景

实战用法: Firecrawl

构建实时竞品价格对比表

👤 PM、创始人进行市场研究 ⏱ ~20 min intermediate

何时使用: 当你需要更新定价策略,想看 5 个竞品对标方案的价格及来源时

前置条件
  • Firecrawl API key — firecrawl.dev——免费层提供 500 积分,足够爬取约 50 个页面
步骤
  1. 定义一个 schema 来描述'价格'的含义
    我想比较 [your category] 的价格。定义一个 schema 来捕获:方案名称、月度价格、包含的使用量、主要特性和任何超额费用。✓ 已复制
    → 包含这些字段的 schema,字段类型严格定义
  2. 并行从 5 个竞品 URL 中提取数据
    使用 schema 从这 5 个 URL 提取价格信息:[list URLs]。使用结构化提取端点。✓ 已复制
    → 5 个规范化的 JSON 数据块,可以进行比较
  3. 渲染成带引用的对比表
    将其渲染为 Markdown 表格,每个竞品作为一列。为每个源 URL 添加引用脚注。✓ 已复制
    → 可直接放入文档或演示稿的对比结果

结果: 一个规范化的价格表,你可以随时重新运行来检测变化——每次刷新成本约 5 个 Firecrawl 积分。

注意事项
  • 价格页面通常有切换选项(月度/年度、使用分级),爬取可能无法展示 — 使用 actions: [{type: 'click', selector: '...toggle...'}] 来捕获两种状态,或在最终输出中注明限制
  • 某些站点通过 Cloudflare 阻止爬虫 — Firecrawl 可处理大多数情况。如果仍被阻止,该页面可能故意使用反爬虫措施——尊重这一点,手动引用
搭配使用: notion · google-sheets

监控竞品文档站点的新功能

👤 产品营销人员、竞争情报分析 ⏱ ~15 min intermediate

何时使用: 当你想在 24 小时内了解竞品发布的新功能时。他们的更新日志/博客是发布地点。

前置条件
  • URL of their changelog or blog index page — 通常是 /changelog、/blog、/releases 或 /whats-new
步骤
  1. 爬取更新日志索引
    爬取 <URL>,depth=1,返回所有文章 URL 及其日期。限制在最近 50 篇。✓ 已复制
    → 最近文章列表及其日期
  2. 将每篇文章提取成规范化格式
    对最近 30 天发布的文章,提取标题、日期、摘要和任何功能名称提及,输出为 JSON。✓ 已复制
    → 结构化的更新日志,可与上周的运行结果进行差异比较
  3. 突出显示本周的新内容与上周的差异
    与上一次运行结果比较 [paste prior JSON]。本周有什么新的,战略意义是什么?✓ 已复制
    → 带有战略评论的差异分析

结果: 一份每周竞品摘要,你可以作为定时任务运行——永远不会错过功能发布。

注意事项
  • RSS 订阅源通常存在,成本比爬取更低 — 先尝试 <url>/feed.xml<url>/rss——只有没有订阅源时才使用爬取
搭配使用: notion

使用结构化企业数据增强公司 URL 列表

👤 销售、营销运营 ⏱ ~30 min intermediate

何时使用: 当你有 200 个公司网站的 CSV,需要获取员工数、行业和技术栈来优先排序外展活动时。

前置条件
  • Source list of URLs — 主页 URL 的 CSV 或文本文件
步骤
  1. 定义增强 schema
    定义一个 schema,包含:company_name、industry、employee_count_estimate、headquarters_location、primary_product_description(1 行)、tech_stack_signals(列表)。✓ 已复制
    → 严格定义的 JSON schema
  2. 从每个 URL 提取数据,并进行速率限制
    对 [list] 中的每个 URL,运行 Firecrawl 提取,使用 schema。以 10 个为一批进行处理,每批间隔 2 秒,保持礼貌。✓ 已复制
    → 每个 URL 的 JSON,错误单独记录
  3. 输出干净的 CSV
    将结果转换为 CSV,以原始 URL 作为关联键。标记提取失败的行,以便我手动重试。✓ 已复制
    → 可导入 CRM 的 CSV

结果: 在约 10 分钟内生成包含 200 行的增强潜客列表,成本约 2 美元的 Firecrawl 积分。

注意事项
  • 有些公司只有一个启动页,没有信息 — 让 Claude 标记这些以供手动审查,而不是幻觉
  • 大规模时成本会累积——10k 个 URL 等于真实的成本 — 先进行采样验证 schema 质量,再在完整列表上运行
搭配使用: filesystem

组合

与其他 MCP 搭配,撬动十倍杠杆

firecrawl + notion

爬取、总结、直接发布到 Notion 知识库

爬取最近 30 天来自 anthropic.com/news 的每篇文章,每篇总结为 2 句话,并在 'AI News' 数据库中为每篇创建一个 Notion 页面。✓ 已复制
firecrawl + postgres

每周爬取竞品数据并存储在数据库中进行时间序列分析

运行我的竞品价格提取,然后将每行 INSERT 到 competitor_pricing 表中,添加今天的日期。✓ 已复制
firecrawl + filesystem

爬取文档网站并保存为 Markdown,用于离线 RAG 索引

爬取 docs.stripe.com,将每个页面保存为 .md 文件到 /knowledge/stripe/ 目录。✓ 已复制

工具

此 MCP 暴露的能力

工具输入参数何时调用成本
firecrawl_scrape url: str, formats?: ['markdown'|'html'|'links'|'screenshot'] 当你需要获取单个页面的 Markdown 内容供模型使用时 1 credit per page
firecrawl_crawl url, limit, includePaths?, excludePaths?, maxDepth? 当你需要爬取网站的整个部分时 1 credit per page crawled
firecrawl_extract urls: str[], schema: JSONSchema, prompt? 当你需要结构化 JSON 而不是原始文本时 5 credits per page (LLM-backed)
firecrawl_map url, search? 当你需要发现网站上的所有 URL 而不获取内容时 1 credit

成本与限制

运行它的成本

API 配额
免费层:500 积分,10 个并发。爱好者:每月 19 美元获得 3000 积分。
每次调用 Token 数
每个爬取页面平均约 2000 token(Markdown 正文)
费用
1 credit per scrape, 5 credits per structured extract, 1 per map. Credits don't roll over.
提示
先使用 firecrawl_map 进行规划,然后只爬取你真正需要的 URL。积极使用缓存——大多数页面不会每天变化。

安全

权限、密钥、影响范围

凭据存储: API 密钥存储在环境变量 FIRECRAWL_API_KEY
数据出站: 所有请求都通过 Firecrawl 的服务器(美国/欧盟地区)。它们代理到目标网站。

故障排查

常见错误与修复

402 Payment Required

积分不足。在 firecrawl.dev/dashboard 充值或等待月度重置。

返回空 Markdown

页面可能仅包含 JS;确保设置 formats: ['markdown']mobile: false。尝试使用 actions: [{type:'wait', milliseconds: 3000}] 来允许 JS 执行。

爬取返回的页面数少于预期

检查 excludePaths 是否过于激进。另外:许多网站的 robots.txt 会阻止爬虫。Firecrawl 默认遵守。

429 Too Many Requests (target site)

降低爬取选项中的并发数。有些网站对每个 IP 实施请求预算。

替代方案

Firecrawl 对比其他方案

替代方案何时用它替代权衡
fetch MCP静态 HTML 页面,不需要 JS 渲染,不需要 schema 提取免费且快速,但在 SPA 上失效,给你原始 HTML 需要自己解析
Playwright MCP当你需要与页面交互(登录、点击流程)时代码更多,更适合复杂交互;未针对批量提取进行优化
Brightdata MCP当你需要住宅代理来访问阻止数据中心 IP 的网站时重量级且昂贵——只有对付难搞的目标值得使用
Apify MCP当你需要特定网站的预构建爬虫(Amazon、LinkedIn 结构化数据)时对有预构建 actor 的小众目标更好;但需要更多设置

更多

资源

📖 阅读 GitHub 上的官方 README

🐙 查看未解决的 issue

🔍 浏览全部 400+ MCP 服务器和 Skills