爬虫实验室 MCP 服务器是专为爬虫实验室(Crawlab)设计的模型上下文协议(MCP)服务器,它能让 AI 应用程序与 Crawlab 的各项功能进行交互,为数据抓取和管理提供了便捷的途径。
MCP 服务器提供了一种标准方式,供 AI 应用程序访问 Crawlab 的功能,包括爬虫管理、任务管理、文件管理和资源访问等。以下是使用前的安装与配置步骤:
pip install crawlab-mcp-server
crawlab init_db
uvicorn --host 0.0.0.0 --port 8000 crawlab_mcp_server.app:app
MCP 服务器允许 AI 应用程序与 Crawlab 的功能交互,其提供的标准访问方式涵盖了以下主要功能:
MCP Server/Client 架构实现了 AI 应用程序与 Crawlab 之间的通信,具体架构图如下:
graph TB
User[用户] --> Client[MCP 客户端]
Client --> LLM[LLM 提供商]
Client <--> Server[MCP 服务器]
Server <--> Crawlab[Crawlab API]
subgraph "MCP 系统"
Client
Server
end
subgraph "Crawlab 系统"
Crawlab
DB[(数据库)]
Crawlab <--> DB
end
class User,LLM,Crawlab,DB 外部;
class Client,Server 内部;
%% 流注释
LLM -.-> |工具调用| Client
Client -.-> |执行工具调用| Server
Server -.-> |API 请求| Crawlab
Crawlab -.-> |API 响应| Server
Server -.-> |工具结果| Client
Client -.-> |人类可读的响应| User
classDef 外部 fill:#f9f9f9,stroke:#333,stroke-width:1px;
classDef 内部 fill:#d9edf7,stroke:#31708f,stroke-width:1px;
用户:创建一个名为“产品抓取器”的新爬虫,用于电子商务项目。
↓
LLM 调用 create_spider 工具
↓
MCP 服务器向 Crawlab API 发送命令
↓
爬虫创建完成并返回详细信息给用户
用户:运行“产品抓取器”爬虫在所有可用节点上。
↓
LLM 调用 run_spider 工具
↓
MCP 服务器向 Crawlab API 发送命令
↓
任务启动并确认返回给用户
用户可以通过自然语言与系统交互,例如:
以下是支持自然语言交互的底层工具:
spiders:列出所有爬虫。tasks:列出所有任务。get_spider:获取特定爬虫的详细信息。create_spider:创建新爬虫。update_spider:更新现有爬虫。delete_spider:删除爬虫。get_task:获取特定任务的详细信息。run_spider:运行爬虫。cancel_task:取消正在运行的任务。restart_task:重启任务。get_task_logs:获取任务日志。