依赖图mcp
一个MCP工具服务器,为任务管理提供优先级感知依赖图(DAG)。建于 微型mcp.
它做什么
该服务器为AI助手(或任何MCP客户端)提供了一种结构化的方式来计划和执行具有依赖关系的任务。任务被组织为有向无环图,其中:
- 每个节点代表一个具有优先级和可选上下文(设计原理)的任务
- 边缘代表“依赖”关系
- 循环检测可防止无效的依赖链
- 有效优先反映最高优先 *未完成的* 依赖性——一旦阻断器被解决,它就会停止夸大下游优先级
- 状态更改会自动级联(例如,重新打开已完成的任务会使其依赖项无效)
工具
| 工具 | 说明 |
|---|---|
dag_create_node | 使用id、描述、优先级和可选上下文创建任务节点 |
dag_create_nodes | 从JSON数组批量创建多个节点 |
dag_add_dependency | 在现有节点之间添加依赖关系 |
dag_add_dependencies | 从JSON数组批量添加多个依赖项 |
dag_next | 获取下一个可操作的任务(优先级感知DFS),自动标记为in_process |
dag_next_batch | 最多列出n个按优先级排序的可操作任务(不自动启动) |
dag_start | 手动启动特定节点,或重新打开已完成的节点(级联无效) |
dag_done | 将任务标记为已完成 |
dag_done_batch | 将多个正在进行的任务标记为一次完成 |
dag_delete_node | 软删除节点(保留数据,支持撤消) |
dag_undelete | 还原已删除的节点 |
dag_log | 在节点的更改日志中添加注释 |
dag_status | 按状态分组的所有节点概述,包括进度百分比 |
dag_show | 显示图形结构(文本或JSON) |
dag_save | 将图形保存到JSON文件(可选自动保存) |
dag_load | 从JSON文件加载图形 |
dag_usage_guide | 返回关于操作原则的全面指南 |
任务状态
pending → in_progress → done
↑ ↑ |
| +-----------+ (via dag_start — reopens, cascades invalidation)
| |
+--- invalidated ←----+ (triggered by new dependencies or reopened deps)
deleted (soft, restorable via undelete)关键概念
- 优先级(p):用户分配的重要性(越高=越紧急)。
- 有效优先级(ep):节点及其子节点之间的最大优先级 *未完成的* 传递依赖关系。反映了“我当前的瓶颈有多热”——一旦完成依赖,它就不再对ep做出贡献。
- 上下文:任务背后的推理或背景,在创建时设置。用这个 *为什么* 任务存在。使用
dag_log为了 *发生了什么* 在执行过程中。 - 级联失效:当已完成的节点获得新的依赖关系或通过以下方式重新打开时
dag_start,它及其所有可传递依赖项都被标记为无效,表明它们需要重新验证。
建筑
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .用法
使用CLI向Claude Code注册服务器:
claude mcp add --scope user --transport stdio dependency-graph -- /path/to/build/dependency-graph-mcp这使得服务器在所有项目中都可用。使用 --scope project 而是通过项目的 .mcp.json.
您可以通过键入以下内容来验证它是否已注册 /mcp 克劳德代码内部。
需求
- C++23
- CMake 3.14+
