项目简介
TaskFlow MCP 是一个基于 Model Context Protocol (MCP) 构建的任务管理服务器,专为AI助手设计。它使AI能够将复杂的请求分解为可管理的任务和子任务,跟踪其执行状态,并集成强制性的用户审批步骤,确保用户对AI的工作流程和成果保持控制。
主要功能点
- 任务分解与规划: 将用户请求拆解为结构化的任务和子任务列表。
- 进度跟踪: 实时追踪任务、子任务和整个请求的完成状态。
- 用户审批流程: 在任务完成和请求完成后强制要求用户进行审批。
- 数据持久化: 将任务和请求数据保存到文件中,确保跨会话的持久性。
- 任务管理: 支持添加、更新、删除任务和子任务。
- 详细信息与报告: 查看任务详情,生成任务状态报告(支持Markdown, JSON, HTML格式)。
- 依赖与笔记: 记录项目和任务相关的依赖项和重要笔记。
安装步骤
TaskFlow MCP 是一个Node.js应用,可以通过 npm 或 yarn 进行安装。
全局安装 (推荐):
npm install -g @pinkpixel/taskflow-mcp
或使用 yarn:
yarn global add @pinkpixel/taskflow-mcp
安装后,'taskflow-mcp' 命令将在您的终端中可用。
本地安装:
npm install @pinkpixel/taskflow-mcp
或使用 yarn:
yarn add @pinkpixel/taskflow-mcp
本地安装后,可以使用 'npx taskflow-mcp' 或 'yarn taskflow-mcp' 命令运行。
MCP 服务器配置 (供MCP客户端参考)
TaskFlow MCP 服务器需要由您的 MCP 客户端启动。您需要在 MCP 客户端的配置文件中指定如何启动此服务器。典型的配置(如 'mcp_config.json' 文件中)如下:
{ "mcpServers": { "taskflow": { "command": "npx", "args": ["-y", "@pinkpixel/taskflow-mcp"], // 使用 npx 启动 TaskFlow MCP "env": { "TASK_MANAGER_FILE_PATH": "/path/to/tasks.json" // 可选:指定任务数据文件的保存路径,默认为用户文档目录下的 tasks.json } } } // ... 其他 MCP 客户端配置 }
- 'mcpServers': 客户端配置中定义 MCP 服务器的字段。
- 'taskflow': 您为此服务器指定的唯一名称。
- 'command': 启动服务器进程的命令。这里使用 'npx'。
- 'args': 传递给命令的参数。'-y' 允许 npx 自动安装包,'@pinkpixel/taskflow-mcp' 是要运行的包名。
- 'env': 可选的环境变量,例如用于指定数据文件路径。
基本使用方法 (供AI助手调用)
AI助手通过调用 TaskFlow MCP 服务器暴露的 工具 (Tools) 来与其交互,遵循特定的任务管理工作流:
- 规划任务: AI 接收用户请求后,调用 'plan_task' 工具来创建新的请求条目,并将其分解为初始的任务和子任务列表。工具会返回一个 'requestId'。
- 获取下一个任务: AI 调用 'get_next_task' 工具并提供 'requestId'。服务器会返回下一个待办任务的信息。
- 执行任务/子任务: AI 根据任务/子任务描述执行所需的操作。如果任务有子任务,AI 需要先完成所有子任务。
- 标记子任务完成: 如果任务有子任务,AI 在完成每个子任务后调用 'mark_subtask_done' 工具。
- 标记任务完成: 在任务(及其所有子任务)完成后,AI 调用 'mark_task_done' 工具。注意: 调用此工具后,AI 必须等待用户审批,不能直接获取下一个任务。
- 用户审批: 用户审查已完成的任务,并通过客户端触发审批操作(客户端通常会调用服务器内部的 'approve_task_completion' 工具,这个工具可能不直接暴露给AI,而是由客户端UI驱动)。AI 在获得审批后才能继续。
- 循环: AI 在获得任务审批后,再次调用 'get_next_task' 获取下一个待办任务,重复步骤 2-6。
- 请求完成: 当所有任务都标记为完成且通过审批后,'get_next_task' 会指示整个请求已完成,等待最终审批。用户通过客户端触发最终请求审批(可能调用 'approve_request_completion' 工具)。
AI助手应理解这些工具的功能和工作流程描述,以便正确地与 TaskFlow MCP 服务器交互。其他工具(如 'add_tasks_to_request', 'update_task', 'export_task_status' 等)可以在工作流程中的适当时候调用,以修改任务计划、获取详情或导出状态。
信息
分类
生产力应用