规范工作流MCP服务器

用于结构化规范驱动开发的模型上下文协议(MCP)服务器,提供实时仪表盘和VSCode扩展支持。

  • by Pimzino
  • TypeScript
  • 本地部署
  • 4303 星标
  • 更新于
在 GitHub 查看 Pimzino/spec-workflow-mcp

使用说明

规范工作流程MCP

出于个人原因,我暂时离开了这个仓库,但我会在不久的将来带一些更新回来 感谢您的理解

用于结构化规范驱动开发的模型上下文协议(MCP)服务器,具有实时仪表板和VSCode扩展。

☕ 支持这个项目

📺 展示

🔄 实施中的审批制度

查看审批系统的工作原理:创建文档、通过仪表板请求审批、提供反馈和跟踪修订。

📊 仪表板和规格管理

探索实时仪表板:查看规格、跟踪进度、浏览文档和监控您的开发工作流程。

✨ 主要特点

  • 结构化开发工作流程 -顺序规范创建(要求→ 设计→ 任务)
  • 实时Web仪表板 -通过实时更新监控规格、任务和进度
  • VSCode扩展 -VSCode用户的集成侧边栏仪表板
  • 审批流程 -完成修订后的审批流程
  • 任务进度跟踪 -可视化进度条和详细状态
  • 实施日志 -具有代码统计信息的所有任务实现的可搜索日志
  • 多语言支持 -提供11种语言版本

🌍 支持的语言

🇺🇸 英语•🇯🇵 日本語 • 🇨🇳 中文 • 🇪🇸 西班牙•🇧🇷 葡萄牙语•🇩🇪 德语•🇫🇷 法语•🇷🇺 Русский • 🇮🇹 意大利语•🇰🇷 한국어 • 🇸🇦 العربية

📖 用您的语言编写的文档:

英语 | 日本语 | 中文 | 西班牙语 | 葡萄牙语 | 德语 | 法语 | 俄语 | 意大利语 | 韩语 | 阿拉伯语

🚀 快速开始

步骤1:添加到您的AI工具

添加到您的MCP配置中(请参阅下面的客户端特定设置):

{
  "mcpServers": {
    "spec-workflow": {
      "command": "npx",
      "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
    }
  }
}

第二步:选择您的界面

选项A:Web仪表板 (CLI用户需要) 启动仪表板(默认在端口5000上运行):

npx -y @pimzino/spec-workflow-mcp@latest --dashboard

仪表板可在以下位置访问:http://localhost:5000

注: 只需要一个仪表板实例。您的所有项目都将连接到同一个仪表板。

选项B:VSCode扩展 (建议VSCode用户使用)

安装 规范工作流MCP扩展 来自VSCode市场。

📝 如何使用

只需在对话中提及规范工作流程:

  • “创建用户身份验证规范” -创建完整的规格工作流
  • “列出我的规格” -显示所有规格及其状态
  • “执行规范用户身份验证中的任务1.2” -运行特定任务

查看更多示例→

🔧 MCP客户端设置

Augment Code

在增强设置中配置:

{
  "mcpServers": {
    "spec-workflow": {
      "command": "npx",
      "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
    }
  }
}
Claude Code CLI

添加到MCP配置中:

claude mcp add spec-workflow npx @pimzino/spec-workflow-mcp@latest -- /path/to/your/project

重要提示:

  • 这 -y flag绕过npm提示,安装更顺畅
  • 这 -- 分隔符确保路径传递给spec工作流脚本,而不是npx
  • 替换 /path/to/your/project 使用您的实际项目目录路径

Windows的替代方案(如果上述方法不起作用):

claude mcp add spec-workflow cmd.exe /c "npx @pimzino/spec-workflow-mcp@latest /path/to/your/project"
Claude Desktop

添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "spec-workflow": {
      "command": "npx",
      "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
    }
  }
}

