项目简介

Software Planning Tool 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在通过交互式和结构化的方式辅助软件开发计划。它可以帮助用户将复杂的软件项目分解为可管理的任务,跟踪实施进度,并维护详细的开发计划。

主要功能点

  • 交互式计划会话:启动和管理开发计划会话。
  • 任务管理:创建、更新和跟踪开发任务(Todo)。
  • 复杂度评分:为任务分配复杂度评分,以便更好地进行工作量估计。
  • 代码示例:在任务描述中包含相关的代码片段。
  • 实施计划:保存和管理详细的实施计划。

安装步骤

  1. 克隆仓库
    git clone https://github.com/NightTrek/Software-planning-mcp.git
    cd Software-planning-mcp
  2. 安装依赖
    pnpm install
  3. 构建项目
    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 服务器进行交互:

  1. 启动计划会话 (start_planning): 调用 'start_planning' 工具并提供软件开发目标,开始一个新的计划会话。 例如:

    await client.callTool("software-planning-tool", "start_planning", {
      goal: "创建一个基于 React 的仪表盘应用"
    });
  2. 添加任务 (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
      '
    });
  3. 更新任务状态 (update_todo_status): 使用 'update_todo_status' 工具更新指定任务的完成状态。需要提供任务 ID 和新的完成状态('true' 或 'false')。 例如:

    await client.callTool("software-planning-tool", "update_todo_status", {
      todoId: todo.id,
      isComplete: true
    });
  4. 保存实施计划 (save_plan): 调用 'save_plan' 工具,将文本形式的实施计划保存到服务器。服务器会自动解析计划文本并提取任务。 例如:

    await client.callTool("software-planning-tool", "save_plan", {
      plan: '
    # 仪表盘实施计划
    
    ## 第一阶段: 搭建 (复杂度: 3)
    - 初始化 React 项目
    - 安装依赖
    - 配置路由
    
    ## 第二阶段: 核心功能 (复杂度: 5)
    - 实现用户认证
    - 创建仪表盘布局
    - 添加数据可视化组件
      '
    });
  5. 获取任务列表 (get_todos): 调用 'get_todos' 工具,获取当前计划中的所有任务列表。

    const todos = await client.callTool("software-planning-tool", "get_todos", {});
    console.log(todos);
  6. 移除任务 (remove_todo): 使用 'remove_todo' 工具,根据任务 ID 移除指定的任务。

    await client.callTool("software-planning-tool", "remove_todo", {
      todoId: "任务ID"
    });

通过上述工具,您可以在 MCP 客户端中与 Software Planning Tool MCP 服务器进行交互,完成软件开发计划的制定和管理。

信息

分类

开发者工具