shareMCP
开发文档
开发文档
shareMCP

最大的MCP服务器和客户端集合,轻松搜索和发现

资源

  • 文档
  • 指南
  • API

社区

  • 博客
  • github

关于

  • 关于我们
  • 隐私政策
  • 服务条款

© 2025 shareMCP. 保留所有权利。

    firecrawl-mcp-server

    mendableai/firecrawl-mcp-server
    mmendableai
    更新于 7/26/2025
    首页firecrawl-mcp-server

    Firecrawl MCP Server 仓库介绍

    仓库名称: firecrawl-mcp-server
    作者: mendableai
    仓库URL: 访问仓库
    描述: 官方Firecrawl MCP服务器 - 为Cursor、Claude及其他LLM客户端提供强大的网页抓取功能

    项目概述

    Firecrawl MCP Server是一个实现模型上下文协议(Model Context Protocol, MCP)的服务器项目,集成了Firecrawl以增强网页抓取能力。这一工具的开发旨在为各种大型语言模型(LLM)如Cursor和Claude提供高度自动化和智能化的网页数据获取技术。
    特别致谢 @vrknetha 和 @cawstudios 为初始实现所作贡献!

    功能特点

    Firecrawl MCP Server具备广泛的功能来优化数据抓取流程:

    • 网页抓取与动态渲染支持: 通过JavaScript渲染提高抓取效率和数据完整性。
    • 网址发现与爬取: 自动搜索并抓取可用网址,支持深层次的数据探索。
    • 内容提取与批量处理: 自动化批量数据提取,加速信息收集过程。
    • 自动重试与指数退避: 智能处理失败请求,确保抓取任务顺利完成。
    • 云端API信用监控: 监控API信用使用率,预防突发服务中断。
    • 全面的日志系统: 提供操作状态、性能指标及错误处理的详细记录。
    • 多种实例支持: 兼容云端及自托管的FireCrawl实例,灵活的部署选项。
    • 移动/桌面视图支持: 适应多种浏览器视图,确保内容显示的兼容性。
    • 智能内容过滤: 根据标签进行内容包括/排除处理,提高数据质量。

    安装说明

    使用npx运行

    通过简单的命令即可运行Firecrawl MCP Server:

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

    手动安装

    使用npm进行全局安装:

    npm install -g firecrawl-mcp
    

    在Cursor上运行

    对于Cursor的配置(需要版本0.45.6或更高):

    1. 打开Cursor设置。
    2. 导航到Features > MCP Servers。
    3. 点击“+ Add New MCP Server”。
    4. 输入以下信息:
      • Name: "firecrawl-mcp"(或您希望的名称)
      • Type: "command"
      • Command:
        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密钥。在添加后,刷新MCP服务器列表以查看新工具。Composer Agent会在适当的时候自动使用FireCrawl MCP,您也可以直接请求网页抓取,通过Command+L(Mac)访问Composer,选择提交按钮旁的“Agent”,并输入您的请求。

    在Windsurf上运行

    添加以下配置至您的
    ./codeium/windsurf/model_config.json
    :
    {
      "mcpServers": {
        "mcp-server-firecrawl": {
          "command": "npx",
          "args": ["-y", "firecrawl-mcp"],
          "env": {
            "FIRECRAWL_API_KEY": "YOUR_API_KEY_HERE"
          }
        }
      }
    }
    

    通过Smithery安装(遗留方法)

    通过Smithery自动安装适用于Claude Desktop的FireCrawl:
    npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude
    

    配置指南

    环境变量配置

    使用云端API时必需

    • FIRECRAWL_API_KEY: 您的FireCrawl API密钥
      • 使用云端API(默认)时必填
      • 使用自托管实例并配置FIRECRAWल_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",
            "FIRECRAWल_RETRY_MAX_DELAY": "30000",
            "FIRECRAW़L_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使用的信用消耗
      • 在指定阈值发出警告
      • 帮助防止突然的服务中断
      • 示例:使用默认设置:
        • 在1000信用剩余时发出警告
        • 在100信用剩余时发出严重警告

    速率限制与批量处理

    服务器利用FireCrawl的内建速率限制与批量处理功能:

    • 自动处理限速请求与指数退避
    • 高效的并行处理用于批量操作
    • 智能请求排队与调节
    • 自动重试临时错误

    可用工具

    1. 页面抓取工具 (firecrawl_scrape)

    从单一URL抓取内容,支持高级选项。

    {
      "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
      }
    }
    

    2. 批量页面抓取工具 (firecrawl_batch_scrape)

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

    {
      "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_search)

    在网络中搜索并可选提取搜索结果内容。

    {
      "name": "firecrawl_search",
      "arguments": {
        "query": "your search query",
        "limit": 5,
        "lang": "en",
        "country": "us",
        "scrapeOptions": {
          "formats": ["markdown"],
          "onlyMainContent": true
        }
      }
    }
    

    5. 爬取工具 (firecrawl_crawl)

    启动异步爬取并配置高级选项。

    {
      "name": "firecrawl_crawl",
      "arguments": {
        "url": "https://example.com",
        "maxDepth": 2,
        "limit": 100,
        "allowExternalLinks": false,
        "deduplicateSimilarURLs": true
      }
    }
    

    6. 信息提取工具 (firecrawl_extract)

    使用LLM功能从网页提取结构化信息。支持云端AI及自托管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
    }
    

    信息提取工具选项:

    • urls: 要从中提取信息的URL数组
    • prompt: 定制LLM提取的提示
    • systemPrompt: 引导LLM的系统提示
    • schema: 用于结构化数据提取的JSON schema
    • allowExternalLinks: 允许从外部链接提取
    • enableWebSearch: 启用网页搜索以获取额外上下文
    • includeSubdomains: 包含子域名进行提取

    在使用自托管实例时,提取将使用您配置的LLM。对于云端API,将使用FireCrawl管理的LLM服务。


    日志系统

    服务器包括详尽的日志记录:

    • 操作状态与进度
    • 性能指标
    • 信用使用监控
    • 速率限制跟踪
    • 错误情况

    示例日志消息:

    [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
    }
    

    开发指南

    # 安装依赖
    npm install
    
    # 编译
    npm run build
    
    # 运行测试
    npm test
    

    贡献指南

    1. Fork仓库
    2. 创建特性分支
    3. 运行测试: npm test
    4. 提交一个pull request

    许可证

    本项目采用MIT许可证,详见LICENSE文件以获取更多信息。

    关于 firecrawl-mcp-server
    Firecrawl MCP Server集成了网络爬虫功能,支持与大语言模型交互,提供数据抓取和信息提取服务。

    部署安装命令:

    服务统计

    1810查看次数
    234使用人数
    85质量评分
    无状态服务
    安装难度: 简单
    部署环境: 云端/本地
    服务特性
    网络爬虫
    信息提取
    无状态

    相关MCP

    查看更多

    mzxrai_mcp-openai

    此MCP服务器整合了OpenAI的多个模型,提供简单的消息传递界面,支持从Claude应用程序中调用这些模型。

    查看详情

    mcp-coingecko-server

    这是一个用于与Coingecko Pro API交互的MCP服务器,提供加密货币信息检索和历史数据服务。

    查看详情