项目简介
这是一个基于Model Context Protocol (MCP) 的服务器端应用,旨在提供全面的软件生命周期管理功能。它通过结构化的方式追踪和管理项目中的需求、任务、架构决策等关键信息,并支持与大型语言模型(LLM)客户端进行交互,以实现智能化的项目管理、自动化文档和图表生成。
主要功能点
- 需求管理: 创建、更新和追踪软件需求,支持优先级、状态、风险评估,并提供完整的生命周期追溯。服务器还具备利用LLM分析需求复杂性并建议分解的能力。
- 任务管理: 关联已批准的需求创建实现任务,支持任务的层级结构、工作量估算,并能与GitHub Issue进行双向同步。
- 架构决策记录 (ADR): 记录关键的架构决策,包括决策背景、最终决定、考量选项及潜在影响,并支持评审。LLM也可辅助分析ADR并建议生成相关的架构图。
- 项目状态监控: 实时获取项目健康指标和状态报告,包括需求完成度、任务进度、阻塞项分析以及趋势预测,帮助快速了解项目概况。
- 交互式会话: 支持与LLM进行需求收集和架构讨论的交互式会话,通过问答引导LLM生成高质量的需求和设计文档草稿。
- 文档与图表生成: 能够自动将项目中的需求、任务和架构决策导出为结构化的Markdown文档,并生成Mermaid格式的架构图(如需求流程图、任务依赖图、项目全景图等),便于可视化和共享。
- 关系追溯: 自动跟踪需求、任务、架构决策之间的多对多关系,确保项目各阶段的完整性和可追溯性。
安装步骤
在你的开发环境中安装此MCP服务器非常简单。
- 克隆仓库:
首先,使用Git命令将项目仓库克隆到你的本地计算机:
git clone https://github.com/heffrey78/lifecycle-mcp.git cd lifecycle-mcp - 安装服务器:
建议使用 'pip' 或 'uv' 进行全局安装,这样你就可以在任何项目目录中启动和使用此MCP服务器。
- 使用 pip (推荐):
pip install -e . - 使用 uv (更快,可选):
如果你已安装 'uv',可以运行:
然后,在配置MCP客户端时,使用 '$(which uv)' 来指定 'uv' 的路径,例如: 'claude mcp add lifecycle $(which uv) -- --directory /path/to/lifecycle-mcp run server.py -e LIFECYCLE_DB=./lifecycle.db'uv sync
- 使用 pip (推荐):
- 准备项目目录:
进入你想要进行生命周期管理的项目目录。MCP服务器会在此目录中创建或使用 'lifecycle.db' 文件。
cd /path/to/your/project
服务器配置
MCP客户端需要配置启动命令才能与此MCP服务器建立连接。你需要将以下JSON格式的配置信息添加到你的MCP客户端(例如Claude Desktop)的配置文件中,或通过客户端的命令行界面添加。
例如,对于Claude Desktop客户端,你可以在其配置目录找到 'claude_desktop_config.json' 文件并进行编辑。
{ "mcpServers": { "lifecycle": { "command": "lifecycle-mcp", "args": [], "env": { "LIFECYCLE_DB": "./lifecycle.db" }, "description": "用于软件生命周期管理的MCP服务器,提供需求、任务、架构决策等工具。" } } }
- '"command"': 这是启动MCP服务器的实际命令。在你全局安装后,通常可以直接使用 'lifecycle-mcp'。
- '"args"': 启动命令的额外参数列表。当前无需额外参数。
- '"env"': 环境变量配置,以键值对形式提供。
- '"LIFECYCLE_DB"': 指定SQLite数据库文件的路径。建议设置为 './lifecycle.db',这样每个项目目录都会拥有一个独立的数据库文件,方便管理。你也可以指定一个绝对路径来使用共享数据库。
- '"description"': 对该MCP服务器功能的简要描述,有助于在客户端界面中识别。
基本使用方法
配置完成后,你可以在MCP客户端中直接调用服务器提供的工具。MCP客户端(如Claude)会将你的自然语言请求解析为对这些工具的调用。
-
在Claude中添加MCP服务器: 如果你使用的是Claude客户端,可以通过以下命令行方式快速添加配置:
claude mcp add lifecycle lifecycle-mcp -e LIFECYCLE_DB=./lifecycle.db这条命令会告诉Claude,当需要调用 'lifecycle' 服务器的工具时,应执行 'lifecycle-mcp' 命令,并设置 'LIFECYCLE_DB' 环境变量。
-
创建新需求: 你可以在Claude的聊天界面中,用自然语言向LLM提问,让它调用 'create_requirement' 工具来创建新的需求。
- 示例对话: 'LLM, please create a functional requirement for "User Authentication System". It should have P1 priority. The current state is "No user authentication exists", and the desired state is "Secure user login with JWT tokens". Functional requirements include "Login with email/password" and "JWT token generation", with acceptance criteria "User can login successfully" and "Token expires after 24 hours".'
-
查询所有任务: 让LLM调用 'query_tasks' 工具来获取当前项目中的所有任务列表。
- 示例对话: 'Show me all tasks in the project.'
-
更新任务状态: 让LLM调用 'update_task_status' 工具来更新特定任务的进度。
- 示例对话: 'Update task TASK-0001-00-00 to "In Progress", and add a comment "Started implementing user interface."'
-
生成项目状态报告: 让LLM调用 'get_project_status' 工具来获取当前项目的健康概览。
- 示例对话: 'What is the current status of the project, and are there any blocked items?'
-
生成架构图: 让LLM调用 'create_architectural_diagrams' 工具生成可视化图表。
- 示例对话: 'Generate a Mermaid diagram showing the relationships between all requirements, tasks, and architecture decisions, and save it as markdown with mermaid code.' 或者针对特定类型: 'Generate a requirements flowchart diagram.'
通过这些工具,你可以高效地在LLM客户端的帮助下管理软件项目的整个生命周期。
信息
分类
开发者工具