speckitmcp
A Model Context Protocol server for GitHub Spec-Kit
Bring Spec-Driven Development to any AI coding agent.
Quick Start • Tools • Resources • Prompts • Workflow • Development
______________________________________________________________________
概述
speckitmcp 搭建GitHub的桥梁 规格套件 与任何MCP兼容的AI助手的工具包——Claude Code、Cursor、VS Code Copilot、Windsurf等。
它暴露了全部 规范驱动开发(SDD) 作为MCP的工作流程 工具, 资源,以及 提示,因此您的AI代理可以:
- 初始化和管理规范工具包项目
- 作者规范、技术计划和任务分解
- 跟踪实施进度并标记任务完成情况
- 使用6步分析引擎验证跨工件一致性
- 生成质量检查表并将任务转换为GitHub问题
无需离开你的编辑。
______________________________________________________________________
快速开始
先决条件
| 要求 | 安装 |
|---|---|
| Node.js 18+ | |
| spec工具包CLI | uv tool install --from git+https://github.com/github/spec-kit.git specify-cli |
安装和构建
git clone https://github.com/jthom233/speckitmcp.git
cd speckitmcp
npm install
npm run build连接到您的AI代理
Claude Code
增添 ~/.claude/settings.json (全球)或 .claude/settings.json (项目):
{
"mcpServers": {
"spec-kit": {
"command": "node",
"args": ["/absolute/path/to/speckitmcp/dist/index.js"]
}
}
}Cursor
增添 .cursor/mcp.json 在项目根目录中:
{
"mcpServers": {
"spec-kit": {
"command": "node",
"args": ["/absolute/path/to/speckitmcp/dist/index.js"]
}
}
}VS Code / GitHub Copilot
增添 .vscode/mcp.json 在项目根目录中:
{
"servers": {
"spec-kit": {
"command": "node",
"args": ["/absolute/path/to/speckitmcp/dist/index.js"]
}
}
}Windsurf / Other MCP Clients
将客户的MCP配置指向:
node /absolute/path/to/speckitmcp/dist/index.js服务器通过以下方式进行通信 标准 使用标准MCP JSON-RPC协议。
______________________________________________________________________
工具
服务器暴露 13工具 它映射到SDD工作流程的每个阶段:
| 工具 | 说明 |
|---|---|
speckit_init | 初始化规范工具包项目结构 |
speckit_check | 检查规格套件安装和系统先决条件 |
speckit_version | 获取规范工具包CLI版本 |
speckit_status | 查看项目状态和任务完成统计信息 |
speckit_constitution | 读取、创建或更新项目章程,可选版本升级 |
speckit_specify | 使用模板加载、脚本集成和自动生成的质量检查表创建功能规范 |
speckit_plan | 具有规范前提和构成门的多阶段规划(研究、设计、计划) |
speckit_tasks | 生成用户故事组织任务列表(需要spec.md和plan.md) |
speckit_implement | 阅读任务/文档,用检查表标记已完成的任务,或添加注释 |
speckit_clarify | 扫描spec.md以查找歧义(9个类别,最多5个问题)或在线回答 |
speckit_analyze | 只读6级分析:重复、歧义、规范不足、构成一致、覆盖差距、不一致 |
speckit_checklist | 在检查表/子目录中生成需求质量检查表(规范质量,而非实施) |
speckit_tasks_to_issues | 将tasks.md转换为GitHub issues(默认情况下为模拟运行) |
主要特点
- 脚本集成 --自动调用支持平台的bash/powershell辅助脚本
- 模板加载 --从加载模板
.specify/templates/带有嵌入式回退 - 先决条件检查 --工具在继续之前验证先前的工件是否存在
- 宪法之门 --规划阶段将项目章程视为强制性内容
- 检查表门 --在标记任务完成之前,对不完整的清单项目进行实施检查
- 6级分析引擎 --发现重复、歧义、规格不足、违反宪法、覆盖范围差距和不一致
- GitHub问题创建 --通过以下方式将tasks.md文件转换为GitHub issues
speckit_tasks_to_issues
______________________________________________________________________
资源
服务器将spec kit项目文件作为只读MCP资源公开:
| URI | 内容 |
|---|---|
speckit://constitution | 项目构成 |
speckit://templates/{name} | 规格套件模板 |
speckit://specs/{feature}/spec | 功能规格 |
speckit://specs/{feature}/plan | 实施计划 |
speckit://specs/{feature}/tasks | 任务列表 |
speckit://specs/{feature}/research | 研究笔记 |
speckit://specs/{feature}/data-model | 数据模型 |
speckit://specs/{feature}/quickstart | 快速入门指南 |
speckit://specs/{feature}/checklists/{name} | 质量检查表 |
speckit://specs/{feature}/contracts/{name} | API合同 |
______________________________________________________________________
提示
十个内置提示引导您的AI代理完成每个SDD阶段:
| 提示 | 目的 |
|---|---|
sdd_workflow | 完整SDD生命周期的端到端演练 |
sdd_specify | 结构化特征规范编写 |
sdd_clarify | 引导式歧义解决 |
sdd_plan | 技术规划与架构和堆栈决策 |
sdd_tasks | 任务分解,包括阶段、依赖关系和并行性 |
sdd_implement | 任务执行和进度跟踪 |
sdd_checklist | 需求质量检查表生成 |
sdd_analyze | 跨工件一致性验证 |
sdd_constitution | 指导创建项目原则和治理 |
sdd_taskstoissues | 将任务转换为GitHub问题 |
______________________________________________________________________
SDD工作流程
init → constitution → specify → clarify → plan → tasks → checklist → analyze → implement → tasks_to_issues- 初始化 —
speckit_init--用脚手架支撑项目.specify/模板 - 宪法 —
speckit_constitution--在指定之前定义项目原则和治理 - 指定 —
speckit_specify--通过模板加载将需求定义为优先用户故事 - 阐明 —
speckit_clarify--在承诺计划之前,扫描并解决歧义 - 计划 —
speckit_plan--基于项目构成的多阶段规划 - 任务 —
speckit_tasks--生成带有先决条件检查的用户故事组织任务列表 - 清单 —
speckit_checklist--生成需求质量检查表 - 分析 —
speckit_analyze--规范/计划/任务一致性的6步验证 - 实施 —
speckit_implement--使用检查表门和正则表达式安全标记跟踪完成情况 - 任务到问题 —
speckit_tasks_to_issues--将任务作为问题推送到GitHub
______________________________________________________________________
项目结构
src/
├── index.ts # Entry point — stdio transport
├── server.ts # MCP server — handler registration
├── cli.ts # spec-kit CLI wrapper (child_process)
├── tools/
│ ├── index.ts # Tool registry
│ ├── init.ts # speckit_init
│ ├── check.ts # speckit_check
│ ├── version.ts # speckit_version
│ ├── status.ts # speckit_status
│ ├── constitution.ts # speckit_constitution
│ ├── specify.ts # speckit_specify
│ ├── plan.ts # speckit_plan
│ ├── tasks.ts # speckit_tasks
│ ├── implement.ts # speckit_implement
│ ├── clarify.ts # speckit_clarify
│ ├── analyze.ts # speckit_analyze
│ ├── checklist.ts # speckit_checklist
│ └── tasks-to-issues.ts # speckit_tasks_to_issues
├── resources/
│ └── index.ts # MCP resource handlers
└── prompts/
└── index.ts # SDD workflow prompts______________________________________________________________________
发展
npm install # Install dependencies
npm run build # Compile TypeScript → dist/
npm run dev # Watch mode (rebuild on change)手动烟雾测试
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | node dist/index.js您应该看到JSON-RPC响应,其中包含 serverInfo.name: "spec-kit-mcp".
______________________________________________________________________
技术栈
| 图层 | 选择 |
|---|---|
| 语言 | TypeScript 5(严格模式,ESM) |
| 运行时 | Node.js 18+ |
| 协议 | @模型上下文协议/sdk v1.x |
| 验证 | 黄道带 |
| 传输 | stdio(JSON-RPC 2.0) |
| CLI集成 | Node.js child_process 包裹 specify |
______________________________________________________________________
贡献
欢迎投稿!请先打开一个问题,讨论您想更改的内容。
- 分叉回购
- 创建要素分支(
git checkout -b feat/my-feature) - 提交您的更改
- 推到叉子上,打开Pull Request
______________________________________________________________________
