网页抓取服务器

Firecrawl MCP Server是一个集成了网页抓取、内容提取和深度研究功能的模型上下文协议服务器实现。

作者 By firecrawl
本地部署 网页抓取 内容提取
GitHub

Firecrawl MCP服务器

一种模型上下文协议(MCP)服务器实现,与 萤火虫 用于网络抓取功能。

非常感谢 @弗克内塔, @小木棍 为了初步实施!

特性

  • 网络抓取、爬行和发现
  • 搜索和内容提取
  • 深入研究和批量刮削
  • 具有代理浏览器自动化功能的云浏览器会话
  • 自动重试和速率限制
  • 云和自托管支持
  • SSE支持

摆弄 我们的MCP服务器在MCP.so的操场上克拉维斯AI.

安装

使用npx运行

BASH``` 1env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp


### 手动安装


BASH```
1npm install -g firecrawl-mcp

在游标上运行

配置光标🖥️ 注意:需要游标版本0.45.6+ 有关最新的配置说明,请参阅配置MCP服务器的官方Cursor文档: 光标MCP服务器配置指南

在游标中配置Firecrawl MCP v0.48.6

  1. 打开光标设置
  2. 转到功能>MCP服务器
  3. 点击“+添加新的全局MCP服务器”
  4. 输入以下代码:

JSON``` 1 2 3 4 5 6 7 8 9 10 11{ “mcpServers”: { “firecrawl-mcp”: { “command”: “npx”, “args”: [“-y”, “firecrawl-mcp”], “env”: { “FIRECRAWL_API_KEY”: “YOUR-API-KEY” } } } }



在游标中配置Firecrawl MCP **v0.45.6**


1. 打开光标设置
2. 转到功能>MCP服务器
3. 点击“+添加新MCP服务器”
4. 输入以下内容:

- 名称:“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](https://www.firecrawl.dev/app/api-keys)


添加后,刷新MCP服务器列表以查看新工具。Composer代理将在适当的时候自动使用Firecrawl MCP,但您可以通过描述您的网络抓取需求来明确请求它。通过Command+L(Mac)访问Composer,选择提交按钮旁边的“Agent”,然后输入您的查询。


### 在风帆上跑步


将此添加到您的 `./codeium/windsurf/model_config.json`:


JSON```
1
2
3
4
5
6
7
8
9
10
11{
  "mcpServers": {
    "mcp-server-firecrawl": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": {
        "FIRECRAWL_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

以流式HTTP本地模式运行

要在本地使用Streamable HTTP而不是默认的stdio传输运行服务器:

BASH``` 1env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp


使用网址:[http://localhost:3000/mcp](http://localhost:3000/mcp)


### 通过Smithery安装(传统)


通过以下方式自动安装克劳德桌面版Firecrawl [史密瑟里](https://smithery.ai/server/@mendableai/mcp-server-firecrawl):


BASH```
1npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude

在VS代码上运行

对于一键安装,请单击下面的安装按钮之一。…

对于手动安装,请将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P 和打字 Preferences: Open User Settings (JSON).

JSON``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21{ “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` 在您的工作空间中。这将允许您与他人共享配置:


JSON```
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19{
  "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使用:

BASH``` 1 2 3 4 5 6 7 8 9 10# 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


对于自托管实例:


BASH```
1
2
3
4
5
6
7# 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:

JSON``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17{ “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” } } } }


### 系统配置


服务器包括几个可配置的参数,可以通过环境变量进行设置。以下是未配置的默认值:


TYPESCRIPT```
1
2
3
4
5
6
7
8
9
10
11
12const 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
  },
};

这些配置控制:

  1. 重试行为
  • 由于速率限制,自动重试失败的请求

  • 使用指数退避来避免压倒API

  • 示例:在默认设置下,将尝试在以下位置重试:

  • 第一次重试:1秒延迟

  • 第二次重试:延迟2秒

  • 第三次重试:延迟4秒(上限为maxDelay)

  1. 信贷使用监控
  • 跟踪云API使用的API信用消费

  • 在指定阈值时提供警告

  • 有助于防止意外的服务中断

  • 示例:使用默认设置:

  • 剩余1000学分时发出警告

  • 剩余100学分时出现严重警报

速率限制和批处理

服务器利用Firecrawl的内置速率限制和批处理功能:

  • 具有指数回退的自动速率限制处理
  • 批量操作的高效并行处理
  • 智能请求排队和限制
  • 暂时性错误的自动重试

如何选择工具

使用本指南为您的任务选择合适的工具:

  • 如果你知道你想要的确切网址:

  • 第一:使用 刮擦 (结构化数据采用JSON格式)

  • 对于许多人:使用 batch_scrape

  • 如果您需要在网站上查找URL: 使用 地图

  • 如果你想在网上搜索信息: 使用 搜索

  • 如果您需要对多个未知来源进行复杂的研究: 使用 代理

  • 如果你想分析整个网站或部分: 使用 爬行 (有限制!)

  • 如果您需要交互式浏览器自动化 (单击、键入、导航):使用 刮擦 + 互动

  • 如果您需要原始CDP浏览器会话 (高级):使用 浏览器 (已弃用)

快速参考表

工具最适合退货
scratch单页内容JSON(首选)或markdown
interview与抓取的页面交互执行结果
batch_scrape多个已知URLJSON(首选)或markdown[]
map发现网站上的URLURL[]
抓取多页提取(有限制)markdown/html[]
search网络搜索信息结果[]
agent复杂的多源研究JSON(结构化数据)
浏览器交互式多步自动化(已弃用)与实时浏览器的会话

格式选择指南

使用时 scrapebatch_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格式-首选):

JSON``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19{ “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格式-需要完整内容时):**


JSON```
1
2
3
4
5
6
7
8{
  "name": "firecrawl_scrape",
  "arguments": {
    "url": "https://example.com/article",
    "formats": ["markdown"],
    "onlyMainContent": true
  }
}

使用示例(品牌格式-提取品牌标识):

JSON``` 1 2 3 4 5 6 7{ “name”: “firecrawl_scrape”, “arguments”: { “url”: “https://example.com”, “formats”: [“branding”] } }


**品牌格式:** 提取全面的品牌标识(颜色、字体、排版、间距、徽标、UI组件),用于设计分析或风格复制。


**退货:**


- JSON结构化数据、markdown、品牌配置文件或指定的其他格式。


### 2.批量报废工具(`firecrawl_batch_scrape`)


通过内置的速率限制和并行处理,高效地抓取多个URL。


**最适合:**


- 当您确切地知道要抓取哪些页面时,从多个页面中检索内容。


**不建议用于:**


- 发现网址(如果你不知道网址,请先使用地图)
- 刮擦一页(使用刮擦)


**常见错误:**


- 同时使用具有太多URL的batch_scrape(可能会达到速率限制或令牌溢出)


**提示示例:**


> 获取这三篇博客文章的内容:[url1,url2,url3]


**使用示例:**


JSON```
1
2
3
4
5
6
7
8
9
10{
  "name": "firecrawl_batch_scrape",
  "arguments": {
    "urls": ["https://example1.com", "https://example2.com"],
    "options": {
      "formats": ["markdown"],
      "onlyMainContent": true
    }
  }
}

退货:

  • 响应包括用于状态检查的操作ID:

JSON``` 1 2 3 4 5 6 7 8 9{ “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`)


