使用说明

项目简介

crawlab-mcp-server 是 Crawlab 爬虫平台的一个 MCP 服务器实现,旨在为 AI 应用提供一个标准化的接口,以便通过自然语言交互来操作和管理 Crawlab 的各项功能。它允许 AI 应用访问 Crawlab 的资源(如爬虫、任务)并执行工具(如创建爬虫、运行任务等)。

主要功能点

  • 资源管理: 托管和管理 Crawlab 的资源,例如爬虫 (Spiders) 和任务 (Tasks)。
  • 工具注册与执行: 提供了一系列工具 (Tools),允许 LLM 客户端调用 Crawlab API 执行各种操作,例如:
    • 爬虫管理 (创建、读取、更新、删除爬虫)
    • 任务管理 (运行、取消、重启任务)
    • 文件管理 (读取、写入爬虫文件)
  • 基于 OpenAPI 规范: 通过解析 Crawlab 的 OpenAPI 规范自动生成工具,保证接口的全面性和及时性。
  • SSE 传输协议: 使用 Server-Sent Events (SSE) 作为默认的传输协议,实现与 MCP 客户端的实时通信。
  • 易于部署: 提供 Python 包安装、本地运行和 Docker 部署等多种方式,方便用户快速搭建和集成。
  • 集成示例: 提供了与 Claude Desktop 等 AI 客户端的集成示例,展示了如何通过自然语言与 Crawlab 进行交互。
  • 任务规划: 客户端具备任务规划能力,能够处理复杂的用户查询,并将其分解为多个步骤,调用相应的工具协同完成。

安装步骤

  1. 环境准备:

    • 确保已安装 Python 3.8 或更高版本。
    • 确保 Crawlab 实例已运行并可访问。
    • 获取 Crawlab API Token。
  2. 安装 crawlab-mcp-server: 可以通过 pip 从源码安装:

    pip install -e .
  3. 配置环境变量: 复制 '.env.example' 文件并重命名为 '.env',根据实际 Crawlab 环境修改 '.env' 文件中的配置项,主要是 'CRAWLAB_API_BASE_URL' 和 'CRAWLAB_API_TOKEN'。

服务器配置

MCP 服务器可以通过命令行或 Docker 启动。以下是 MCP 客户端连接服务器时需要配置的服务器信息(JSON 格式):

{
  "serverName": "Crawlab MCP Server",
  "command": "crawlab_mcp-mcp",
  "args": [
    "server",
    "--spec", "../openapi/openapi.yaml",  // OpenAPI 规范文件路径,默认已提供
    "--host", "127.0.0.1",              // 服务器绑定的 host,默认为 127.0.0.1
    "--port", "9000"                     // 服务器监听的端口,默认为 9000
  ]
}

参数注释:

  • 'serverName': MCP 服务器的名称,可以自定义。
  • 'command': 启动 MCP 服务器的命令,这里使用 'crawlab_mcp-mcp',前提是已经安装了 'crawlab-mcp-server' Python 包。
  • 'args': 启动命令的参数列表:
    • '--spec ../openapi/openapi.yaml': 指定 OpenAPI 规范文件的路径,默认使用项目根目录下的 'openapi/openapi.yaml'。通常无需修改。
    • '--host 127.0.0.1': 指定服务器绑定的 IP 地址,默认为本地地址 '127.0.0.1'。如果需要远程访问,可以设置为服务器的公网 IP 或 '0.0.0.0' 监听所有地址。
    • '--port 9000': 指定服务器监听的端口号,默认为 '9000'。可以根据需要修改。

MCP 客户端无需修改 'args' 中的参数,除非需要更改服务器监听地址或端口。

基本使用方法

  1. 启动 MCP 服务器: 根据选择的部署方式(Python 包、本地运行或 Docker),启动 crawlab-mcp-server。例如,使用 Python 包安装方式,在命令行执行:

    crawlab_mcp-mcp server
  2. 配置 AI 客户端: 在支持 MCP 协议的 AI 客户端(如 Claude Desktop)中,添加 MCP 服务器,并配置服务器 URL。默认服务器 URL 为 'http://localhost:9000/sse'。

  3. 自然语言交互: 通过 AI 客户端,使用自然语言与 Crawlab 进行交互。例如,可以提问 "List all my spiders" 或 "Run the 'Product Scraper' spider"。

更多信息

  • 详细信息请参考仓库 README 文档和代码。
  • 可以根据需要扩展和自定义工具,以满足更复杂的需求。

信息

分类

AI与计算