使用说明
项目简介
Contextmgr MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在帮助开发者在项目级别管理开发上下文和工作流程。它将所有状态和数据存储在宿主项目的目录结构中,方便集成和管理。
主要功能点
- 项目管理: 创建、管理和跟踪项目,包括项目状态、角色、检查点和恢复。
- 工作包管理: 在项目中创建和管理工作包,跟踪工作包进度和状态,将相关任务分组。
- 任务管理: 在工作包中创建和管理任务,跟踪文件更改、任务进度,支持任务检查点和恢复。
- 质量保证 (QA) 工作流: 启动 QA 评审、记录 QA 反馈、请求修复和接受完成的工作。
- MCP 工具: 提供一系列预定义的工具,用于项目、工作包、任务和 QA 流程的管理,可以通过 MCP 协议调用。
- 状态管理: 将所有状态数据保存在项目目录的 'contextmgr' 文件夹中,支持检查点和状态持久化。
安装步骤
- 安装 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' 中的路径。
基本使用方法
-
初始化服务器: 在你的 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 客户端的请求。
-
使用 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" 章节,了解所有可用的工具及其参数。
-
项目目录结构: 服务器初始化后,会在项目根目录下创建 'contextmgr' 文件夹,用于存储所有 MCP 状态和数据:
your-project/ ├── contextmgr/ # 所有 MCP 状态和数据 │ ├── state.json # 当前状态 │ ├── checkpoints/ # 状态检查点 │ └── temp/ # 临时文件 └── ... rest of your project
总结:
Contextmgr MCP Server 提供了一套完整的工作流和上下文管理功能,通过 MCP 协议与客户端交互。你可以通过 npm 安装并配置客户端连接信息,然后使用提供的工具进行项目、工作包、任务和 QA 流程的管理。它将状态数据存储在项目本地,方便集成和版本控制。
信息
分类
开发者工具