Skip to content

Latest commit

 

History

History
175 lines (134 loc) · 4.79 KB

File metadata and controls

175 lines (134 loc) · 4.79 KB

Spec Workflow MCP 服务项目总结

项目概述

基于 Model Context Protocol (MCP) 开发的规范化开发流程服务,参考了 Sequential Thinking MCP Server 的架构设计。该服务指导AI模型按照结构化的三阶段流程处理用户需求:需求收集、设计文档、实现计划。

核心功能

🔄 三阶段工作流程

  1. 需求收集阶段 (Requirements)

    • 生成 EARS 格式的需求文档
    • 包含用户故事和验收标准
    • 强制用户明确批准
  2. 设计文档阶段 (Design)

    • 创建详细的技术设计文档
    • 包含架构、组件、数据模型等
    • 支持研究和迭代
  3. 实现计划阶段 (Implementation)

    • 生成可执行的编码任务清单
    • 专注于代码相关任务
    • 格式化为复选框列表

🛡️ 流程控制特性

  • 严格的阶段顺序: 防止跳过阶段
  • 批准状态跟踪: 每个阶段都需要明确批准
  • 详细指导: 为每个阶段提供具体的操作指南
  • 错误防护: 防止无效的阶段转换

技术架构

核心类设计

class SpecWorkflowServer {
  private workflowState: WorkflowState;
  private disableLogging: boolean;
  
  // 主要方法
  processStageTransition(input: unknown)
  formatStageGuidance(stage: string)
  canTransitionTo(targetStage: string)
  canProceedToNext()
}

数据结构

interface WorkflowState {
  currentStage: 'requirements' | 'design' | 'implementation' | 'complete';
  featureName?: string;
  requirementsApproved: boolean;
  designApproved: boolean;
  tasksApproved: boolean;
  stageHistory: string[];
}

interface StageTransition {
  stage: 'requirements' | 'design' | 'implementation' | 'complete';
  featureName?: string;
  action?: 'approve' | 'revise' | 'start';
  feedback?: string;
}

项目结构

kiro-spec-workflow/
├── src/
│   └── spec-workflow/
│       └── index.ts              # 主要的 MCP 服务器实现
├── dist/                         # 编译输出
├── node_modules/                 # 依赖包
├── package.json                  # 项目配置
├── tsconfig.json                 # TypeScript 配置
├── README.md                     # 项目说明
├── USAGE_EXAMPLE.md              # 使用示例
├── PROJECT_SUMMARY.md            # 项目总结
├── mcp-config-example.json       # MCP 配置示例
├── test-server.js                # 测试脚本
├── workflow.md                   # 原始工作流程描述
└── .gitignore                    # Git 忽略文件

关键特性

1. 严格的工作流控制

  • 每个阶段都有明确的前置条件
  • 防止跳过必要的批准步骤
  • 提供清晰的错误消息

2. 详细的阶段指导

  • 每个阶段都有具体的操作指南
  • 包含必需的文件创建要求
  • 明确的批准流程

3. 状态管理

  • 跟踪每个阶段的批准状态
  • 维护阶段历史记录
  • 支持状态查询和验证

4. 错误处理

  • 输入验证和类型检查
  • 无效转换的防护
  • 详细的错误信息

与 Sequential Thinking 的对比

特性 Sequential Thinking Spec Workflow
目的 思维过程管理 开发流程管理
阶段 动态思考步骤 固定三阶段
约束 灵活的思考流程 严格的批准流程
输出 思考记录 规范文档
分支 支持思考分支 线性流程

使用场景

  1. AI辅助开发: 指导AI模型按规范流程处理开发需求
  2. 项目规划: 确保完整的需求分析和设计过程
  3. 团队协作: 提供标准化的文档结构
  4. 质量控制: 强制执行完整的规划流程

部署和配置

1. 构建项目

npm install
npm run build

2. MCP 配置

{
  "mcpServers": {
    "spec-workflow": {
      "command": "node",
      "args": ["dist/spec-workflow/index.js"],
      "cwd": "/path/to/kiro-spec-workflow"
    }
  }
}

3. 环境变量

  • DISABLE_WORKFLOW_LOGGING: 禁用工作流日志输出

测试验证

项目包含测试脚本 test-server.js,验证了:

  • 服务器启动和初始化
  • 工具列表功能
  • 基本的工作流转换
  • 错误处理机制

扩展可能性

  1. 持久化状态: 将工作流状态保存到文件
  2. 多项目支持: 同时管理多个功能的工作流
  3. 自定义阶段: 允许配置自定义的工作流阶段
  4. 集成工具: 与其他开发工具集成
  5. 模板系统: 提供不同类型项目的模板

总结

Spec Workflow MCP 服务成功实现了一个结构化的开发流程管理工具,通过严格的阶段控制和详细的指导,确保AI模型能够按照规范的流程处理开发需求,生成高质量的需求文档、设计文档和实现计划。