你正在开发一个AI应用,需要从网上获取最新的信息。比如你想让AI“找出去年人工智能融资最多的五家初创公司,并提取它们的估值和主要投资者”。普通的AI模型可能只能根据训练数据给出一个过时的列表,或者猜测一些信息。如果你自己写爬虫,又得处理各种网站的复杂结构。

现在有一个强大的工具可以帮你完成这个任务。firecrawl-mcp-server是Firecrawl的官方MCP服务器,它提供了一套完整的网页采集能力,从简单的单页抓取到智能的自主研究代理,都能胜任。配置好之后,你只需要告诉AI你的需求,它就会自动搜索、抓取、提取,甚至自主浏览多个网页来收集信息。

项目基本信息

信息项详情
项目名称firecrawl-mcp-server
GitHub地址https://github.com/mendableai/firecrawl-mcp-server
项目描述Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
作者firecrawl
开源协议MIT License
开源状态公开状态
LanguagesJavaScript 96.4%, TypeScript 1.9%, Dockerfile 1.5%, Shell 0.2%
支持平台Windows / macOS / Linux
最后更新2026-04-26

一、项目介绍

firecrawl-mcp-server是Firecrawl平台的官方MCP服务器实现。Firecrawl本身是一个专业的网页抓取和数据处理平台,而这MCP服务器则是把这些能力封装成了AI可以直接调用的工具。通过这个服务器,任何支持MCP协议的AI客户端(如Cursor、Claude Desktop、Windsurf等)都能获得强大的网页搜索、抓取和交互能力。

这个服务器提供了十多个工具,覆盖了从简单到复杂的所有场景:

基础采集工具

  • firecrawl_scrape:抓取单个网页。可以选择输出JSON(配合schema提取结构化数据)或Markdown(获取完整内容)。还支持专门的“branding”格式来提取网站的品牌设计元素。
  • firecrawl_batch_scrape:批量抓取多个已知URL。适合你有明确URL列表的场景。
  • firecrawl_check_batch_status:查询批量任务的状态。

发现与搜索工具

  • firecrawl_map:发现一个网站上的所有URL。在抓取之前先用这个工具探索站点结构。
  • firecrawl_search:搜索网络并可选地抓取结果页面。支持指定语言、国家等参数。
  • firecrawl_crawl:异步爬取整个网站。可以设置深度和页数限制。
  • firecrawl_check_crawl_status:查询爬虫任务的状态。

智能提取工具

  • firecrawl_extract:使用LLM从页面中提取结构化信息。你可以提供schema来指定输出格式。
  • firecrawl_agent:自主研究代理。它会自己搜索、浏览、收集信息来回答你的问题。这是异步的,可以提交后稍后查询结果。
  • firecrawl_agent_status:查询代理任务的状态。

交互与自动化工具(实验性)

  • firecrawl_interact:与已抓取的页面进行交互,比如点击、填写表单、导航等。(这是较新的工具,设计用来取代旧的browser系列工具)

已弃用的工具(仍可使用,但推荐使用上述工具替代)

  • firecrawl_browser_createfirecrawl_browser_executefirecrawl_browser_listfirecrawl_browser_delete:这些是旧版的浏览器会话管理工具,现在推荐使用scrape + interact的组合。

这个服务器还有一个特色功能:自动重试和速率限制处理。当遇到API限流时,它会自动采用指数退避策略重试,确保任务最终完成。同时,它还提供了信用额度监控,可以在额度不足时发出警告。

二、核心优势

完整的工具链覆盖

firecrawl-mcp-server提供了从发现、搜索、抓取、提取到自主研究的全套工具。你不需要在多个服务之间切换,一个MCP服务器就能满足几乎所有网页采集需求。而且每个工具都有明确的使用场景指导,避免了“用错工具”的问题。

AI友好的输出格式

