使用说明
项目简介
Speck-It MCP 服务端旨在将 GitHub 的 Spec Kit 开发工作流集成到 Model Context Protocol (MCP) 服务中。它为代码智能体提供了一个后端,使其能够直接在项目工作区内自动生成功能规格、实施计划、任务清单和执行手册。所有生成的文档和状态都将存储在项目根目录下的 '.speck-it/' (或 '.spec-kit/') 目录中。
主要功能点
- 规范生成: 通过 'generate_spec' 命令,根据项目章程生成详细的功能规范和澄清说明。
- 实施计划: 通过 'generate_plan' 命令,基于已生成的规范,制定阶段性的实施指南。
- 任务管理: 'manage_project_tasks' 命令提供全面的任务操作,包括创建、列出、更新、验证前提、获取下一步任务和获取项目状态。
- 任务执行: 'generate_tasks' 生成任务清单;'list_tasks' 查看任务;'update_task'、'next_task' 和 'complete_task' 追踪和管理任务进度。
- 治理与配置: 'set_constitution' 设置项目章程;'get_constitution' 获取章程内容;'set_feature_root' 注册项目根目录以确保产物正确存储;'finalize_feature' 标记功能开发完成。
- 自动化更新: 自动更新任务状态,以反映章程设定、功能根目录注册、规范生成、计划创建和任务生成等工作流里程碑。
安装步骤
- 安装依赖:
在项目根目录下运行以下命令,使用 'uv' 工具同步并安装所有必要的依赖项:
uv sync - 运行MCP服务器:
使用 'uv' 运行主服务器脚本。服务器默认通过标准输入/输出 (stdio) 进行通信。
您的MCP兼容智能体(例如 Windsurf, Roo Code, Cline)需要配置以启动此命令。uv run python main.py
服务器配置 (示例,非代码)
您的MCP客户端(例如 Windsurf, Roo Code, Cline)需要配置服务器的启动方式。以下是一个常见的JSON配置示例,您可以根据您的客户端的实际情况进行调整。请将 '<path-to-repo>' 替换为 'speck-it-mcp-server' 仓库的实际路径。
// MCP客户端的配置示例 (通常在客户端的配置文件中) { "mcpServers": { "speck-it": { // 服务器的名称,用于客户端内部引用 "command": "uv", // 启动服务器的命令 "args": [ // 传递给命令的参数 "run", "--with", "mcp[cli]", "mcp", "run", "<path-to-repo>/main.py" // 服务器主脚本的路径 ], "disabledTools": [] // 如果有不需要使用的工具,可以在此列出 } } }
基本使用方法
- 连接智能体: 将您的MCP兼容智能体配置指向上述运行命令。如果智能体在项目目录之外执行,请通过参数提供项目根目录,或者调用 'set_feature_root' 工具来注册。
- 设置项目章程:
首先,使用 'set_constitution' 工具定义项目的基本原则和指南。例如:
// 智能体调用MCP工具 tool_code: set_constitution(content="Strictly use Python for backend, React for frontend, apply TDD principles.") - 注册功能根目录:
使用 'set_feature_root' 注册当前项目的工作目录,确保所有产物(如规范、计划)存储在正确的位置。例如:
tool_code: set_feature_root(feature_id="my-new-feature", root="/path/to/my/project") - 生成功能规范:
调用 'generate_spec' 根据功能描述创建详细的规格文档。例如:
tool_code: generate_spec(feature_name="用户管理模块", description="实现用户注册、登录、信息查询和修改功能。") - 生成实施计划和任务:
依次调用 'generate_plan' 和 'generate_tasks' 来生成实施计划和详细的 TDD 任务清单。
tool_code: generate_plan(feature_id="my-new-feature", tech_context="Language: Python, Frontend: React, Storage: PostgreSQL") tool_code: generate_tasks(feature_id="my-new-feature") - 管理和执行任务:
使用 'list_tasks' 查看任务,'next_task' 获取下一个待执行任务,'update_task' 或 'complete_task' 更新任务状态和添加备注。
tool_code: list_tasks(feature_id="my-new-feature") tool_code: next_task(feature_id="my-new-feature") tool_code: complete_task(feature_id="my-new-feature", task_id="T001", note="Initial scaffolding complete.") - 获取项目状态和工作流指导: 使用 'manage_project_tasks(action="get_status")' 查看项目整体进度,'get_workflow_guide' 获取详细的工作流指南。
信息
分类
开发者工具