使用说明

项目简介

Contextmgr MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在帮助开发者在项目级别管理开发上下文和工作流程。它将所有状态和数据存储在宿主项目的目录结构中,方便集成和管理。

主要功能点

  • 项目管理: 创建、管理和跟踪项目,包括项目状态、角色、检查点和恢复。
  • 工作包管理: 在项目中创建和管理工作包,跟踪工作包进度和状态,将相关任务分组。
  • 任务管理: 在工作包中创建和管理任务,跟踪文件更改、任务进度,支持任务检查点和恢复。
  • 质量保证 (QA) 工作流: 启动 QA 评审、记录 QA 反馈、请求修复和接受完成的工作。
  • MCP 工具: 提供一系列预定义的工具,用于项目、工作包、任务和 QA 流程的管理,可以通过 MCP 协议调用。
  • 状态管理: 将所有状态数据保存在项目目录的 'contextmgr' 文件夹中,支持检查点和状态持久化。

安装步骤

  1. 安装 npm 包: 在你的项目根目录下,运行以下命令安装 'contextmgr-mcp' 包:
    npm install contextmgr-mcp

服务器配置

MCP 客户端需要配置以下信息来连接 Contextmgr MCP Server。配置信息为 JSON 格式:

{
  "serverName": "contextmgr-mcp",
  "command": "node",
  "args": [
    "./node_modules/contextmgr-mcp/dist/index.js"
  ],
  "transport": "stdio"
}

参数注释:

  • 'serverName': 服务器名称,这里设置为 'contextmgr-mcp'。
  • 'command': 启动服务器的命令,这里使用 'node' (假设你的环境中已安装 Node.js)。
  • 'args': 传递给启动命令的参数,这里指向 'contextmgr-mcp' 包的入口文件。
    • '"./node_modules/contextmgr-mcp/dist/index.js"': 指向安装在 'node_modules' 目录下的 'contextmgr-mcp' 包的 'dist/index.js' 文件。这是编译后的服务器入口文件路径。
  • 'transport': 使用的传输协议,这里使用 'stdio' (标准输入输出)。

注意:

  • 确保你的项目根目录下存在 'node_modules' 文件夹,并且 'contextmgr-mcp' 包已成功安装在其中。
  • 上述 'args' 中的路径是相对路径,相对于 MCP 客户端的工作目录。如果你的客户端工作目录与项目根目录不同,可能需要调整路径。
  • 如果 'contextmgr-mcp' 包的入口文件路径不同,请根据实际情况修改 'args' 中的路径。

基本使用方法

  1. 初始化服务器: 在你的 Node.js 项目中,你可以使用以下代码初始化并启动 Contextmgr MCP Server:

    import { ContextmgrServer } from 'contextmgr-mcp';
    
    const server = new ContextmgrServer({
      projectRoot: process.cwd(),  // 项目根目录
      contextDir: 'contextmgr'     // 可选,上下文数据目录,默认为 'contextmgr'
    });
    
    await server.initialize();
    await server.start();
    console.log('Contextmgr MCP server started');

    这段代码会在你的项目根目录下创建一个 'contextmgr' 文件夹(如果不存在),用于存储服务器的状态数据。然后启动 MCP 服务器,并通过标准输入输出 (stdio) 监听 MCP 客户端的请求。

  2. 使用 MCP 工具: 服务器启动后,你可以使用 MCP 客户端通过 JSON-RPC 协议调用服务器提供的工具。以下是一些示例,展示如何使用 'server.executeTool' 方法执行工具:

    // 创建一个新项目
    const createProjectResult = await server.executeTool('create_project', {
      name: 'My Project',
      description: 'A sample project'
    });
    console.log('Create Project Result:', createProjectResult);
    
    // 创建一个工作包
    const createWorkPackageResult = await server.executeTool('create_workpackage', {
      projectId: 'project-id', // 替换为实际项目 ID
      name: 'Feature Implementation',
      description: 'Implement new feature'
    });
    console.log('Create Work Package Result:', createWorkPackageResult);
    
    // 创建一个任务
    const createTaskResult = await server.executeTool('create_task', {
      workPackageId: 'workpackage-id', // 替换为实际工作包 ID
      name: 'Update Component',
      description: 'Update component implementation',
      filePath: 'src/components/MyComponent.ts'
    });
    console.log('Create Task Result:', createTaskResult);
    
    // ... 其他工具调用示例,例如 record_file_change, complete_qa_review 等

    你可以参考 'README.md' 文件中 "MCP Tools" 章节,了解所有可用的工具及其参数。

  3. 项目目录结构: 服务器初始化后,会在项目根目录下创建 'contextmgr' 文件夹,用于存储所有 MCP 状态和数据:

    your-project/
    ├── contextmgr/              # 所有 MCP 状态和数据
    │   ├── state.json          # 当前状态
    │   ├── checkpoints/        # 状态检查点
    │   └── temp/               # 临时文件
    └── ... rest of your project

总结:

Contextmgr MCP Server 提供了一套完整的工作流和上下文管理功能,通过 MCP 协议与客户端交互。你可以通过 npm 安装并配置客户端连接信息,然后使用提供的工具进行项目、工作包、任务和 QA 流程的管理。它将状态数据存储在项目本地,方便集成和版本控制。

信息

分类

开发者工具