它非常懂AI需要什么。推荐使用JSON格式配合schema,这样提取出来的数据直接就是结构化的,不会占用太多token。也支持Markdown格式,适合需要完整内容的场景。还有一个特殊的“branding”格式,专门用于提取网站的设计风格信息。

自主研究代理

firecrawl_agent是一个很突出的功能。它不仅仅是一个抓取工具,而是一个能够自主规划研究路径的AI代理。你可以给它一个复杂的查询,比如“找出2024年人工智能领域前五大收购案例及其金额”,它会自己搜索、浏览、筛选、整理,最后返回结构化的结果。这对于需要跨多个来源收集信息的任务来说,大大简化了工作流程。

企业级的可靠性

Firecrawl作为专业平台,提供了自动重试、速率限制处理、指数退避等机制。这些在免费或开源的爬虫工具中往往需要自己实现。同时,它支持云端API和自托管两种方式,满足不同场景的需求。

丰富的配置选项

从环境变量到具体的工具参数,firecrawl-mcp-server提供了很多配置项。你可以调整重试策略、信用额度阈值,也可以为每个抓取任务指定等待时间、是否只抓取主要内容、是否允许外部链接等。这使得工具能够适应不同的网站和目标。

清晰的工具选择指南

项目的文档中有一个很实用的“How to Choose a Tool”部分,用表格列出了每个工具的最佳用途、适用场景和常见误区。这对于初次使用的用户来说非常有帮助,减少了试错的时间。

三、适用场景

产品数据监控

电商公司可以用firecrawl_batch_scrape每天定时抓取竞争对手的产品页面,用JSON格式提取价格、库存、评分等信息。配合firecrawl_extract,即使页面结构变化,也能通过AI理解来提取数据。

市场研究与趋势分析

分析师可以用firecrawl_agent来完成复杂的研究任务。例如“找出2025年最热门的五个SaaS细分市场,并列出每个市场的代表公司和融资情况”。代理会自动搜索、阅读、整理,生成一份结构化的报告。

内容聚合与知识库构建

内容平台可以用firecrawl_crawl爬取多个新闻网站或博客,然后通过firecrawl_extract提取标题、作者、日期和正文,最后存入数据库。这个过程可以完全自动化,保持内容库的更新。

SEO与网站分析

SEO专家可以用firecrawl_map发现一个网站的所有URL,分析其结构。然后用firecrawl_scrape抓取关键页面,提取标题、描述、H1标签等SEO元素,生成优化建议。

品牌监测与舆情分析

公关公司可以用firecrawl_search监控网络上关于某个品牌的关键词,并自动抓取相关内容。通过设置语言和国家参数,可以针对特定市场进行监测。

自动化测试与交互

QA工程师可以用firecrawl_scrape结合firecrawl_interact来编写自动化测试脚本。例如“登录测试环境,导航到用户资料页,修改头像,然后验证是否成功”。这比传统的Selenium脚本更灵活,因为AI能理解页面内容。

四、安装教程

前置准备

在使用之前,你需要一个Firecrawl API密钥。访问 https://www.firecrawl.dev/app/api-keys 注册并登录,然后在控制台获取你的API密钥。Firecrawl提供免费试用额度。

你需要一个支持MCP协议的AI客户端。本教程以Cursor和Claude Desktop为例。

方式一:通过npx直接运行(最适合测试)

在终端中运行以下命令,替换fc-YOUR_API_KEY为你的真实密钥:

env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp

这会在当前终端启动服务器。这种方式适合快速测试,但不适合持久化集成。

方式二:配置到Cursor

Cursor 0.48.6及以上版本支持通过界面配置。打开Cursor Settings,进入 Features > MCP Servers,点击“+ Add new global MCP server”,然后输入以下配置:

{
  "mcpServers": {
    "firecrawl-mcp": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": {
        "FIRECRAWL_API_KEY": "你的API密钥"
      }
    }
  }
}

