返回市场
火蚁采集服务器

火蚁采集服务器

作者:firecrawl4969 星标更新:2025-11-23

项目介绍

技术文档摘要

<div align="center"> <a name="readme-top"></a> <img src="https://raw.githubusercontent.com/firecrawl/firecrawl-mcp-server/main/img/fire.png" height="140" > </div>

Firecrawl MCP Server

一个与 Firecrawl 集成的 Model Context Protocol (MCP) 服务器实现,用于网络爬取功能。

感谢 @vrknetha@knacklabs 的初始实现!

特性

  • 网络爬取、爬行和发现
  • 搜索和内容提取
  • 深度研究和批量爬取
  • 自动重试和速率限制
  • 支持云和自托管
  • 支持 SSE

MCP.so 的游乐场Klavis AI 上尝试我们的 MCP 服务器。

安装

使用 npx 运行

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

手动安装

npm install -g firecrawl-mcp

在 Cursor 上运行

配置 Cursor 🖥️ 注意:需要 Cursor 版本 0.45.6 及以上 最新的配置说明,请参阅官方 Cursor 文档中的 MCP 服务器配置指南: Cursor MCP 服务器配置指南

在 Cursor v0.48.6 中配置 Firecrawl MCP

  1. 打开 Cursor 设置
  2. 转到功能 > MCP 服务器
  3. 点击 "+ 添加新的全局 MCP 服务器"
  4. 输入以下代码:
    {
      "mcpServers": {
        "firecrawl-mcp": {
          "command": "npx",
          "args": ["-y", "firecrawl-mcp"],
          "env": {
            "FIRECRAWL_API_KEY": "YOUR-API-KEY"
          }
        }
      }
    }
    

在 Cursor v0.45.6 中配置 Firecrawl MCP

  1. 打开 Cursor 设置
  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"

用您的 Firecrawl API 密钥替换 your-api-key。如果您还没有 API 密钥,可以访问 https://www.firecrawl.dev/app/api-keys 创建账户并获取。

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

在 Windsurf 上运行

在您的 ./codeium/windsurf/model_config.json 中添加以下内容:

