使用说明

项目简介

Project Handoffs MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在帮助团队更有效地管理和跟踪 AI 相关项目的工作流程,特别是会话交接和后续步骤。它通过结构化的方式组织项目、任务(Next Steps)和工作会话(Working Sessions),并记录交接信息(Handoffs),从而提升团队协作效率和项目透明度。

主要功能点

  • 项目管理
    • 创建和删除项目,用于组织和隔离不同的工作流或任务集合。
  • 任务管理 (Next Steps)
    • 创建新的任务(Next Step),定义任务标题、描述、优先级和依赖关系。
    • 获取指定项目下优先级排序的待办任务列表。
    • 查询任务的完整历史记录,包括相关的工作会话和交接信息。
  • 会话管理 (Working Sessions)
    • 开始工作会话,记录任务的进行状态。
    • 完成工作会话并创建交接记录,记录完成的工作、代码状态、环境状态和未解决问题。
  • 数据模板
    • 提供预定义的模板,用于创建任务、工作会话和交接记录,确保数据结构的一致性和完整性。

安装步骤

  1. 安装 Node.js 和 npm:确保你的开发环境中已安装 Node.js 和 npm (Node Package Manager)。
  2. 克隆仓库:将仓库代码克隆到本地:
    git clone https://github.com/davidorex/project-handoffs.git
    cd project-handoffs
  3. 安装依赖:在项目根目录下运行以下命令安装项目依赖:
    npm install
  4. 构建项目:运行以下命令构建项目,将 TypeScript 代码编译为 JavaScript 代码:
    npm run build

服务器配置

要将 Project Handoffs MCP Server 集成到 MCP 客户端,你需要在客户端的 MCP 配置中添加以下服务器信息。请根据你的实际环境修改 'command' 和 'args' 中的路径。

{
  "mcpServers": {
    "project-handoffs": {
      "command": "/opt/homebrew/bin/node",
      "args": ["/path/to/project-handoffs/build/index.js"],
      "alwaysAllow": []
    }
  }
}

配置参数说明:

  • 'server name' (配置示例中为 '"project-handoffs"'): 为你的 MCP 服务器指定一个名称,客户端通过此名称来识别和调用该服务器。你可以自定义名称。
  • 'command' (配置示例中为 '"/opt/homebrew/bin/node"'): MCP 服务器的启动命令。通常是 Node.js 的执行路径。请根据你的 Node.js 安装路径进行调整。可以使用 'which node' 命令查找 Node.js 路径。
  • 'args' (配置示例中为 '["/path/to/project-handoffs/build/index.js"]'): 启动命令的参数,指向编译后的服务器入口文件 'index.js' 的路径。你需要将 '"/path/to/project-handoffs"' 替换为 项目在你的本地文件系统中的实际路径
  • 'alwaysAllow': 一个权限控制列表,用于配置默认允许执行的工具或操作。在本例中为空数组 '[]',表示没有默认允许的操作,所有工具都需要显式授权。

基本使用方法

Project Handoffs MCP Server 通过工具 (Tools) 提供功能。以下是一些基本工具的使用方法示例(在 MCP 客户端中调用):

  1. 列出可用模板 (list_templates)

    • 工具名称: 'list_templates'
    • 描述: 获取任务、工作会话和交接记录的可用模板,了解数据结构和字段要求。
  2. 创建项目 (create_project)

    • 工具名称: 'create_project'
    • 参数:
      {
        "name": "项目名称",
        "description": "项目描述"
      }
    • 描述: 创建一个新的项目,用于组织任务和会话。
  3. 创建任务 (create_next_step)

    • 工具名称: 'create_next_step'
    • 参数:
      {
        "projectId": "项目ID",
        "title": "任务标题",
        "description": "任务详细描述",
        "priority": "core-critical | full-required | enhancement"
      }
    • 描述: 在指定项目中创建新的任务 (Next Step)。
  4. 开始工作会话 (start_working_session)

    • 工具名称: 'start_working_session'
    • 参数:
      {
        "projectId": "项目ID",
        "nextStepId": "任务ID"
      }
    • 描述: 为指定的任务开始一个新的工作会话。
  5. 创建交接记录 (create_handoff)

    • 工具名称: 'create_handoff'
    • 参数:
      {
        "projectId": "项目ID",
        "sessionId": "会话ID",
        "completedWork": "已完成工作总结",
        "codeState": "代码库当前状态描述",
        "environmentState": "开发环境状态描述"
      }
    • 描述: 完成工作会话并创建交接记录,记录工作成果和环境状态。
  6. 获取最新任务列表 (get_latest_next_steps)

    • 工具名称: 'get_latest_next_steps'
    • 参数:
      {
        "projectId": "项目ID"
      }
    • 描述: 获取指定项目中优先级排序的待办任务列表。
  7. 获取任务历史 (get_next_step_history)

    • 工具名称: 'get_next_step_history'
    • 参数:
      {
        "projectId": "项目ID",
        "stepId": "任务ID"
      }
    • 描述: 获取指定任务的完整历史记录,包括会话和交接信息。

请参考仓库的 'README.md' 文件和 'src/index.ts' 中的工具定义,了解更多工具和参数的详细信息。

信息

分类

生产力应用