Firecrawl MCP 服务器
模型上下文协议 (MCP) 服务器实现与Firecrawl集成以实现网页抓取功能。
非常感谢@vrknetha 、 @cawstudios的初步实施!
特征
- 抓取、爬取、搜索、提取、深入研究和批量抓取支持
- 使用 JS 渲染进行网页抓取
- URL 发现和抓取
- 带有内容提取的网页搜索
- 使用指数退避算法自动重试
- 具有内置速率限制的高效批处理
- 云 API 信用使用情况监控
- 综合测井系统
- 支持云和自托管 Firecrawl 实例
- 移动/桌面视口支持
- 带有标签包含/排除的智能内容过滤
- SSE 支持
在 MCP.so 的游乐场或Klavis AI上使用我们的 MCP 服务器。
安装
使用 npx 运行
手动安装
在光标上运行
配置 Cursor 🖥️ 注意:需要 Cursor 版本 0.45.6+ 有关最新的配置说明,请参阅 Cursor 官方文档中有关配置 MCP 服务器的说明: Cursor MCP 服务器配置指南
在 Cursor v0.45.6中配置 Firecrawl MCP
- 打开游标设置
- 前往“功能”>“MCP 服务器”
- 点击“+ 添加新的 MCP 服务器”
- 输入以下内容:
- 名称:“firecrawl-mcp”(或您喜欢的名称)
- 类型:“命令”
- 命令:
env FIRECRAWL_API_KEY=your-api-key npx -y firecrawl-mcp
在 Cursor v0.48.6中配置 Firecrawl MCP
- 打开游标设置
- 前往“功能”>“MCP 服务器”
- 点击“+ 添加新的全局 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,但您可以通过描述您的网页抓取需求来明确请求使用 Firecrawl MCP。通过 Command+L (Mac) 访问 Composer,选择提交按钮旁边的“代理”,然后输入您的查询。
在风帆冲浪中奔跑
将其添加到您的./codeium/windsurf/model_config.json
:
使用 SSE 本地模式运行
要在本地使用服务器发送事件 (SSE) 而不是默认的 stdio 传输来运行服务器:
使用网址: http://localhost:3000/sse
通过 Smithery 安装(旧版)
要通过Smithery自动为 Claude Desktop 安装 Firecrawl:
在 VS Code 上运行
对于一键安装,请单击下面的安装按钮之一...
如需手动安装,请将以下 JSON 块添加到 VS Code 中的“用户设置 (JSON)”文件中。您可以按下Ctrl + Shift + P
并输入Preferences: Open User Settings (JSON)
来完成此操作。
或者,你可以将其添加到工作区中名为.vscode/mcp.json
的文件中。这样你就可以与其他人共享配置:
配置
环境变量
云 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)
配置示例
对于具有自定义重试和信用监控的云 API 使用情况:
对于自托管实例:
与 Claude Desktop 一起使用
将其添加到您的claude_desktop_config.json
中:
系统配置
服务器包含几个可配置的参数,可以通过环境变量设置。如果未配置,则使用以下默认值:
这些配置控制:
- 重试行为
- 由于速率限制,自动重试失败的请求
- 使用指数退避算法来避免 API 过载
- 示例:使用默认设置,将在以下时间尝试重试:
- 第一次重试:延迟 1 秒
- 第二次重试:延迟 2 秒
- 第三次重试:延迟 4 秒(上限为 maxDelay)
- 信用使用监控
- 跟踪云 API 使用情况的 API 信用消耗
- 在指定阈值处发出警告
- 有助于防止意外的服务中断
- 示例:使用默认设置:
- 剩余 1000 个积分时发出警告
- 剩余 100 个积分,发出严重警报
速率限制和批处理
该服务器利用 Firecrawl 的内置速率限制和批处理功能:
- 采用指数退避算法的自动速率限制处理
- 批量操作的高效并行处理
- 智能请求排队和限制
- 暂时性错误自动重试
可用工具
1. 抓取工具( firecrawl_scrape
)
使用高级选项从单个 URL 抓取内容。
2.批量抓取工具( firecrawl_batch_scrape
)
通过内置速率限制和并行处理有效地抓取多个 URL。
响应包括用于状态检查的操作ID:
3. 检查批次状态( firecrawl_check_batch_status
)
检查批量操作的状态。
4.搜索工具( firecrawl_search
)
搜索网络并选择性地从搜索结果中提取内容。
5. 爬网工具( firecrawl_crawl
)
使用高级选项启动异步爬网。
6. 提取工具( firecrawl_extract
)
使用 LLM 功能从网页中提取结构化信息。支持云端 AI 和自托管 LLM 提取。
响应示例:
提取工具选项:
urls
:从中提取信息的 URL 数组prompt
:LLM 提取的自定义提示systemPrompt
:指导 LLM 的系统提示schema
:用于结构化数据提取的 JSON 模式allowExternalLinks
:允许从外部链接提取enableWebSearch
:启用网页搜索以获取更多上下文includeSubdomains
:在提取中包含子域
使用自托管实例时,提取将使用您配置的 LLM。对于云 API,它使用 Firecrawl 的托管 LLM 服务。
7.深度研究工具(firecrawl_deep_research)
使用智能爬取、搜索和 LLM 分析对查询进行深度网络研究。
参数:
- 查询(字符串,必需):要探索的研究问题或主题。
- maxDepth(数字,可选):爬行/搜索的最大递归深度(默认值:3)。
- timeLimit(数字,可选):研究会话的时间限制(以秒为单位)(默认值:120)。
- maxUrls(数字,可选):要分析的最大 URL 数量(默认值:50)。
返回:
- 由法学硕士根据研究生成的最终分析。(data.finalAnalysis)
- 还可能包括研究过程中使用的结构化活动和来源。
8.生成LLMs.txt工具(firecrawl_generate_llmstxt)
为给定域生成标准化的 llms.txt 文件(以及可选的 llms-full.txt 文件)。该文件定义了大型语言模型应如何与网站交互。
参数:
- url(字符串,必需):要分析的网站的基本 URL。
- maxUrls(数字,可选):要包含的最大 URL 数量(默认值:10)。
- showFullText(布尔值,可选):是否在响应中包含 llms-full.txt 内容。
返回:
- 生成的 llms.txt 文件内容和可选的 llms-full.txt(data.llmstxt 和/或 data.llmsfulltxt)
日志系统
该服务器包括全面的日志记录:
- 运营状况及进展
- 性能指标
- 信用使用监控
- 速率限制跟踪
- 错误条件
日志消息示例:
错误处理
服务器提供了强大的错误处理:
- 暂时性错误自动重试
- 带退避的速率限制处理
- 详细错误消息
- 信用使用警告
- 网络弹性
错误响应示例:
发展
贡献
- 分叉存储库
- 创建你的功能分支
- 运行测试:
npm test
- 提交拉取请求
感谢贡献者
感谢@vrknetha 、 @cawstudios的初步实施!
感谢 MCP.so 和 Klavis AI 的托管以及@gstarwd 、 @xiangkaiz和@zihaolin96集成我们的服务器。
执照
MIT 许可证 - 详情请参阅许可证文件
Related MCP Servers
- AsecurityAlicenseAqualityMCP Server enabling integration with Scrapezy to retrieve structured data from websites.Last updated -1121JavaScriptMIT License
- AsecurityFlicenseAqualityBuilt as a Model Context Protocol (MCP) server that provides advanced web search, content extraction, web crawling, and scraping capabilities using the Firecrawl API.Last updated -41Python
- -securityAlicense-qualityA Model Context Protocol server that allows LLMs to interact with web content through standardized tools, currently supporting web scraping functionality.Last updated -PythonMIT License
- AsecurityFlicenseAqualityA server that provides tools to scrape websites and extract structured data from them using Firecrawl's APIs, supporting both basic website scraping in multiple formats and custom schema-based data extraction.Last updated -2JavaScript