项目简介
'mcp-tasks' 是一个基于 Model Context Protocol (MCP) 构建的AI代理任务管理系统。它允许您通过Markdown文件管理开发任务,并让AI代理执行这些任务。与传统待办工具不同,'mcp-tasks' 将任务规划与执行相结合,使AI代理不仅能跟踪任务,还能实际完成任务,并支持任务持久化、类别组织、故事流开发、审计跟踪和灵活的工作流。
主要功能点
- 持久化任务管理: 任务以EDN文件形式存储,跨会话保留,确保任务状态和上下文的连续性。
- 类别组织: 支持按类型(如功能、错误修复、重构)对任务进行分组,并可为每个类别定义自定义执行策略。
- 故事流开发: 能够将大型功能(“故事”)分解为多个相关子任务,并提供细化和顺序执行的工作流支持。
- 审计跟踪: 自动归档已完成的任务,并保留完整的上下文,便于后续审查和追溯。
- Git集成: 可选地将任务仓库初始化为Git仓库,实现任务历史的版本控制,独立于项目代码库。
- CLI工具: 提供独立的命令行接口,方便用户直接在终端管理任务,无需依赖MCP客户端。
- MCP资源暴露: 将任务执行提示作为MCP资源暴露,支持高级的提示组合和检查,以及与其他MCP工具的集成。
安装步骤
- 安装Clojure: 确保您的系统已安装Clojure。您可以访问 Clojure官方网站 获取安装指南。
- 添加依赖别名: 在您的 '~/.clojure/deps.edn' 文件中添加 'mcp-tasks' 别名。如果文件不存在,请创建它。
{:aliases {:mcp-tasks {:replace-paths [] :replace-deps {org.hugpduncan/mcp-tasks {:git/url "https://github.com/hugoduncan/mcp-tasks" :git/sha "2d82cffb53e3f03deced02365f5be314c7377f0b"} org.clojure/clojure {:mvn/version "1.12.3"}} :exec-fn mcp-tasks.main/start}}}- 注意: ':git/sha' 可能会随项目更新而变化,请访问项目仓库获取最新的'sha'值。
- 初始化任务目录: 在您的项目根目录或期望的任务管理目录中创建必要的任务存储结构:
mkdir -p .mcp-tasks/prompts - 可选:Git初始化: 如果您希望对任务历史进行版本控制,可以进入 '.mcp-tasks' 目录并将其初始化为一个Git仓库:
cd .mcp-tasks && git init && git commit --allow-empty -m "Initialize task tracking" && cd ..
服务器配置 (供MCP客户端使用)
MCP客户端(如Claude Code, Claude Desktop)需要配置服务器的启动命令和参数,以便连接到 'mcp-tasks' 服务。以下是配置示例:
{ "name": "mcp-tasks", "command": "clojure", "args": ["-X:mcp-tasks"], "description": "一个用于AI代理的任务管理系统,提供任务规划和执行能力。" }
- 'name': 服务器在MCP客户端界面显示的名称,建议使用 'mcp-tasks'。
- 'command': 启动 'mcp-tasks' 服务的可执行命令,这里是 'clojure'。
- 'args': 传递给 'command' 的参数列表。'-X:mcp-tasks' 是在您的 'deps.edn' 文件中定义的别名,它会启动 'mcp-tasks.main/start' 函数,从而启动 'mcp-tasks' 服务。
- 'description': 服务器的简要描述,用于客户端显示。
基本使用方法
- 通过MCP客户端连接: 在您的MCP客户端(例如Claude Code)中,完成上述服务器配置后,客户端将能够自动连接并使用 'mcp-tasks' 服务。
- 添加任务: 在MCP客户端中,使用 'add-task' 工具来添加新任务。您需要指定任务的类别 ('category') 和标题 ('title')。
- 示例: 在Claude Code中,调用 'add-task' 工具,并设置参数 'category: "simple"', 'title: "为项目添加README徽章"'。
- 执行任务: 使用 '/mcp-tasks:next-<category>' 命令让AI代理执行指定类别的下一个未完成任务。
- 示例: '/mcp-tasks:next-simple' 将触发AI代理执行一个简单的任务。代理会读取任务详情、分析项目上下文、实施解决方案、提交代码更改,并将任务自动标记为完成并归档。
- 命令行界面 (CLI) 使用: 'mcp-tasks' 也提供了一个独立的命令行接口,可以直接在终端管理任务,无需通过MCP客户端:
- 添加任务: 'clojure -M:cli add --category simple --title "优化数据库查询"'
- 列出任务: 'clojure -M:cli list --status open --format human'
- 完成任务: 'clojure -M:cli complete --task-id 1'
信息
分类
开发者工具