Crawlab MCP Server
一个模型上下文协议服务器,允许人工智能应用程序通过自然语言与 Crawlab 的功能进行交互,从而实现爬虫管理、任务执行和文件操作。
README
Crawlab MCP 服务器
这是一个 Crawlab 的模型上下文协议 (MCP) 服务器,允许 AI 应用程序与 Crawlab 的功能进行交互。
概述
MCP 服务器提供了一种标准化的方式,供 AI 应用程序访问 Crawlab 的功能,包括:
- 爬虫管理(创建、读取、更新、删除)
- 任务管理(运行、取消、重启)
- 文件管理(读取、写入)
- 资源访问(爬虫、任务)
架构
MCP 服务器/客户端架构促进了 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 external;
class Client,Server internal;
%% Flow annotations
LLM -.-> |工具调用| Client
Client -.-> |执行工具调用| Server
Server -.-> |API 请求| Crawlab
Crawlab -.-> |API 响应| Server
Server -.-> |工具结果| Client
Client -.-> |人类可读的响应| User
classDef external fill:#f9f9f9,stroke:#333,stroke-width:1px;
classDef internal fill:#d9edf7,stroke:#31708f,stroke-width:1px;
通信流程
- 用户查询: 用户向 MCP 客户端发送自然语言查询
- LLM 处理: 客户端将查询转发给 LLM 提供商(例如,Claude、OpenAI)
- 工具选择: LLM 识别必要的工具并生成工具调用
- 工具执行: 客户端将工具调用发送到 MCP 服务器
- API 交互: 服务器执行相应的 Crawlab API 请求
- 响应生成: 结果通过服务器流回客户端到 LLM
- 用户响应: 客户端将最终的人类可读响应传递给用户
安装和使用
选项 1:作为 Python 包安装
您可以将 MCP 服务器作为 Python 包安装,它提供了一个方便的 CLI:
# 从源代码安装
pip install -e .
# 或者从 GitHub 安装(如果可用)
# pip install git+https://github.com/crawlab-team/crawlab-mcp-server.git
安装后,您可以使用 CLI:
# 启动 MCP 服务器
crawlab_mcp-mcp server [--spec PATH_TO_SPEC] [--host HOST] [--port PORT]
# 启动 MCP 客户端
crawlab_mcp-mcp client SERVER_URL
选项 2:本地运行
前提条件
- Python 3.8+
- Crawlab 实例正在运行且可访问
- 来自 Crawlab 的 API 令牌
配置
-
将
.env.example
文件复制到.env
:cp .env.example .env
-
使用您的 Crawlab API 详细信息编辑
.env
文件:CRAWLAB_API_BASE_URL=http://your-crawlab-instance:8080/api CRAWLAB_API_TOKEN=your_api_token_here
本地运行
-
安装依赖项:
pip install -r requirements.txt
-
运行服务器:
python server.py
使用 Docker 运行
-
构建 Docker 镜像:
docker build -t crawlab-mcp-server .
-
运行容器:
docker run -p 8000:8000 --env-file .env crawlab-mcp-server
与 Docker Compose 集成
要将 MCP 服务器添加到您现有的 Crawlab Docker Compose 设置中,请将以下服务添加到您的 docker-compose.yml
:
services:
# ... 现有的 Crawlab 服务
mcp-server:
build: ./backend/mcp-server
ports:
- "8000:8000"
environment:
- CRAWLAB_API_BASE_URL=http://backend:8000/api
- CRAWLAB_API_TOKEN=your_api_token_here
depends_on:
- backend
与 AI 应用程序一起使用
MCP 服务器使 AI 应用程序能够通过自然语言与 Crawlab 交互。 按照上面的架构图,以下是如何使用 MCP 系统:
设置连接
- 启动 MCP 服务器: 确保您的 MCP 服务器正在运行且可访问
- 配置 AI 客户端: 将您的 AI 应用程序连接到 MCP 服务器
示例:与 Claude Desktop 一起使用
- 打开 Claude Desktop
- 转到 Settings > MCP Servers
- 添加一个新服务器,其 URL 为您的 MCP 服务器(例如,
http://localhost:8000
) - 在与 Claude 的对话中,您现在可以通过用自然语言描述您想做什么来使用 Crawlab 功能
示例交互
根据我们的架构,以下是与系统的示例交互:
创建爬虫:
用户: "创建一个名为 'Product Scraper' 的新爬虫,用于电子商务项目"
↓
LLM 识别意图并调用 create_spider 工具
↓
MCP 服务器执行对 Crawlab 的 API 调用
↓
创建爬虫,并将详细信息返回给用户
运行任务:
用户: "在所有可用节点上运行 'Product Scraper' 爬虫"
↓
LLM 使用适当的参数调用 run_spider 工具
↓
MCP 服务器将命令发送到 Crawlab API
↓
任务启动,并将确认信息返回给用户
可用命令
您可以使用如下的自然语言命令与系统交互:
- "列出我所有的爬虫"
- "创建一个具有以下规格的新爬虫..."
- "显示名为 X 的爬虫的代码"
- "使用此代码更新爬虫 X 中的文件 main.py..."
- "运行爬虫 X 并在完成后通知我"
- "显示爬虫 X 上次运行的结果"
可用资源和工具
这些是支持自然语言交互的底层工具:
资源
spiders
: 列出所有爬虫tasks
: 列出所有任务
工具
爬虫管理
get_spider
: 获取特定爬虫的详细信息create_spider
: 创建一个新的爬虫update_spider
: 更新现有的爬虫delete_spider
: 删除一个爬虫
任务管理
get_task
: 获取特定任务的详细信息run_spider
: 运行一个爬虫cancel_task
: 取消正在运行的任务restart_task
: 重启一个任务get_task_logs
: 获取任务的日志
文件管理
get_spider_files
: 列出爬虫的文件get_spider_file
: 获取特定文件的内容save_spider_file
: 将内容保存到文件
推荐服务器

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mult-fetch-mcp-server
一个多功能的、符合 MCP 规范的网页内容抓取工具,支持多种模式(浏览器/Node)、格式(HTML/JSON/Markdown/文本)和智能代理检测,并提供双语界面(英语/中文)。
AIO-MCP Server
🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。
Knowledge Graph Memory Server
为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。
Hyperbrowser
欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:
https://github.com/Streen9/react-mcp
react-mcp 与 Claude Desktop 集成,能够根据用户提示创建和修改 React 应用程序。

any-chat-completions-mcp
将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。
Exa MCP Server
一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。