重要提示: 单独运行仪表板 --dashboard 在启动MCP服务器之前。

Cline/Claude Dev

添加到MCP服务器配置中:

{
  "mcpServers": {
    "spec-workflow": {
      "command": "npx",
      "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
    }
  }
}
Continue IDE Extension

添加到“继续”配置中:

{
  "mcpServers": {
    "spec-workflow": {
      "command": "npx",
      "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
    }
  }
}
Cursor IDE

添加到光标设置(settings.json):

{
  "mcpServers": {
    "spec-workflow": {
      "command": "npx",
      "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
    }
  }
}
OpenCode

添加到您的 opencode.json 配置文件:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "spec-workflow": {
      "type": "local",
      "command": ["npx", "-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"],
      "enabled": true
    }
  }
}
Windsurf

添加到您的 ~/.codeium/windsurf/mcp_config.json 配置文件:

{
  "mcpServers": {
    "spec-workflow": {
      "command": "npx",
      "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
    }
  }
}
Codex

添加到您的 ~/.codex/config.toml 配置文件:

[mcp_servers.spec-workflow]
command = "npx"
args = ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]

🐳 Docker部署

在Docker容器中运行仪表板进行隔离部署:

# Using Docker Compose (recommended)
cd containers
docker-compose up --build

# Or using Docker CLI
docker build -f containers/Dockerfile -t spec-workflow-mcp .
docker run -p 5000:5000 -v "./workspace/.spec-workflow:/workspace/.spec-workflow:rw" spec-workflow-mcp

仪表板将在以下网址提供:http://localhost:5000

请参阅Docker设置指南→

🔒 安全

Spec Workflow MCP包括适用于企业环境的企业级安全功能:

✅ 已实施的安全控制

特性 描述
本地主机绑定 绑定到 127.0.0.1 默认情况下,防止网络暴露
速率限制 每个客户端每分钟120个请求,并自动清理
审计日志 带有时间戳、参与者、动作和结果的结构化JSON日志
安全标头 X-Content类型选项、X-Frame-Options、X-XSS-Protection、CSP、推荐人策略
CORS保护 默认情况下仅限于本地主机来源
Docker强化 非root用户、只读文件系统、丢弃功能、资源限制

⚠️ 尚未实现

功能 解决方法
HTTPS/TLS 使用带有TLS证书的反向代理(nginx、Apache)
用户认证 将反向代理与Basic Auth或OAuth2代理一起用于SSO

用于外部/网络访问

如果您需要在本地主机之外公开仪表板,我们建议:

  1. 将仪表板保持在本地主机上 (127.0.0.1)
  2. 使用nginx或Apache 作为反向代理,具有:
    • TLS/HTTPS终止
    • 基本身份验证或OAuth2
  3. 配置防火墙规则 限制访问
# Example nginx reverse proxy with auth
server {
    listen 443 ssl;
    server_name dashboard.example.com;
    
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    
    auth_basic "Dashboard Access";
    auth_basic_user_file /etc/nginx/.htpasswd;
    
    location / {
        proxy_pass http://127.0.0.1:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

请参阅Docker安全指南→

🔒 沙盒环境

对于沙盒环境(例如,Codex CLI sandbox_mode=workspace-write)在哪里 $HOME 是只读的,请使用 SPEC_WORKFLOW_HOME 用于将全局状态文件重定向到可写位置的环境变量:

SPEC_WORKFLOW_HOME=/workspace/.spec-workflow-mcp npx -y @pimzino/spec-workflow-mcp@latest /workspace

请参阅配置指南→

📚 文档

📁 项目结构

your-project/
  .spec-workflow/
    approvals/
    archive/
    specs/
    steering/
    templates/
    user-templates/
    config.example.toml

🛠️ 发展

# Install dependencies
npm install

# Build the project
npm run build

# Run in development mode
npm run dev

请参阅开发指南→

📄 许可证

GPL-3.0

⭐ 明星历史