项目简介

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) 来与其交互,遵循特定的任务管理工作流:

  1. 规划任务: AI 接收用户请求后,调用 'plan_task' 工具来创建新的请求条目,并将其分解为初始的任务和子任务列表。工具会返回一个 'requestId'。
  2. 获取下一个任务: AI 调用 'get_next_task' 工具并提供 'requestId'。服务器会返回下一个待办任务的信息。
  3. 执行任务/子任务: AI 根据任务/子任务描述执行所需的操作。如果任务有子任务,AI 需要先完成所有子任务。
  4. 标记子任务完成: 如果任务有子任务,AI 在完成每个子任务后调用 'mark_subtask_done' 工具。
  5. 标记任务完成: 在任务(及其所有子任务)完成后,AI 调用 'mark_task_done' 工具。注意: 调用此工具后,AI 必须等待用户审批,不能直接获取下一个任务。
  6. 用户审批: 用户审查已完成的任务,并通过客户端触发审批操作(客户端通常会调用服务器内部的 'approve_task_completion' 工具,这个工具可能不直接暴露给AI,而是由客户端UI驱动)。AI 在获得审批后才能继续。
  7. 循环: AI 在获得任务审批后,再次调用 'get_next_task' 获取下一个待办任务,重复步骤 2-6。
  8. 请求完成: 当所有任务都标记为完成且通过审批后,'get_next_task' 会指示整个请求已完成,等待最终审批。用户通过客户端触发最终请求审批(可能调用 'approve_request_completion' 工具)。

AI助手应理解这些工具的功能和工作流程描述,以便正确地与 TaskFlow MCP 服务器交互。其他工具(如 'add_tasks_to_request', 'update_task', 'export_task_status' 等)可以在工作流程中的适当时候调用,以修改任务计划、获取详情或导出状态。

信息

分类

生产力应用