如果你使用的是Cursor 0.45.6,配置方式略有不同:点击“+ Add New MCP Server”,选择Type为“command”,然后在Command框中输入:

env FIRECRAWL_API_KEY=你的API密钥 npx -y firecrawl-mcp

Windows用户注意:如果你在Windows上遇到问题,可以尝试使用以下命令格式:

cmd /c "set FIRECRAWL_API_KEY=你的API密钥 && npx -y firecrawl-mcp"

方式三:配置到Claude Desktop

找到Claude Desktop的配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

添加以下配置:

{
  "mcpServers": {
    "mcp-server-firecrawl": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": {
        "FIRECRAWL_API_KEY": "你的API密钥"
      }
    }
  }
}

如果你想自定义重试和信用额度监控,可以添加更多环境变量:

{
  "mcpServers": {
    "mcp-server-firecrawl": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": {
        "FIRECRAWL_API_KEY": "你的API密钥",
        "FIRECRAWL_RETRY_MAX_ATTEMPTS": "5",
        "FIRECRAWL_RETRY_INITIAL_DELAY": "2000",
        "FIRECRAWL_CREDIT_WARNING_THRESHOLD": "2000"
      }
    }
  }
}

方式四:配置到VS Code

在VS Code中,按Ctrl+Shift+P,输入Preferences: Open User Settings (JSON),然后添加:

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "apiKey",
        "description": "Firecrawl API Key",
        "password": true
      }
    ],
    "servers": {
      "firecrawl": {
        "command": "npx",
        "args": ["-y", "firecrawl-mcp"],
        "env": {
          "FIRECRAWL_API_KEY": "${input:apiKey}"
        }
      }
    }
  }
}

方式五:使用Streamable HTTP模式(高级)

如果你想通过HTTP而不是stdio来运行服务器:

env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=你的API密钥 npx -y firecrawl-mcp

然后可以使用http://localhost:3000/mcp作为服务器URL。

五、使用示例

配置完成后,你就可以在AI助手中用自然语言来驱动这些工具了。以下是一些实际的使用案例。

示例一:抓取单个网页并提取结构化数据

“Scrape https://example.com/product and extract the product name, price, and description into a JSON object.”

AI会调用firecrawl_scrape,使用JSON格式并可能自动推断schema。返回的内容会是一个干净的JSON。

如果你想更精确地控制输出,可以提供schema:

“Extract product info from https://example.com/product with this schema: { name: string, price: number, inStock: boolean }”

示例二:批量抓取多个已知URL

“I have a list of 10 product URLs. Please batch scrape them and return the product names and prices in a JSON array.”

AI会调用firecrawl_batch_scrape,返回一个操作ID。然后你需要询问“Check the status of batch operation [id]”来获取结果。

示例三:搜索网络并抓取结果

“Search the web for 'best AI code assistants 2026', scrape the top 3 results, and summarize their key features.”

这会组合使用firecrawl_searchfirecrawl_scrape。AI会先搜索,获取结果列表,然后依次抓取每个URL。

示例四:用map探索网站结构

“Map all URLs under https://docs.example.com, but only include paths that start with '/api/v2/'.”

firecrawl_map会返回一个URL列表。然后你可以基于这个列表,决定哪些页面需要进一步抓取。

示例五:用自主研究代理完成复杂任务

这是firecrawl_agent最有用的场景:

“Use the firecrawl agent to find the top 5 AI infrastructure startups founded in 2024, their funding amounts, and lead investors. Return the results as a JSON array with name, funding, and investors for each.”

AI会调用firecrawl_agent,提交一个异步任务,返回一个job ID。然后你需要问“Check the status of agent job [id]”来获取结果。当状态变为“completed”时,返回的内容就是你需要的JSON数组。

示例六:爬取整个网站

“Crawl https://example.com/blog, but limit to 50 pages max, and only extract markdown content.”

