MCP Server Firecrawl

MCP Server Firecrawl

一个服务器,它使用 Firecrawl API 提供网络抓取和智能内容搜索功能,使 AI 代理能够从网站提取结构化数据并执行内容搜索。

浏览器自动化
TypeScript
访问服务器

Tools

crawl

Crawls a website starting from a base URL

map

Maps a website's structure

extract

Extracts structured data from URLs

scrape_url

Scrape content from a URL using Firecrawl API

search_content

Search content using Firecrawl API

README

Firecrawl MCP 服务器

一个用于网络抓取、内容搜索、网站爬取和数据提取的模型上下文协议 (MCP) 服务器,使用 Firecrawl API。

功能

  • 网络抓取: 从任何网页提取内容,具有可自定义的选项

    • 移动设备模拟
    • 广告和弹出窗口拦截
    • 内容过滤
    • 结构化数据提取
    • 多种输出格式
  • 内容搜索: 智能搜索功能

    • 多语言支持
    • 基于位置的结果
    • 可自定义的结果限制
    • 结构化输出格式
  • 网站爬取: 高级网络爬取功能

    • 深度控制
    • 路径过滤
    • 速率限制
    • 进度跟踪
    • 站点地图集成
  • 站点地图: 生成站点结构图

    • 子域名支持
    • 搜索过滤
    • 链接分析
    • 可视化层级结构
  • 数据提取: 从多个 URL 提取结构化数据

    • 模式验证
    • 批量处理
    • 网络搜索增强
    • 自定义提取提示

安装

# 全局安装
npm install -g @modelcontextprotocol/mcp-server-firecrawl

# 本地项目安装
npm install @modelcontextprotocol/mcp-server-firecrawl

快速开始

  1. 开发者门户 获取您的 Firecrawl API 密钥

  2. 设置您的 API 密钥:

    Unix/Linux/macOS (bash/zsh):

    export FIRECRAWL_API_KEY=your-api-key
    

    Windows (命令提示符):

    set FIRECRAWL_API_KEY=your-api-key
    

    Windows (PowerShell):

    $env:FIRECRAWL_API_KEY = "your-api-key"
    

    替代方案:使用 .env 文件(推荐用于开发):

    # 安装 dotenv
    npm install dotenv
    
    # 创建 .env 文件
    echo "FIRECRAWL_API_KEY=your-api-key" > .env
    

    然后在您的代码中:

    import dotenv from 'dotenv';
    dotenv.config();
    
  3. 运行服务器:

    mcp-server-firecrawl
    

集成

Claude 桌面应用

添加到您的 MCP 设置:

{
  "firecrawl": {
    "command": "mcp-server-firecrawl",
    "env": {
      "FIRECRAWL_API_KEY": "your-api-key"
    }
  }
}

Claude VSCode 扩展

添加到您的 MCP 配置:

{
  "mcpServers": {
    "firecrawl": {
      "command": "mcp-server-firecrawl",
      "env": {
        "FIRECRAWL_API_KEY": "your-api-key"
      }
    }
  }
}

使用示例

网络抓取

// 基本抓取
{
  name: "scrape_url",
  arguments: {
    url: "https://example.com",
    formats: ["markdown"],
    onlyMainContent: true
  }
}

// 高级提取
{
  name: "scrape_url",
  arguments: {
    url: "https://example.com/blog",
    jsonOptions: {
      prompt: "Extract article content",
      schema: {
        title: "string",
        content: "string"
      }
    },
    mobile: true,
    blockAds: true
  }
}

网站爬取

// 基本爬取
{
  name: "crawl",
  arguments: {
    url: "https://example.com",
    maxDepth: 2,
    limit: 100
  }
}

// 高级爬取
{
  name: "crawl",
  arguments: {
    url: "https://example.com",
    maxDepth: 3,
    includePaths: ["/blog", "/products"],
    excludePaths: ["/admin"],
    ignoreQueryParameters: true
  }
}

站点地图

// 生成站点地图
{
  name: "map",
  arguments: {
    url: "https://example.com",
    includeSubdomains: true,
    limit: 1000
  }
}

数据提取

// 提取结构化数据
{
  name: "extract",
  arguments: {
    urls: ["https://example.com/product1", "https://example.com/product2"],
    prompt: "Extract product details",
    schema: {
      name: "string",
      price: "number",
      description: "string"
    }
  }
}

配置

有关详细的设置选项,请参阅 配置指南

API 文档

有关详细的端点规范,请参阅 API 文档

开发

# 安装依赖
npm install

# 构建
npm run build

# 运行测试
npm test

# 在开发模式下启动
npm run dev

示例

查看 示例 目录以获取更多使用示例:

错误处理

服务器实现了强大的错误处理:

  • 具有指数退避的速率限制
  • 自动重试
  • 详细的错误消息
  • 调试日志

安全

  • API 密钥保护
  • 请求验证
  • 域名允许列表
  • 速率限制
  • 安全的错误消息

贡献

有关贡献指南,请参阅 CONTRIBUTING.md

许可证

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

推荐服务器

Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Playwright MCP Server

Playwright MCP Server

提供一个利用模型上下文协议的服务器,以实现类人浏览器的自动化,该服务器使用 Playwright,允许控制浏览器行为,例如导航、元素交互和滚动。

精选
本地
TypeScript
@kazuph/mcp-fetch

@kazuph/mcp-fetch

用于获取网页内容和处理图像的模型上下文协议服务器。这使得 Claude Desktop(或任何 MCP 客户端)能够适当地获取网页内容和处理图像。

精选
本地
JavaScript
Apple MCP Server

Apple MCP Server

通过 MCP 协议与 Apple 应用(如“信息”、“备忘录”和“通讯录”)进行交互,从而使用自然语言发送消息、搜索和打开应用内容。

精选
本地
TypeScript
DuckDuckGo MCP Server

DuckDuckGo MCP Server

一个模型上下文协议 (MCP) 服务器,通过 DuckDuckGo 提供网页搜索功能,并具有内容获取和解析的附加功能。

精选
Python
contentful-mcp

contentful-mcp

在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。

精选
TypeScript
YouTube Transcript MCP Server

YouTube Transcript MCP Server

这个服务器用于获取指定 YouTube 视频 URL 的字幕,从而可以与 Goose CLI 或 Goose Desktop 集成,进行字幕提取和处理。

精选
Python
serper-search-scrape-mcp-server

serper-search-scrape-mcp-server

这个 Serper MCP 服务器支持搜索和网页抓取,并且支持 Serper API 引入的所有最新参数,例如位置。

精选
TypeScript