bcf7cbbeea
Build and Deploy / build-and-push (push) Successful in 54s
- MCP Server is now only available via built-in /mcp endpoint or stdio - Remove --http flag and standalone HTTP server code - Simplify documentation and frontend settings
130 lines
3.9 KiB
Markdown
130 lines
3.9 KiB
Markdown
# MCP Server(Hermes / OpenClaw)
|
||
|
||
TaskPool 提供官方 **MCP Server**,让 Hermes、OpenClaw、Cursor 等 AI Agent **完整接管**任务池:任务、脚本、环境变量、执行与日志。
|
||
|
||
> OpenAPI ≠ MCP
|
||
> - **OpenAPI**:`/open2api/v1` REST 接口(设置页「启用 OpenAPI」)
|
||
> - **MCP Server**:`/mcp` HTTP 端点,把 OpenAPI 封装成 Agent 可调用的 Tools
|
||
|
||
## 前置条件
|
||
|
||
1. 启动后端服务(Docker 或 `taskpool server`)
|
||
2. 系统设置 → **启用 OpenAPI** → **生成 Token**
|
||
3. Agent 能访问面板地址(如 `http://your-server:8052`)
|
||
|
||
## 内置 MCP 端点
|
||
|
||
MCP Server 已**内置在后端服务中**,无需单独进程。启用 OpenAPI 后,MCP 端点自动可用:
|
||
|
||
```
|
||
http://your-server:8052/mcp
|
||
```
|
||
|
||
## Agent 配置
|
||
|
||
### HTTP 模式(推荐)
|
||
|
||
远程 Agent 直接访问内置端点,无需本地安装。
|
||
|
||
```json
|
||
{
|
||
"mcpServers": {
|
||
"taskpool": {
|
||
"url": "http://your-server:8052/mcp",
|
||
"headers": {
|
||
"Authorization": "Bearer 你的OpenAPI_Token"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
适用于:Hermes、OpenClaw 等支持 HTTP URL 的 Agent。
|
||
|
||
### stdio 模式
|
||
|
||
本地 Agent 需要安装 `taskpool` 二进制。
|
||
|
||
```json
|
||
{
|
||
"mcpServers": {
|
||
"taskpool": {
|
||
"command": "taskpool",
|
||
"args": ["mcp"]
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
适用于:Claude Desktop、Cursor 等只支持 stdio 的本地 Agent。
|
||
|
||
## 工具清单(Tools)
|
||
|
||
| 分类 | Tool | 说明 |
|
||
|------|------|------|
|
||
| 连通 | `ping_api` | 校验 URL + Token |
|
||
| 任务 | `list_tasks` | 分页列表/筛选 |
|
||
| 任务 | `get_task` | 详情 |
|
||
| 任务 | `create_task` | 创建 |
|
||
| 任务 | `update_task` | 更新 |
|
||
| 任务 | `delete_task` | 删除 |
|
||
| 任务 | `list_task_tags` | 标签 |
|
||
| 执行 | `run_task` | 立即执行 |
|
||
| 执行 | `stop_task` | 按 log_id 停止 |
|
||
| 执行 | `get_last_results` | 最近结果 |
|
||
| 日志 | `list_logs` | 日志列表 |
|
||
| 日志 | `get_log` | 日志详情(含输出) |
|
||
| 脚本 | `list_scripts` / `get_script` / `create_script` / `update_script` / `delete_script` | 脚本 CRUD |
|
||
| 环境变量 | `list_envs` / `list_all_envs` / `get_env` / `create_env` / `update_env` / `delete_env` | 环境变量 CRUD |
|
||
|
||
## Prompts
|
||
|
||
- `ops_overview`:巡检任务与失败日志
|
||
- `run_and_check`:执行指定任务并检查日志(参数 `task_id`)
|
||
|
||
## Skill(可选)
|
||
|
||
仓库内提供 Agent Skill 文档,便于模型按固定流程操作:
|
||
|
||
- [`skills/taskpool/SKILL.md`](../../skills/taskpool/SKILL.md)
|
||
|
||
Skill 是说明书;**真正执行依赖 MCP Tools**。两者一起用效果最好。
|
||
|
||
## 安全建议
|
||
|
||
1. Token 等同管理员 OpenAPI 权限,勿提交到 Git
|
||
2. 删除任务/脚本/环境变量前应人工确认
|
||
3. 不要对不可信网络暴露面板与 Token
|
||
4. 生产建议独立 Token,并定期轮换
|
||
|
||
## 典型对话
|
||
|
||
- 「列出所有启用的任务」→ `list_tasks`
|
||
- 「跑一下备份任务并看日志」→ `list_tasks` → `run_task` → `list_logs` → `get_log`
|
||
- 「创建一个每天凌晨执行的清理任务」→ `create_task`
|
||
- 「最近失败的任务是什么原因」→ `list_logs(status=failed)` → `get_log`
|
||
|
||
## 与项目能力的对应
|
||
|
||
参考 [项目介绍](./introduction.md) 中的能力边界:
|
||
|
||
| 面板能力 | MCP 是否覆盖 |
|
||
|----------|--------------|
|
||
| 任务调度 / 手动执行 | ✅ |
|
||
| 脚本管理 | ✅ |
|
||
| 环境变量 | ✅ |
|
||
| 执行日志 | ✅ |
|
||
| 在线终端 | ❌(WebSocket,不适合 MCP 工具化) |
|
||
| 语言环境 Mise 安装 | ❌(可后续扩展) |
|
||
| 消息推送配置 | ❌(可后续扩展) |
|
||
| 远程 Agent 节点 | 间接(任务上指定 agent 后可执行) |
|
||
|
||
## 故障排查
|
||
|
||
| 现象 | 处理 |
|
||
|------|------|
|
||
| `OpenAPI Token 未配置` | 设置页启用 OpenAPI 并生成 Token |
|
||
| `无效的 OpenAPI 令牌` | 设置页重新生成 Token |
|
||
| 连接失败 | 检查服务器地址、防火墙、容器网络 |
|
||
| Agent 看不到 tools | 确认配置正确,Token 有效 |
|