feat: add MCP run status query tools

This commit is contained in:
root
2026-04-07 11:17:05 +08:00
parent 7563aa8fea
commit d9173fbe0f
5 changed files with 499 additions and 3 deletions
+43 -3
View File
@@ -60,7 +60,7 @@
## 2. 后续任务队列
### [TODO][P1] 增加 MCP 状态查询接口 `get_run_status`
### [DONE][P1] 增加 MCP 状态查询接口 `get_run_status`
目标:
- 可通过 MCP 查询 run 状态
@@ -69,9 +69,23 @@
- 输入 `run_id`
- 返回 status / current_stage / completed_stages / failed_stage / artifacts / recovery
完成情况:
- 已通过 MCP 暴露 `get_run_status`
- 优先读取 `run-state.json`;对无 `run-state.json` 的历史 run 兼容基于现有 run 目录与 `run-report.json` 推断状态
- 返回补充了 `progress` / `output_dir` / `state_source`,便于 OpenClaw 稳定消费且不必手拼路径
改动文件:
- `src/summary_mcp/runtime/query_service.py`
- `src/summary_mcp/runtime/run_store.py`
- `src/summary_mcp/runtime/__init__.py`
- `src/summary_mcp/server.py`
遗留风险:
- 历史 run 若缺少 `run-state.json`,其阶段状态只能基于现有目录与 `run-report.json` 做保守推断
---
### [TODO][P1] 增加 MCP 查询接口 `list_runs`
### [DONE][P1] 增加 MCP 查询接口 `list_runs`
目标:
- 查看近期 runs
@@ -79,13 +93,39 @@
要求:
- 支持按 workflow / status / latest_n 过滤
完成情况:
- 已通过 MCP 暴露 `list_runs`
- 支持按 `workflow` / `status` / `latest_n` 过滤近期 runs
- 返回 `run_id`、`status`、`progress`、`recovery`、`output_dir` 与 `state_source`
改动文件:
- `src/summary_mcp/runtime/query_service.py`
- `src/summary_mcp/runtime/__init__.py`
- `src/summary_mcp/server.py`
遗留风险:
- 当前按文件系统扫描 `outputs/freshrss/rerun/` 聚合,规模继续增大时可能需要再评估缓存或索引,但本阶段先保持文件系统真相
---
### [TODO][P1] 增加 MCP 查询接口 `list_run_artifacts`
### [DONE][P1] 增加 MCP 查询接口 `list_run_artifacts`
目标:
- 统一列出 run 下 artifact
完成情况:
- 已通过 MCP 暴露 `list_run_artifacts`
- 对新 run 优先返回 `run-state.json` 已注册 artifacts,并补充 run 目录扫描发现的标准产物
- 对历史 run 直接基于现有 run 目录发现标准产物,保持兼容
改动文件:
- `src/summary_mcp/runtime/query_service.py`
- `src/summary_mcp/runtime/__init__.py`
- `src/summary_mcp/server.py`
遗留风险:
- 当前仅补充扫描固定的一组标准产物;未注册且不在标准集合内的调试文件不会进入稳定 artifact 列表
---
### [TODO][P1] 增加 MCP 结果读取接口 `get_delivery_payload`