项目简介
Software Planning Tool 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在通过交互式和结构化的方式辅助软件开发计划。它可以帮助用户将复杂的软件项目分解为可管理的任务,跟踪实施进度,并维护详细的开发计划。
主要功能点
- 交互式计划会话:启动和管理开发计划会话。
- 任务管理:创建、更新和跟踪开发任务(Todo)。
- 复杂度评分:为任务分配复杂度评分,以便更好地进行工作量估计。
- 代码示例:在任务描述中包含相关的代码片段。
- 实施计划:保存和管理详细的实施计划。
安装步骤
- 克隆仓库
git clone https://github.com/NightTrek/Software-planning-mcp.git cd Software-planning-mcp - 安装依赖
pnpm install - 构建项目
pnpm run build
服务器配置
要将 Software Planning Tool MCP 服务器添加到 MCP 客户端(例如 Claude IDE),您需要配置客户端的 MCP 服务器设置。通常,配置文件位于 '~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json'。
在 'mcpServers' 字段中添加一个新的服务器配置,配置信息如下:
{ "mcpServers": { "software-planning-tool": { "command": "node", "args": [ "/path/to/software-planning-tool/build/index.js" ], "disabled": false, "autoApprove": [] } } }
配置参数说明:
- '"software-planning-tool"': 服务器名称,您可以自定义,用于在 MCP 客户端中标识该服务器。
- '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行时环境。
- '"args": ["/path/to/software-planning-tool/build/index.js"]': 启动命令的参数,指向构建后的服务器入口文件 'index.js' 的绝对路径。请将 '/path/to/software-planning-tool' 替换为您实际克隆仓库的本地路径。
- '"disabled": false': 表示服务器默认启用。
- '"autoApprove": []': 自动批准的工具列表,这里为空,表示所有工具都需要手动批准才能调用。
请务必将 '"/path/to/software-planning-tool/build/index.js"' 替换为 'build/index.js' 文件在您电脑上的实际绝对路径。 例如,如果您的仓库克隆在用户目录下的 'Documents' 文件夹中,那么路径可能类似于 '/Users/yourusername/Documents/Software-planning-mcp/build/index.js'。
基本使用方法
配置完成后,在 MCP 客户端中,您可以使用以下工具与 Software Planning Tool MCP 服务器进行交互:
-
启动计划会话 (start_planning): 调用 'start_planning' 工具并提供软件开发目标,开始一个新的计划会话。 例如:
await client.callTool("software-planning-tool", "start_planning", { goal: "创建一个基于 React 的仪表盘应用" }); -
添加任务 (add_todo): 调用 'add_todo' 工具,向当前计划中添加新的待办任务,包括标题、描述、复杂度评分和可选的代码示例。 例如:
const todo = await client.callTool("software-planning-tool", "add_todo", { title: "搭建项目结构", description: "初始化 React 项目并安装必要的依赖", complexity: 3, codeExample: ' npx create-react-app dashboard cd dashboard npm install @material-ui/core @material-ui/icons ' }); -
更新任务状态 (update_todo_status): 使用 'update_todo_status' 工具更新指定任务的完成状态。需要提供任务 ID 和新的完成状态('true' 或 'false')。 例如:
await client.callTool("software-planning-tool", "update_todo_status", { todoId: todo.id, isComplete: true }); -
保存实施计划 (save_plan): 调用 'save_plan' 工具,将文本形式的实施计划保存到服务器。服务器会自动解析计划文本并提取任务。 例如:
await client.callTool("software-planning-tool", "save_plan", { plan: ' # 仪表盘实施计划 ## 第一阶段: 搭建 (复杂度: 3) - 初始化 React 项目 - 安装依赖 - 配置路由 ## 第二阶段: 核心功能 (复杂度: 5) - 实现用户认证 - 创建仪表盘布局 - 添加数据可视化组件 ' }); -
获取任务列表 (get_todos): 调用 'get_todos' 工具,获取当前计划中的所有任务列表。
const todos = await client.callTool("software-planning-tool", "get_todos", {}); console.log(todos); -
移除任务 (remove_todo): 使用 'remove_todo' 工具,根据任务 ID 移除指定的任务。
await client.callTool("software-planning-tool", "remove_todo", { todoId: "任务ID" });
通过上述工具,您可以在 MCP 客户端中与 Software Planning Tool MCP 服务器进行交互,完成软件开发计划的制定和管理。
信息
分类
开发者工具