AI会调用firecrawl_crawl,返回一个job ID。然后你需要定期用firecrawl_check_crawl_status来查询进度。注意:爬取的结果可能很大,确保你的上下文窗口足够。

六、常见问题

API Key无效或未设置

请确认环境变量FIRECRAWL_API_KEY设置了正确的值。注意Firecrawl的API Key通常以“fc-”开头。检查你的Firecrawl账户是否有足够额度,免费试用可能已过期。另外,如果你在Windows上使用cmd,环境变量的设置语法可能不同。

遇到速率限制错误

Firecrawl的API有速率限制。好消息是,这个MCP服务器会自动处理:它会在遇到限流时自动重试,采用指数退避策略。你可以通过设置FIRECRAWL_RETRY_MAX_ATTEMPTSFIRECRAWL_RETRY_INITIAL_DELAY等环境变量来调整重试行为。如果频繁触发限流,考虑升级你的Firecrawl套餐。

抓取的内容不完整或格式混乱

对于JavaScript重度的单页应用(SPA),Firecrawl默认会等待内容加载。但如果页面加载时间很长,你可以通过参数来增加等待时间。目前scrape工具支持waitFor参数(虽然文档中没有详细列出,但底层API支持)。另一个技巧是:对于动态内容,尝试使用firecrawl_extract工具,它使用AI来理解页面内容,即使HTML结构混乱也能提取出关键信息。

批量操作或爬虫长时间处于“processing”状态

batch_scrapecrawl是异步操作。大型任务可能需要几分钟甚至更长。使用check_status工具定期查询进度。如果状态长时间没有变化,检查你的网络连接,或者查看Firecrawl控制台是否有错误日志。另外,确保你没有超过并发限制。

firecrawl_agent返回的结果不符合预期

代理工具是一个独立的AI,它根据你的prompt来规划研究路径。如果结果不够好,尝试提供更详细的prompt,或者提供一个schema来引导输出格式。你也可以通过urls参数给代理一个起点,让它在特定范围内研究。

自托管部署如何配置

如果你想用自己的Firecrawl实例,设置环境变量FIRECRAWL_API_URL为你的实例地址(例如https://firecrawl.your-domain.com)。如果实例需要认证,仍然需要设置FIRECRAWL_API_KEY。注意:自托管实例的功能可能与云端版本略有差异。

工具选择困难

项目文档中有一个“How to Choose a Tool”表格,建议仔细阅读。基本规则是:知道URL用scrape/batch_scrape;不知道URL用search;需要探索站点用map;需要全站内容用crawl;需要AI理解用extract;复杂研究用agent。

七、总结

firecrawl-mcp-server是一个成熟、功能全面的网页采集解决方案。它不仅覆盖了从基础抓取到智能代理的所有场景,而且在每个环节都考虑得很周到:自动重试、格式选择、异步处理、信用监控等。6.1k的Stars和频繁的更新也证明了它的活跃度和可靠性。

我最欣赏的是它的工具设计哲学。它没有试图把所有能力塞进一两个工具,而是提供了多个语义明确、职责单一的工具,并给出了清晰的选择指南。这让用户(无论是人类还是AI)都能快速找到合适的工具,减少了误用的可能。

firecrawl_agent是一个亮点。它把“自主研究”这个复杂任务变成了一个简单的API调用。对于需要跨多个来源收集信息的场景,这个功能可以节省大量的开发时间和代码复杂度。

当然,firecrawl不是免费的。云端API有定价,自托管也需要自己的基础设施。但考虑到它所解决的问题的复杂性(反爬虫、动态渲染、大规模调度),这个成本对于需要可靠采集能力的团队来说是合理的。

如果你是AI应用开发者、数据分析师或任何需要从网络获取结构化数据的人,firecrawl-mcp-server值得你投入时间学习。它强大的功能和良好的设计,能让你的AI应用获得真正的“联网”和“自主研究”能力。

标签: 内容抓取

暂无评论