spec-driver-mcp
README.md
# Spec Driver MCP
> [English](README.md) | [中文](README.zh-CN.md) | [Русский](README.ru.md)
A Model Context Protocol server that brings Kiro-style **spec-driven development** to any AI coding tool (Claude Code, Cursor, opencode, Codex CLI, Reasonix, Gemini CLI, and more).
## What it does
Replaces unstructured chat with a **3-phase workflow** when you ask AI to build, plan, or refactor a project:
```
Phase 1: Requirements → requirements.md (EARS format: WHEN...THE SYSTEM SHALL...)
Phase 2: Design → design.md (architecture, components, data flow)
Phase 3: Tasks → tasks.md (trackable [x] checkboxes)
```
Each phase requires **your approval** before advancing. Hooks auto-maintain consistency.
## Quick Start
### 1. Install
```bash
npx github:linanwanttodo/spec-driver-mcp
```
Or install globally:
```bash
npm install -g github:linanwanttodo/spec-driver-mcp
```
### 2. Add to your AI tool
#### opencode
Add to `~/.config/opencode/opencode.json`:
```json
{
"mcp": {
"spec-driver": {
"type": "local",
"command": ["npx", "github:linanwanttodo/spec-driver-mcp"]
}
}
}
```
#### Claude Code
Add to `~/.claude/settings.json`:
```json
{
"mcpServers": {
"spec-driver": {
"command": "npx",
"args": ["github:linanwanttodo/spec-driver-mcp"]
}
}
}
```
Then copy `instructions/CLAUDE.md` to your project root as `CLAUDE.md`.
#### Cursor
Create `.cursor/mcp.json` in your project:
```json
{
"mcpServers": {
"spec-driver": {
"command": "npx",
"args": ["github:linanwanttodo/spec-driver-mcp"]
}
}
}
```
Then copy `instructions/cursor-rules.md` to your project root as `.cursorrules`.
#### Codex CLI
Add to `~/.codex/config.toml`:
```toml
[mcp_servers.spec-driver]
command = "npx"
args = ["github:linanwanttodo/spec-driver-mcp"]
```
#### Reasonix
Add to `~/.reasonix/config.json` `mcp` array:
```json
"spec-driver=npx github:linanwanttodo/spec-driver-mcp"
```
#### Gemini CLI
Add to `~/.gemini/config/mcp_config.json`:
```json
{
"mcpServers": {
"spec-driver": {
"command": "npx",
"args": ["github:linanwanttodo/spec-driver-mcp"]
}
}
}
```
## Usage
Once configured, just tell your AI:
> "帮我开发一个博客系统" or "帮我分析这个项目" or "我们来重构这个"
The AI will automatically:
1. **Read your codebase** to understand context
2. **Ask you clarifying questions** (requirements-first or design-first? specific details?)
3. **Write requirements.md** using EARS notation
4. **Wait for your approval** before proceeding
5. **Write design.md** with architecture and component design
6. **Wait for your approval**
7. **Write tasks.md** with `- [ ]` checkboxes
8. **Wait for your approval**, then implement
### Marking tasks done
During implementation:
```
- [x] Task completed via update-task
- [ ] Still pending
```
The AI auto-runs hooks at each event:
- `on-task-completed` → auto-mark task [x], check acceptance criteria
- `on-spec-phase-change` → validate document completeness
- `on-user-request-change` → sync all documents
## Tools
| Tool | Description |
|---|---|
| `init-spec` | Initialize .spec/ with config + 3 default hooks |
| `write-spec-file` | Write requirements.md / design.md / tasks.md |
| `read-spec-file` | Read any spec file |
| `list-spec-files` | Show file status + hooks |
| `update-task` | Toggle task [x] or [ ] |
| `get-task-summary` | Task completion stats |
| `create-hook` | Create automation rules |
| `list-hooks` | List all hooks |
| `delete-hook` | Remove a hook |
| `run-hooks` | Execute hooks for an event |
## Spec File Location
All files are created in `.spec/` at your project root:
```
your-project/
├── .spec/
│ ├── .config # Project metadata
│ ├── requirements.md # Phase 1: Requirements
│ ├── design.md # Phase 2: Design
│ ├── tasks.md # Phase 3: Tasks
│ └── hooks/ # Automation rules
│ ├── auto-mark-completed.md
│ ├── validate-before-phase.md
│ └── notify-on-change.md
├── ...your code...
```
## Default Hooks
| Hook | Event | What it does |
|---|---|---|
| `auto-mark-completed` | `on-task-completed` | Auto update-task after implementation |
| `validate-before-phase` | `on-spec-phase-change` | Validate doc completeness before advancing |
| `notify-on-change` | `on-user-request-change` | Sync all docs when requirements change |
## One-Click AI Install Prompt
If you're asking an AI to set this up for you, copy this:
```
Install spec-driver-mcp from GitHub and configure it:
1. Run: npm install -g github:linanwanttodo/spec-driver-mcp
2. Add "spec-driver" to the MCP servers config of my AI tool
(the config format depends on which tool I use)
3. Done - no server needed, no API keys, no registration
```
## License
MIT
TDQS
A4/5.0
Scored across 10 tools
Disambiguation5/5
Each tool has a clearly distinct purpose: hooks management (create/delete/list/run), spec file operations (init/read/write/list), and task tracking (get-task-summary/update-task). No overlap or ambiguity.
Naming Consistency5/5
All tool names follow a consistent pattern of verb-noun (or verb-object) using lowercase with hyphens, e.g., 'create-hook', 'init-spec', 'update-task'. No mixing of conventions.
Tool Count5/5
With 10 tools, the set is well-scoped for a spec-driven development workflow. It covers every necessary operation without being excessive or insufficient.
Completeness5/5
The tool surface covers the full lifecycle: initialization, file management, task tracking, and automation hooks. No obvious missing operations for the stated purpose.
Maintenance
ActivityStale
ResponsivenessSyncing