使用说明

项目简介

MCP 任务管理器是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在帮助 AI 助手以结构化的方式处理和管理复杂的多步骤任务。它通过提供任务规划、进度跟踪、状态管理和用户审批等功能,增强了 AI 助手在执行复杂任务时的能力。

主要功能点

  • 项目和任务管理:支持创建、读取、更新、删除项目和任务,方便用户组织和跟踪工作流程。
  • 任务状态跟踪:跟踪任务的 "未开始", "进行中", "已完成" 状态,并强制执行状态转换规则,确保任务流程的规范性。
  • 用户审批:支持用户通过 CLI 审批已完成的任务和最终项目,实现人机协作的任务管理模式。
  • 工具集成:通过 MCP 协议向 LLM 客户端暴露一系列工具,用于项目和任务管理操作,方便 LLM 客户端调用和集成。
  • 数据持久化:使用 JSON 文件存储任务数据,支持自定义存储路径,确保任务数据的安全和可恢复性。

安装步骤

  1. 前提条件:确保已安装 Node.js 和 npm(Node.js 包管理器)。
  2. 克隆仓库:使用 git 命令克隆 GitHub 仓库到本地:
    git clone https://github.com/chriscarrollsmith/taskqueue-mcp.git
  3. 进入目录:导航到克隆的仓库目录:
    cd taskqueue-mcp
  4. 安装依赖:使用 npm 安装项目所需的依赖包:
    npm install
  5. 构建项目:构建 TypeScript 项目,生成可执行的 JavaScript 代码:
    npm run build

服务器配置

MCP 服务器是为 MCP 客户端设计的后端服务。您需要在 MCP 客户端(例如 Claude Desktop, Cursor 等)中配置工具,以便客户端能够连接和使用 MCP 任务管理器服务器。以下是一个典型的 MCP 客户端工具配置 JSON 示例,用于配置 MCP 任务管理器:

{
  "tools": {
    "taskqueue": {  // 工具名称,可以自定义,例如 "taskqueue"
      "command": "npx",  // 启动 MCP 服务器的命令,这里使用 npx
      "args": ["-y", "taskqueue-mcp"] // 传递给 command 的参数,-y 用于 npx 自动确认安装包
    }
  }
}

配置参数说明:

  • 'tools': 定义工具的配置信息。
  • 'taskqueue': 工具的名称,您可以自定义此名称,用于在客户端中标识和调用此工具。
  • 'command': 指定启动 MCP 服务器的命令。这里使用 'npx' 命令来运行 'taskqueue-mcp' npm 包。'npx' 允许您执行未全局安装的 npm 包。
  • 'args': 一个字符串数组,包含传递给 'command' 命令的参数。
    • '"-y"': 是 'npx' 的参数,用于自动确认安装 'taskqueue-mcp' 包,避免在运行时出现交互式提示。
    • '"taskqueue-mcp"': 指定要通过 'npx' 运行的 npm 包名称,即 'taskqueue-mcp'。

可选配置:自定义 tasks.json 文件存储路径

如果您需要自定义任务数据存储文件 'tasks.json' 的路径,可以使用 'env' 字段在配置中设置 'TASK_MANAGER_FILE_PATH' 环境变量:

{
  "tools": {
    "taskqueue": {
      "command": "npx",
      "args": ["-y", "taskqueue-mcp"],
      "env": {
        "TASK_MANAGER_FILE_PATH": "/path/to/custom/tasks.json"  // 自定义 tasks.json 文件的存储路径
      }
    }
  }
}
  • 'env': 用于设置环境变量。
  • 'TASK_MANAGER_FILE_PATH': 环境变量名,用于指定自定义的 'tasks.json' 文件存储路径。请将 '/path/to/custom/tasks.json' 替换为您希望使用的实际文件路径。

请注意: MCP 客户端的具体配置方法和界面可能因客户端软件而异。请参考您使用的 MCP 客户端的官方文档,了解如何在客户端中配置和添加自定义工具。通常,您需要在客户端的设置或工具配置页面中找到添加自定义工具的选项,并将上述 JSON 配置信息填入相应的字段。

基本使用方法

  1. 启动 MCP 服务器:在 MCP 客户端中配置好工具后,当 LLM 客户端需要调用任务管理器的功能时,MCP 客户端会自动根据配置启动 'taskqueue-mcp' 服务器。无需手动启动服务器。
  2. 创建项目:在 MCP 客户端,通过自然语言指令指示 LLM 客户端调用 'create_project' 工具来创建一个新项目。在指令中清晰描述项目的 'initialPrompt'(初始提示或目标)和 'tasks'(任务列表)。
  3. 获取下一个任务:使用 'get_next_task' 工具获取项目中下一个待处理的任务。LLM 客户端可以循环调用此工具来逐个处理任务。
  4. 更新任务状态:使用 'update_task' 工具更新任务的状态。例如,将任务状态更新为 "in progress"(进行中)或 "done"(已完成)。当任务状态更新为 "done" 时,必须提供 'completedDetails'(完成详情)。
  5. 人工审批任务:对于状态为 "done" 的任务,需要人工审批。您需要使用 CLI 工具 'task-manager-cli',通过命令 'task-manager-cli approve <projectId> <taskId>' 来审批任务。
  6. 项目最终审批:当所有任务都完成后,使用 CLI 工具 'task-manager-cli',通过命令 'task-manager-cli finalize <projectId>' 来最终审批并完成项目。
  7. 查看项目和任务
    • 使用 'list_projects' 和 'list_tasks' 工具在 MCP 客户端中查看项目和任务的列表及状态。
    • 使用 CLI 工具 'task-manager-cli list' 查看项目和任务的详细信息,包括状态、进度、工具和规则建议等。

通过以上步骤,您可以利用 MCP 任务管理器有效地管理 LLM 客户端执行的复杂任务,实现结构化、可控的任务工作流程。

信息

分类

生产力应用