检查批处理操作的状态。


JSON```
1
2
3
4
5
6{
  "name": "firecrawl_check_batch_status",
  "arguments": {
    "id": "batch_1"
  }
}

4.地图工具(firecrawl_map)

绘制网站地图以发现网站上的所有索引URL。

最适合:

  • 在决定抓取什么之前,先在网站上发现网址
  • 查找网站的特定部分

不建议用于:

  • 当你已经知道你需要哪个特定的URL时(使用scratch或batch_scrape)
  • 当您需要页面内容时(使用映射后的抓取)

常见错误:

  • 使用爬网而不是映射来发现URL

提示示例:

“列出example.com上的所有URL。”

使用示例:

JSON``` 1 2 3 4 5 6{ “name”: “firecrawl_map”, “arguments”: { “url”: “https://example.com” } }


**退货:**


- 在网站上找到的URL数组


### 5.搜索工具(`firecrawl_search`)


搜索网络,并可选择从搜索结果中提取内容。


**最适合:**


- 在不知道哪个网站有信息的情况下,在多个网站上查找特定信息。
- 当您需要查询最相关的内容时


**不建议用于:**


- 当你已经知道要抓取哪个网站时(使用抓取)
- 当您需要对单个网站进行全面覆盖时(使用地图或抓取)


**常见错误:**


- 对开放式问题使用爬行或地图(改用搜索)


**使用示例:**


JSON```
1
2
3
4
5
6
7
8
9
10
11
12
13{
  "name": "firecrawl_search",
  "arguments": {
    "query": "latest AI research papers 2023",
    "limit": 5,
    "lang": "en",
    "country": "us",
    "scrapeOptions": {
      "formats": ["markdown"],
      "onlyMainContent": true
    }
  }
}

退货:

  • 搜索结果数组(包含可选的抓取内容)

提示示例:

“查找2023年发表的关于人工智能的最新研究论文。”

6.爬行工具(firecrawl_crawl)

在网站上启动异步爬网作业,并从所有页面中提取内容。

最适合:

  • 当您需要全面覆盖时,从多个相关页面中提取内容。

不建议用于:

  • 从单个页面提取内容(使用抓取)
  • 当关注令牌限制时(使用map+batch_scrape)
  • 当你需要快速的结果时(爬行可能很慢)

警告: 爬网响应可能非常大,并可能超过令牌限制。限制抓取深度和页数,或使用map+batch_scrape进行更好的控制。

常见错误:

  • 设置限制或maxDepth太高(导致令牌溢出)
  • 对单个页面使用爬网(改用抓取)

提示示例:

从example.com/blog的前两个级别获取所有博客文章。”

使用示例:

JSON``` 1 2 3 4 5 6 7 8 9 10{ “name”: “firecrawl_crawl”, “arguments”: { “url”: “https://example.com/blog/*”, “maxDepth”: 2, “limit”: 100, “allowExternalLinks”: false, “deduplicateSimilarURLs”: true } }


**退货:**


- 响应包括用于状态检查的操作ID:


JSON```
1
2
3
4
5
6
7
8
9{
  "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)

检查爬网作业的状态。

JSON``` 1 2 3 4 5 6{ “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服务。
**提示示例:**


> 从这些产品页面中提取产品名称、价格和描述


**使用示例:**


JSON```
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20{
  "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
  }
}

退货:

  • 根据模式定义提取结构化数据

JSON``` 1 2 3 4 5 6 7 8 9 10 11 12 13{ “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` 检查何时完成并检索结果。


**异步工作流:**


1. 呼叫 `firecrawl_agent` 根据您的提示/模式→ 返回作业ID
2. 在代理研究的同时做其他工作(复杂的查询可能需要几分钟)
3. 投票 `firecrawl_agent_status` 使用作业ID检查进度
4. 当状态为“完成”时,响应包括提取的数据


**最适合:**


- 复杂的研究任务,你不知道确切的网址
- 多源数据收集
- 查找分散在网络上的信息
- 在等待结果的同时可以做其他工作的任务


**不建议用于:**


- 在知道URL的地方进行简单的单页抓取(使用JSON格式的抓取-更快、更便宜)


**论据:**


- `prompt`:所需数据的自然语言描述(必填,最多10000个字符)
- `urls`:可选的URL数组,用于将代理集中在特定页面上
- `schema`:结构化输出的可选JSON模式


**提示示例:**


> “查找Firecrawl的创始人及其背景”


**使用示例(启动代理,然后轮询结果):**


JSON```
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22{
  "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专注于特定页面):

JSON``` 1 2 3 4 5 6 7{ “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秒一次),直到状态为“完成”或“失败”。


JSON```
1
2
3
4
5
6{
  "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)

使用示例:

JSON``` 1 2 3 4 5 6 7{ “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与代理浏览器命令一起使用** (预装在每个沙箱中):


JSON```
1
2
3
4
5
6
7
8{
  "name": "firecrawl_browser_execute",
  "arguments": {
    "sessionId": "session-id-here",
    "code": "agent-browser open https://example.com",
    "language": "bash"
  }
}

常见的代理浏览器命令:

命令描述
agent-browser open <url>导航到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:

JSON``` 1 2 3 4 5 6 7 8{ “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` 相反。


列出浏览器会话,可选择按状态筛选。


JSON```
1
2
3
4
5
6{
  "name": "firecrawl_browser_list",
  "arguments": {
    "status": "active"
  }
}

14.浏览器删除(firecrawl_browser_delete)–已弃用

已弃用: 更喜欢 firecrawl_scrape + firecrawl_interact 相反。

销毁浏览器会话。

JSON``` 1 2 3 4 5 6{ “name”: “firecrawl_browser_delete”, “arguments”: { “sessionId”: “session-id-here” } }


## 日志系统


服务器包括全面的日志记录:


- 运行状态和进度
- 性能指标
- 信贷使用监控
- 速率限制跟踪
- 错误条件


日志消息示例:

1 2 3 4 5[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…


## 错误处理


服务器提供强大的错误处理:


- 暂时性错误的自动重试
- 带回退的速率限制处理
- 详细的错误消息
- 信用额度使用警告
- 网络弹性


错误响应示例:


JSON```
1
2
3
4
5
6
7
8
9{
  "content": [
    {
      "type": "text",
      "text": "Error: Rate limit exceeded. Retrying in 2 seconds..."
    }
  ],
  "isError": true
}

发展

BASH``` 1 2 3 4 5 6# Install dependencies npm install

Build

npm run build

Run tests

npm test


### 贡献


1. 分叉存储库
2. 创建功能分支
3. 运行测试: `npm test`
4. 提交拉取请求


### 感谢贡献者


多亏了 [@弗克内塔](https://github.com/vrknetha), [@cawstudios](https://caw.tech) 为了初步实施!


感谢MCP.so和Klavis AI的托管和 [@gstarwd](https://github.com/gstarwd), [@xiangkaiz](https://github.com/xiangkaiz) 和 [@ 齐豪林96](https://github.com/zihaolin96) 为了整合我们的服务器。


## 许可证


MIT许可证-有关详细信息,请参阅许可证文件