{
  "mcpServers": {
    "mcp-server-firecrawl": {
      "command": "npx",
      "args": ["-y", "firecrawl-mcp"],
      "env": {
        "FIRECRAWL_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

使用可流式传输的 HTTP 本地模式运行

要使用可流式传输的 HTTP 本地模式而不是默认的 stdio 传输运行服务器:

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

使用 URL:http://localhost:3000/mcp

通过 Smithery(旧版)安装

要通过 Smithery 自动安装 Firecrawl for Claude Desktop:

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

在 VS Code 上运行

单击安装按钮进行一键安装...

在 VS Code 中使用 NPX 安装 在 VS Code Insiders 中使用 NPX 安装

手动安装时,在 VS Code 的用户设置(JSON)文件中添加以下 JSON 块。可以通过按 Ctrl + Shift + P 并键入 首选项:打开用户设置(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 使用:

# 云 API 必需
export FIRECRAWL_API_KEY=your-api-key

# 可选重试配置
export FIRECRAWL_RETRY_MAX_ATTEMPTS=5        # 增加最大重试次数
export FIRECRAWL_RETRY_INITIAL_DELAY=2000    # 开始时 2 秒延迟
export FIRECRAWL_RETRY_MAX_DELAY=30000       # 最大 30 秒延迟
export FIRECRAWL_RETRY_BACKOFF_FACTOR=3      # 更激进的退避

# 可选信用监控
export FIRECRAWL_CREDIT_WARNING_THRESHOLD=2000    # 2000 信用时警告
export FIRECRAWL_CREDIT_CRITICAL_THRESHOLD=500    # 500 信用时临界

对于自托管实例:

# 自托管必需
export FIRECRAWL_API_URL=https://firecrawl.your-domain.com

# 自托管的可选身份验证
export FIRECRAWL_API_KEY=your-api-key  # 如果您的实例需要身份验证

# 自定义重试配置
export FIRECRAWL_RETRY_MAX_ATTEMPTS=10
export FIRECRAWL_RETRY_INITIAL_DELAY=500     # 开始时更快的重试

与 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, // 速率限制请求的重试次数
    initialDelay: 1000, // 第一次重试前的初始延迟(毫秒)
    maxDelay: 10000, // 重试之间的最大延迟(毫秒)
    backoffFactor: 2, // 指数退避乘数
  },
  credit: {
    warningThreshold: 1000, // 当信用使用达到此水平时发出警告
    criticalThreshold: 100, // 当信用使用达到此水平时发出临界警报
  },
};

这些配置控制:

  1. 重试行为

    • 自动重试因速率限制而失败的请求
    • 使用指数退避避免过载 API
    • 示例:默认设置下,重试将在以下时间进行:
      • 第一次重试:1 秒延迟
      • 第二次重试:2 秒延迟
      • 第三次重试:4 秒延迟(上限为 maxDelay)
  2. 信用使用监控

    • 监控云 API 使用的 API 信用
    • 在指定阈值时提供警告
    • 帮助防止意外的服务中断
    • 示例:默认设置下:
      • 剩余 1000 信用时警告
      • 剩余 100 信用时临界警报

速率限制和批处理

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

  • 自动处理速率限制并带有指数退避
  • 批量操作的高效并行处理
  • 智能请求排队和节流
  • 对瞬态错误的自动重试

如何选择工具

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

  • 如果您知道确切的 URL:
    • 单个:使用 scrape
    • 多个:使用 batch_scrape
  • 如果您需要在一个网站上发现 URL: 使用 map
  • 如果您想搜索网络上的信息: 使用 search
  • 如果您想要提取结构化数据: 使用 extract
  • 如果您想要分析整个站点或部分站点: 使用 crawl(带有限制!)

快速参考表

工具最适合返回值
scrape单页内容markdown/html
batch_scrape多个已知 URLmarkdown/html[]
map发现网站上的 URLURL[]
crawl多页提取(带有限制)markdown/html[]
search网络搜索信息results[]
extract页面中的结构化数据JSON

可用工具

1. 爬取工具 (firecrawl_scrape)

从单个 URL 爬取内容,带有高级选项。

最适合:

  • 当您确切知道哪个页面包含所需信息时,单页内容提取。

不推荐用于:

  • 从多个页面提取内容(对于已知 URL 使用 batch_scrape,或先使用 map + batch_scrape 发现 URL,或使用 crawl 获取完整页面内容)
  • 当您不确定哪个页面包含信息时(使用 search)
  • 当您需要结构化数据时(使用 extract)

常见错误:

  • 使用 scrape 处理多个 URL(应使用 batch_scrape)。

提示示例:

"获取 https://example.com 页面的内容。"

使用示例:

{
  "name": "firecrawl_scrape",
  "arguments": {
    "url": "https://example.com",
    "formats": ["markdown"],
    "onlyMainContent": true,
    "waitFor": 1000,
    "timeout": 30000,
    "mobile": false,
    "includeTags": ["article", "main"],
    "excludeTags": ["nav", "footer"],
    "skipTlsVerification": false
  }
}

返回:

  • 根据指定格式返回 Markdown、HTML 或其他格式。

2. 批量爬取工具 (firecrawl_batch_scrape)

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

最适合:

  • 当您确切知道要爬取哪些页面时,从多个页面检索内容。

不推荐用于:

  • 发现 URL(如果不知道 URL,先使用 map)
  • 爬取单个页面(使用 scrape)

常见错误:

  • 使用 batch_scrape 一次性处理过多 URL(可能会触发速率限制或令牌溢出)

提示示例:

"获取这三个博客文章的内容:[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": "批量操作已排队,ID 为:batch_1。使用 firecrawl_check_batch_status 检查进度。"
    }
  ],
  "isError": false
}

3. 检查批量状态 (firecrawl_check_batch_status)

检查批量操作的状态。

{
  "name": "firecrawl_check_batch_status",
  "arguments": {
    "id": "batch_1"
  }
}

4. 映射工具 (firecrawl_map)

映射网站以发现该网站上所有索引的 URL。

最适合:

  • 在决定要爬取什么之前,发现网站上的 URL
  • 查找网站的特定部分

不推荐用于:

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