Firecrawl MCP服务器
一个模型上下文协议(MCP)服务器,它带来 火爬 与MCP兼容的人工智能代理——搜索、抓取并与实时网络交互,以获得干净、代理就绪的上下文。
特性
- 搜索网页并获取整页内容
- 将任何URL转换为干净、结构化的数据
- 与页面交互——点击、导航和操作
- 对自主代理的深入研究
- 具有代理浏览器自动化功能的云浏览器会话
- 自动重试和速率限制
- 云和自托管支持
- SSE支持
摆弄 我们的MCP服务器在MCP.so的操场上 或 克拉维斯AI.
安装
使用npx运行
env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp手动安装
npm install -g firecrawl-mcp在游标上运行
配置光标🖥️ 注意:需要游标版本0.45.6+ 有关最新的配置说明,请参阅配置MCP服务器的官方Cursor文档: 光标MCP服务器配置指南
在游标中配置Firecrawl MCP v0.48.6
- 打开光标设置
- 转到功能>MCP服务器
- 点击“+添加新的全局MCP服务器”
- 输入以下代码:
{
"mcpServers": {
"firecrawl-mcp": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "YOUR-API-KEY"
}
}
}
}在游标中配置Firecrawl MCP v0.45.6
- 打开光标设置
- 转到功能>MCP服务器
- 点击“+添加新MCP服务器”
- 输入以下内容:
- 名称:“firecrawl mcp”(或您喜欢的名字) - 类型:“命令” - 命令: 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”,然后输入您的查询。
在风帆上跑步
将此添加到您的 ./codeium/windsurf/model_config.json:
{
"mcpServers": {
"mcp-server-firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "YOUR_API_KEY"
}
}
}
}以流式HTTP本地模式运行
要在本地使用Streamable HTTP而不是默认的stdio传输运行服务器:
env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp使用网址:http://localhost:3000/mcp
通过Smithery安装(传统)
通过以下方式自动安装克劳德桌面版Firecrawl 史密瑟里:
npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude在VS代码上运行
对于一键安装,请单击下面的安装按钮之一。..
对于手动安装,请将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 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}"
}
}
}
}
}您可以选择将其添加到名为的文件中 .vscode/mcp.json 在您的工作空间中。这将允许您与他人共享配置:
{
"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}"
}
}
}
}配置
环境变量
云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使用:
# Required for cloud API
export FIRECRAWL_API_KEY=your-api-key
# Optional retry configuration
export FIRECRAWL_RETRY_MAX_ATTEMPTS=5 # Increase max retry attempts
export FIRECRAWL_RETRY_INITIAL_DELAY=2000 # Start with 2s delay
export FIRECRAWL_RETRY_MAX_DELAY=30000 # Maximum 30s delay
export FIRECRAWL_RETRY_BACKOFF_FACTOR=3 # More aggressive backoff
# Optional credit monitoring
export FIRECRAWL_CREDIT_WARNING_THRESHOLD=2000 # Warning at 2000 credits
export FIRECRAWL_CREDIT_CRITICAL_THRESHOLD=500 # Critical at 500 credits对于自托管实例:
# Required for self-hosted
export FIRECRAWL_API_URL=https://firecrawl.your-domain.com
# Optional authentication for self-hosted
export FIRECRAWL_API_KEY=your-api-key # If your instance requires auth
# Custom retry configuration
export FIRECRAWL_RETRY_MAX_ATTEMPTS=10
export FIRECRAWL_RETRY_INITIAL_DELAY=500 # Start with faster retries使用Claude Desktop
将此添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"mcp-server-firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "YOUR_API_KEY_HERE",
"FIRECRAWL_RETRY_MAX_ATTEMPTS": "5",
"FIRECRAWL_RETRY_INITIAL_DELAY": "2000",
"FIRECRAWL_RETRY_MAX_DELAY": "30000",
"FIRECRAWL_RETRY_BACKOFF_FACTOR": "3",
"FIRECRAWL_CREDIT_WARNING_THRESHOLD": "2000",
"FIRECRAWL_CREDIT_CRITICAL_THRESHOLD": "500"
}
}
}
}系统配置
服务器包括几个可配置的参数,可以通过环境变量进行设置。以下是未配置的默认值:
const CONFIG = {
retry: {
maxAttempts: 3, // Number of retry attempts for rate-limited requests
initialDelay: 1000, // Initial delay before first retry (in milliseconds)
maxDelay: 10000, // Maximum delay between retries (in milliseconds)
backoffFactor: 2, // Multiplier for exponential backoff
},
credit: {
warningThreshold: 1000, // Warn when credit usage reaches this level
criticalThreshold: 100, // Critical alert when credit usage reaches this level
},
};这些配置控制:
- 重试行为
- 由于速率限制,自动重试失败的请求 - 使用指数退避来避免压倒API - 示例:在默认设置下,将尝试在以下位置重试: - 第一次重试:1秒延迟 - 第二次重试:延迟2秒 - 第三次重试:延迟4秒(上限为maxDelay)
- 信贷使用监控
- 跟踪云API使用的API信用消费 - 在指定阈值时提供警告 - 有助于防止意外的服务中断 - 示例:使用默认设置: - 剩余1000学分时发出警告 - 剩余100学分时出现严重警报
速率限制和批处理
服务器利用Firecrawl的内置速率限制和批处理功能:
- 具有指数回退的自动速率限制处理
- 批量操作的高效并行处理
- 智能请求排队和限制
- 暂时性错误的自动重试
如何选择工具
使用本指南为您的任务选择合适的工具:
- 如果你知道你想要的确切网址:
- 第一:使用 刮擦 (结构化数据采用JSON格式) - 对于许多人:使用 batch_scrape
- 如果您需要在网站上查找URL: 使用 地图
- 如果你想在网上搜索信息: 使用 搜索
- 如果您需要对多个未知来源进行复杂的研究: 使用 代理
- 如果你想分析整个网站或部分: 使用 爬行 (有限制!)
- 如果您需要交互式浏览器自动化 (单击、键入、导航):使用 刮擦 + 互动
- 如果您需要原始CDP浏览器会话 (高级):使用 浏览器 (已弃用)
快速参考表
| 工具 | 最适合 | 退货 |
|---|---|---|
| scratch | 单页内容 | JSON(首选)或markdown |
| interview | 与抓取的页面交互 | 执行结果 |
| batch_scrape | 多个已知URL | JSON(首选)或markdown\[\] |
| map | 发现网站上的URL | URL\[\] |
| 抓取 | 多页提取(有限制) | markdown/html\[\] |
| search | 网络搜索信息 | 结果\[\] |
| agent | 复杂的多源研究 | JSON(结构化数据) |
| 浏览器 | 交互式多步自动化(已弃用) | 与实时浏览器的会话 |
格式选择指南
使用时 scrape 或 batch_scrape,选择正确的格式:
- JSON格式(推荐用于大多数情况): 当您需要页面中的特定数据时使用。根据需要提取的内容定义模式。这可以保持响应较小,避免上下文窗口溢出。
- Markdown格式(谨慎使用): 只有当你真正需要整页内容时,比如阅读整篇文章进行总结或分析页面结构。
可用工具
1.报废工具(firecrawl_scrape)
使用高级选项从单个URL中抓取内容。
最适合:
- 单页内容提取,当您确切地知道哪个页面包含信息时。
不建议用于:
- 从多个页面中提取内容(对于已知的URL使用batch_scrape,或者使用map+batch_scrape首先发现URL,或者抓取整个页面内容)
- 当您不确定哪个页面包含信息时(使用搜索)
常见错误:
- 使用scratch获取URL列表(改用batch_scrape)。
- 默认情况下使用markdown格式(使用JSON格式仅提取所需内容)。
选择正确的格式:
- JSON格式(首选): 对于大多数用例,使用JSON格式和模式来仅提取所需的特定数据。这使响应保持集中,并防止上下文窗口溢出。
- Markdown格式: 只有当任务真正需要整页内容时(例如,总结整篇文章,分析页面结构)。
提示示例:
“从获取产品详细信息https://example.com/product."
使用示例(JSON格式-首选):
{
"name": "firecrawl_scrape",
"arguments": {
"url": "https://example.com/product",
"formats": [{
"type": "json",
"prompt": "Extract the product information",
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"price": { "type": "number" },
"description": { "type": "string" }
},
"required": ["name", "price"]
}
}]
}
}使用示例(markdown格式-需要完整内容时):
{
"name": "firecrawl_scrape",
"arguments": {
"url": "https://example.com/article",
"formats": ["markdown"],
"onlyMainContent": true
}
}使用示例(品牌格式-提取品牌标识):
{
"name": "firecrawl_scrape",
"arguments": {
"url": "https://example.com",
"formats": ["branding"]
}
}品牌格式: 提取全面的品牌标识(颜色、字体、排版、间距、徽标、UI组件),用于设计分析或风格复制。
退货:
- JSON结构化数据、markdown、品牌配置文件或指定的其他格式。
2.批量报废工具(firecrawl_batch_scrape)
通过内置的速率限制和并行处理,高效地抓取多个URL。
最适合:
- 当您确切地知道要抓取哪些页面时,从多个页面中检索内容。
不建议用于:
- 发现网址(如果你不知道网址,请先使用地图)
- 刮擦一页(使用刮擦)
常见错误:
- 同时使用具有太多URL的batch_scrape(可能会达到速率限制或令牌溢出)
提示示例:
获取这三篇博客文章的内容:\[url1,url2,url3\]
使用示例:
{
"name": "firecrawl_batch_scrape",
"arguments": {
"urls": ["https://example1.com", "https://example2.com"],
"options": {
"formats": ["markdown"],
"onlyMainContent": true
}
}
}退货:
- 响应包括用于状态检查的操作ID:
{
"content": [
{
"type": "text",
"text": "Batch operation queued with ID: batch_1. Use firecrawl_check_batch_status to check progress."
}
],
"isError": false
}3.检查批次状态(firecrawl_check_batch_status)
检查批处理操作的状态。
{
"name": "firecrawl_check_batch_status",
"arguments": {
"id": "batch_1"
}
}4.地图工具(firecrawl_map)
绘制网站地图以发现网站上的所有索引URL。
最适合:
- 在决定抓取什么之前,先在网站上发现网址
- 查找网站的特定部分
不建议用于:
- 当你已经知道你需要哪个特定的URL时(使用scratch或batch_scrape)
- 当您需要页面内容时(使用映射后的抓取)
常见错误:
- 使用爬网而不是映射来发现URL
提示示例:
“列出example.com上的所有URL。”
使用示例:
{
"name": "firecrawl_map",
"arguments": {
"url": "https://example.com"
}
}退货:
- 在网站上找到的URL数组
5.搜索工具(firecrawl_search)
搜索网络,并可选择从搜索结果中提取内容。
最适合:
- 在不知道哪个网站有信息的情况下,在多个网站上查找特定信息。
- 当您需要查询最相关的内容时
不建议用于:
- 当你已经知道要抓取哪个网站时(使用抓取)
- 当您需要对单个网站进行全面覆盖时(使用地图或抓取)
常见错误:
- 对开放式问题使用爬行或地图(改用搜索)
使用示例:
{
"name": "firecrawl_search",
"arguments": {
"query": "latest AI research papers 2023",
"limit": 5,
"lang": "en",
"country": "us",
"scrapeOptions": {
"formats": ["markdown"],
"onlyMainContent": true
}
}
}退货:
- 搜索结果数组(包含可选的抓取内容),加上
id现场。传递这个id到firecrawl_search_feedback在您使用结果退还1个积分(搜索费用2)并提高搜索质量后。
提示示例:
“查找2023年发表的关于人工智能的最新研究论文。”
5b。搜索反馈工具(firecrawl_search_feedback)
发送关于以前的结构化反馈 firecrawl_search 结果。每个搜索id的第一个反馈可退还1个积分,并提高Firecrawl的搜索质量。每个搜索id都有id。
在您实际使用的每次搜索后调用此命令 (或者这没有帮助)。不良/部分反馈 missingContent 与良好的反馈一样有价值。
选择退出: 集 FIRECRAWL_NO_SEARCH_FEEDBACK=1 (或 FIRECRAWL_DISABLE_SEARCH_FEEDBACK=1)在启动MCP服务器时的环境中。这 firecrawl_search_feedback 该工具将不会注册,因此代理无法调用它。团队管理员还可以禁用服务器端的反馈;在这种情况下,工具已注册,但始终返回 feedbackErrorCode: "TEAM_OPTED_OUT".
最重要的领域: missingContent。这是代理希望找到但没有找到的一系列特定内容。每个缺失的主题都有一个条目——这些条目跨团队汇总,告诉我们下一步要索引什么。
每日退款上限(每个团队,每个UTC日,默认100个积分)。 一旦一个团队 creditsRefundedToday 到达 dailyRefundCap,进一步的提交仍然会记录反馈,但不再退还积分。响应集 dailyCapReached: true。在UTC当天的剩余时间里,当代理看到该标志时,应停止调用此工具。
使用示例:
{
"name": "firecrawl_search_feedback",
"arguments": {
"searchId": "0193f6c5-1234-7890-abcd-1234567890ab",
"rating": "good",
"valuableSources": [
{
"url": "https://docs.firecrawl.dev/features/search",
"reason": "Most up-to-date description of /search."
}
],
"missingContent": [
{ "topic": "Pricing for the search endpoint", "description": "No pricing tier table for /search specifically." },
{ "topic": "Per-team rate limits" }
],
"querySuggestions": "Boost docs.firecrawl.dev for queries that mention 'firecrawl'"
}
}退货:
{ success, feedbackId, creditsRefunded, alreadySubmitted? }JSON。
6.爬行工具(firecrawl_crawl)
在网站上启动异步爬网作业,并从所有页面中提取内容。
最适合:
- 当您需要全面覆盖时,从多个相关页面中提取内容。
不建议用于:
- 从单个页面提取内容(使用抓取)
- 当关注令牌限制时(使用map+batch_scrape)
- 当你需要快速的结果时(爬行可能很慢)
警告: 爬网响应可能非常大,并可能超过令牌限制。限制抓取深度和页数,或使用map+batch_scrape进行更好的控制。
常见错误:
- 设置限制或maxDepth太高(导致令牌溢出)
- 对单个页面使用爬网(改用抓取)
提示示例:
“从example.com/blog的前两个级别获取所有博客文章。”
使用示例:
{
"name": "firecrawl_crawl",
"arguments": {
"url": "https://example.com/blog/*",
"maxDepth": 2,
"limit": 100,
"allowExternalLinks": false,
"deduplicateSimilarURLs": true
}
}退货:
- 响应包括用于状态检查的操作ID:
{
"content": [
{
"type": "text",
"text": "Started crawl for: https://example.com/* with job ID: 550e8400-e29b-41d4-a716-446655440000. Use firecrawl_check_crawl_status to check progress."
}
],
"isError": false
}7.检查爬行状态(firecrawl_check_crawl_status)
检查爬网作业的状态。
{
"name": "firecrawl_check_crawl_status",
"arguments": {
"id": "550e8400-e29b-41d4-a716-446655440000"
}
}退货:
- 响应包括爬网作业的状态:
8.提取工具(firecrawl_extract)
使用LLM功能从网页中提取结构化信息。支持云AI和自托管LLM提取。
最适合:
- 提取特定的结构化数据,如价格、名称、细节。
不建议用于:
- 当你需要一个页面的全部内容时(使用scratch)
- 当您不在寻找特定的结构化数据时
论据:
urls:从中提取信息的URL数组prompt:LLM提取的自定义提示systemPrompt:引导LLM的系统提示schema:用于结构化数据提取的JSON模式allowExternalLinks:允许从外部链接中提取enableWebSearch:启用网络搜索以获取其他上下文includeSubdomains:在提取中包含子域
使用自托管实例时,提取将使用您配置的LLM。对于云API,它使用Firecrawl的托管LLM服务。 提示示例:
从这些产品页面中提取产品名称、价格和描述
使用示例:
{
"name": "firecrawl_extract",
"arguments": {
"urls": ["https://example.com/page1", "https://example.com/page2"],
"prompt": "Extract product information including name, price, and description",
"systemPrompt": "You are a helpful assistant that extracts product information",
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"price": { "type": "number" },
"description": { "type": "string" }
},
"required": ["name", "price"]
},
"allowExternalLinks": false,
"enableWebSearch": false,
"includeSubdomains": false
}
}退货:
- 根据模式定义提取结构化数据
{
"content": [
{
"type": "text",
"text": {
"name": "Example Product",
"price": 99.99,
"description": "This is an example product description"
}
}
],
"isError": false
}9.代理工具(firecrawl_agent)
自主网络研究代理。这是一个独立的AI代理层,可以独立浏览互联网、搜索信息、浏览页面,并根据您的查询提取结构化数据。
它是如何工作的:
代理执行网络搜索、跟踪链接、读取页面并自主收集数据。这运行 异步地 -它立即返回一个作业ID,然后您进行轮询 firecrawl_agent_status 检查何时完成并检索结果。
异步工作流:
- 呼叫
firecrawl_agent根据您的提示/模式→ 返回作业ID - 在代理研究的同时做其他工作(复杂的查询可能需要几分钟)
- 投票
firecrawl_agent_status使用作业ID检查进度 - 当状态为“完成”时,响应包括提取的数据
最适合:
- 复杂的研究任务,你不知道确切的网址
- 多源数据收集
- 查找分散在网络上的信息
- 在等待结果的同时可以做其他工作的任务
不建议用于:
- 在知道URL的地方进行简单的单页抓取(使用JSON格式的抓取-更快、更便宜)
论据:
prompt:所需数据的自然语言描述(必填,最多10000个字符)urls:可选的URL数组,用于将代理集中在特定页面上schema:结构化输出的可选JSON模式
提示示例:
“查找Firecrawl的创始人及其背景”
使用示例(启动代理,然后轮询结果):
{
"name": "firecrawl_agent",
"arguments": {
"prompt": "Find the top 5 AI startups founded in 2024 and their funding amounts",
"schema": {
"type": "object",
"properties": {
"startups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"funding": { "type": "string" },
"founded": { "type": "string" }
}
}
}
}
}
}
}然后投票给 firecrawl_agent_status 使用返回的作业ID。
使用示例(使用URLs-agent专注于特定页面):
{
"name": "firecrawl_agent",
"arguments": {
"urls": ["https://docs.firecrawl.dev", "https://firecrawl.dev/pricing"],
"prompt": "Compare the features and pricing information from these pages"
}
}退货:
- 用于状态检查的作业ID。使用
firecrawl_agent_status投票选举结果。
10.检查代理状态(firecrawl_agent_status)
检查代理作业的状态,并在完成后检索结果。启动代理后,使用此功能轮询结果。
轮询模式: 对于复杂的查询,代理研究可能需要几分钟的时间。定期轮询此端点(例如,每10-30秒一次),直到状态为“完成”或“失败”。
{
"name": "firecrawl_agent_status",
"arguments": {
"id": "550e8400-e29b-41d4-a716-446655440000"
}
}可能的状态:
processing:代理仍在研究中-稍后回来查看completed:研究已完成-响应包括提取的数据failed:发生错误
11.浏览器创建(firecrawl_browser_create)--已弃用
已弃用: 更喜欢firecrawl_scrape+firecrawl_interact相反。Interact允许您抓取页面,然后单击、填写表单和导航,而无需手动管理会话。
创建用于交互式自动化的云浏览器会话。
论据:
ttl:会话总生存期(秒)(30-3600,可选)activityTtl:空闲超时(秒)(10-3600,可选)streamWebView:是否启用直播流(可选)profile:跨会话保存和重用浏览器状态(可选)
- name:配置文件名称(具有相同名称的会话共享状态) - saveChanges:是否将更改保存回配置文件(默认值:true)
使用示例:
{
"name": "firecrawl_browser_create",
"arguments": {
"ttl": 600,
"profile": { "name": "my-profile", "saveChanges": true }
}
}退货:
- 会话ID、CDP URL和实时视图URL
12.浏览器执行(firecrawl_browser_execute)--已弃用
已弃用: 更喜欢firecrawl_scrape+firecrawl_interact相反。
在浏览器会话中执行代码。支持代理浏览器命令(bash)、Python或JavaScript。
推荐:将bash与代理浏览器命令一起使用 (预装在每个沙箱中):
{
"name": "firecrawl_browser_execute",
"arguments": {
"sessionId": "session-id-here",
"code": "agent-browser open https://example.com",
"language": "bash"
}
}常见的代理浏览器命令:
| 命令 | 描述 |
|---|---|
agent-browser open | 导航到URL |
agent-browser snapshot | 带有可点击参考的辅助功能树 |
agent-browser click @e5 | 从快照中按引用单击元素 |
agent-browser type @e3 "text" | 键入元素 |
agent-browser get title | 获取页面标题 |
agent-browser screenshot | 截图 |
agent-browser --help | 完整命令参考 |
对于Playwright脚本,请使用Python:
{
"name": "firecrawl_browser_execute",
"arguments": {
"sessionId": "session-id-here",
"code": "await page.goto('https://example.com')\ntitle = await page.title()\nprint(title)",
"language": "python"
}
}13.浏览器列表(firecrawl_browser_list)--已弃用
已弃用: 更喜欢firecrawl_scrape+firecrawl_interact相反。
列出浏览器会话,可选择按状态筛选。
{
"name": "firecrawl_browser_list",
"arguments": {
"status": "active"
}
}14.浏览器删除(firecrawl_browser_delete)--已弃用
已弃用: 更喜欢firecrawl_scrape+firecrawl_interact相反。
销毁浏览器会话。
{
"name": "firecrawl_browser_delete",
"arguments": {
"sessionId": "session-id-here"
}
}记录系统
服务器包括全面的日志记录:
- 运行状态和进度
- 性能指标
- 信贷使用监控
- 速率限制跟踪
- 错误条件
日志消息示例:
[INFO] Firecrawl MCP Server initialized successfully
[INFO] Starting scrape for URL: https://example.com
[INFO] Batch operation queued with ID: batch_1
[WARNING] Credit usage has reached warning threshold
[ERROR] Rate limit exceeded, retrying in 2s...错误处理
服务器提供强大的错误处理:
- 暂时性错误的自动重试
- 带回退的速率限制处理
- 详细的错误消息
- 信用额度使用警告
- 网络弹性
错误响应示例:
{
"content": [
{
"type": "text",
"text": "Error: Rate limit exceeded. Retrying in 2 seconds..."
}
],
"isError": true
}发展
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test贡献
- 分叉存储库
- 创建功能分支
- 运行测试:
npm test - 提交拉取请求
感谢贡献者
许可证
MIT许可证-有关详细信息,请参阅许可证文件

