返回市场
爬虫4AI-MCP服务器

爬虫4AI-MCP服务器

作者:BjornMelin18 星标更新:2025-11-18

项目介绍

⚠️ 通知

MCP 服务器当前正在开发中
尚未准备好用于生产环境
将在可用时更新

Crawl4AI MCP 服务器

🚀 高性能的 Crawl4AI MCP 服务器 —— 使 AI 助手能够通过模型上下文协议(Model Context Protocol)访问网络抓取、爬虫和深度研究。比 FireCrawl 更快更高效!

概述

该项目实现了一个自定义的模型上下文协议(MCP)服务器,该服务器与 Crawl4AI(一个开源的网络抓取和爬虫库)集成。该服务器部署在 Cloudflare Workers 上作为远程 MCP 服务器,允许像 Claude 这样的 AI 助手访问 Crawl4AI 强大的网络抓取功能。

文档

有关此项目的详细信息,请参阅以下文档:

特性

网络数据获取

  • 🌐 单网页抓取:从单独的网页提取内容
  • 🕸️ 网络爬虫:以可配置的深度和页面限制爬取网站
  • 🗺️ URL 发现:从起始点映射和发现 URL
  • 🕸️ 异步爬虫:高效地爬取整个网站

内容处理

  • 🔍 深度研究:跨多个页面进行全面的研究
  • 📊 结构化数据提取:使用 CSS 选择器或基于 LLM 的提取方法提取特定数据
  • 🔎 内容搜索:搜索之前爬取的内容

集成与安全

  • 🔄 MCP 集成:与 MCP 客户端(如 Claude Desktop 等)无缝集成
  • 🔒 OAuth 认证:通过适当的授权进行安全访问
  • 🔒 认证选项:通过 OAuth 或 API 密钥(Bearer Token)进行安全访问
  • 高性能:优化速度和效率

项目结构

crawl4ai-mcp/
├── src/
│   ├── index.ts               # 主入口点,带有 OAuth 提供者设置
│   ├── auth-handler.ts        # 认证处理器
│   ├── mcp-server.ts          # MCP 服务器实现
│   ├── crawl4ai-adapter.ts    # Crawl4AI API 的适配器
│   ├── tool-schemas/          # MCP 工具模式定义
│   │   └── [...].ts           # 工具模式
│   ├── handlers/
│   │   ├── crawl.ts           # 网络爬虫实现
│   │   ├── search.ts          # 搜索功能
│   │   └── extract.ts         # 内容提取
│   └── utils/                 # 实用函数
├── tests/                     # 测试案例
├── .github/                   # GitHub 配置
├── wrangler.toml              # Cloudflare Workers 配置
├── tsconfig.json              # TypeScript 配置
├── package.json               # Node.js 依赖项
└── README.md                  # 项目文档

开始使用

前提条件

  • Node.js(v18 或更高版本)
  • npm
  • Wrangler(Cloudflare Workers CLI)
  • 一个 Cloudflare 账户

安装

  1. 克隆仓库:

    git clone https://github.com/BjornMelin/crawl4ai-mcp-server.git
    cd crawl4ai-mcp-server
    
  2. 安装依赖项:

    npm install
    
  3. 设置 Cloudflare KV 命名空间:

    wrangler kv:namespace create CRAWL_DATA
    
  4. 更新 wrangler.toml 中的 KV 命名空间 ID:

    kv_namespaces = [
      { binding = "CRAWL_DATA", id = "your-namespace-id" }
    ]
    

开发

本地开发

使用 NPM

  1. 启动开发服务器:

    npm run dev
    
  2. 服务器将在 http://localhost:8787 可用

使用 Docker

您也可以使用 Docker 进行本地开发,这包括 Crawl4AI API 和调试 UI:

  1. 设置环境变量:

    cp .env.example .env
    # 编辑 .env 文件中的 API 密钥
    
  2. 启动 Docker 开发环境:

    docker-compose up -d
    
  3. 访问服务:

更多详情请参阅 Docker 设置指南

测试

该项目包含使用 Jest 的全面测试套件。要运行测试:

# 运行所有测试
npm test

# 在开发期间运行监视模式下的测试
npm run test:watch

# 运行带有覆盖率报告的测试
npm run test:coverage

# 运行仅单元测试
npm run test:unit

# 运行仅集成测试
npm run test:integration

在 Docker 中运行:

docker-compose exec mcp-server npm test

部署

  1. 部署到 Cloudflare Workers:

    npm run deploy
    
  2. 您的服务器将在分配给已部署工作者的 Cloudflare Workers URL 上可用。

使用 MCP 客户端

此服务器实现了模型上下文协议,允许 AI 助手访问其工具。

认证

  • 使用 workers-oauth-provider 实现 OAuth 认证
  • 使用 Bearer Tokens 添加 API 密钥认证
  • 创建登录页面和令牌管理

连接到 MCP 客户端

  1. 使用分配给已部署工作者的 Cloudflare Workers URL
  2. 在 Claude Desktop 或其他 MCP 客户端中,将此服务器添加为工具来源

可用工具

  • crawl:从起始 URL 爬取网页
  • getCrawl:通过 ID 检索爬取数据
  • listCrawls:列出所有爬取或按域过滤
  • search:通过查询搜索索引文档
  • extract:从 URL 提取结构化内容

配置

通过修改 wrangler.toml 中的环境变量来配置服务器:

  • MAX_CRAWL_DEPTH:网络爬取的最大深度(默认值:3)
  • MAX_CRAWL_PAGES:最大爬取页面数(默认值:1 00)
  • API_VERSION:API 版本字符串(默认值:"v1")
  • OAUTH_CLIENT_ID:用于认证的 OAuth 客户端 ID
  • OAUTH_CLIENT_SECRET:用于认证的 OAuth 客户端密钥

发展路线图

该项目正在考虑这些组件进行开发:

  1. 项目设置和配置:Cloudflare Worker 设置,TypeScript 配置
  2. MCP 服务器和工具模式:实现带有工具定义的 MCP 服务器
  3. Crawl4AI 适配器:与 Crawl4AI 功能集成
  4. OAuth 认证:安全认证实现
  5. 性能优化:提高速度和可靠性
  6. 高级提取功能:改进结构化数据提取能力

贡献

欢迎贡献!请在开始功能或错误修复工作之前检查开放的问题或创建一个新的问题。请参阅 贡献指南 获取详细的指导方针。

支持

如果您遇到问题或有任何疑问:

如何引用

如果您在研究或项目中使用了 Crawl4AI MCP 服务器,请使用以下 BibTeX 条目引用它:

@software{crawl4ai_mcp_2025,
  author = {Melin, Bjorn},
  title = {Crawl4AI MCP 服务器:适用于 AI 助手的高性能网络爬虫},
  url = {https://github.com/BjornMelin/crawl4ai-mcp-server},
  version = {1.0.0},
  year = {2025},
  month = {5}
}

许可证

MIT