你正在开发一个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 |
| 开源状态 | 公开状态 |
| Languages | JavaScript 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_create、firecrawl_browser_execute、firecrawl_browser_list、firecrawl_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-mcpWindows用户注意:如果你在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_search和firecrawl_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_ATTEMPTS、FIRECRAWL_RETRY_INITIAL_DELAY等环境变量来调整重试行为。如果频繁触发限流,考虑升级你的Firecrawl套餐。
抓取的内容不完整或格式混乱
对于JavaScript重度的单页应用(SPA),Firecrawl默认会等待内容加载。但如果页面加载时间很长,你可以通过参数来增加等待时间。目前scrape工具支持waitFor参数(虽然文档中没有详细列出,但底层API支持)。另一个技巧是:对于动态内容,尝试使用firecrawl_extract工具,它使用AI来理解页面内容,即使HTML结构混乱也能提取出关键信息。
批量操作或爬虫长时间处于“processing”状态
batch_scrape和crawl是异步操作。大型任务可能需要几分钟甚至更长。使用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应用获得真正的“联网”和“自主研究”能力。
暂无评论