Skip to content
/

Specs Workflow MCP

specs-workflow-mcp · kingkongshot/specs-workflow-mcp · ★ 127 · last commit 2025-08-11

Enforces Requirements → Design → Tasks workflow via a single MCP tool with persistent JSON progress tracking that survives session restarts.

Best whenAll workflow state lives in a JSON file the AI queries via MCP, making the AI completely stateless between sessions while maintaining full workflow continuity.
vs seeds
taskmaster-ai's 37 tools and focuses on spec document creation + confi…
Primitive shape 1 total
MCP tools 1
00

Summary

Specs Workflow MCP — Summary

Specs Workflow MCP (v1.0.7, npm: spec-workflow-mcp) is a single-tool MCP server that guides AI agents through a structured Requirements → Design → Tasks workflow by exposing one MCP tool (specs-workflow) with five action types: init, check, skip, confirm, complete_task. Each workflow stage produces a canonical Markdown document (requirements.md, design.md, tasks.md) and a JSON progress tracker (.workflow-confirmations.json), with each stage requiring user confirmation before proceeding. It is the minimalist MCP implementation of spec-driven development: no CLI, no slash commands, no agents — just one tool that an AI invokes with structured JSON actions to manage document creation and progress tracking. Compared to seeds, it is closest to taskmaster-ai in being an MCP-anchored toolserver for spec workflow management, but is dramatically simpler (1 tool vs. 37 tools) and spec-focused rather than task-execution-focused. Unlike all other frameworks in this batch, it works with any MCP client regardless of AI model or IDE.

01

Overview

Specs Workflow MCP — Overview

Origin

Created by kingkongshot, published to npm as spec-workflow-mcp. TypeScript/Node.js MCP server. Version 1.0.7 (August 2025, last significant activity). 127 stars, 1 contributor.

Philosophy

The core problem the tool solves:

"Without Spec Workflow: AI jumps randomly between tasks, lacking systematic approach. Requirements disconnect from actual code implementation. Scattered documentation, difficult to track project progress."

"With Spec Workflow: AI completes tasks sequentially, maintaining focus and context. Complete traceability from user stories to code implementation. Standardized document templates with automatic progress management."

Key Design Principles

  1. Sequential stage enforcement: Each stage (requirements → design → tasks) requires confirmation before proceeding
  2. Persistent progress: Continue from where you left off with check, even in new conversations
  3. Standardized templates: Each document type has a consistent structure
  4. Universal MCP compatibility: Works with any MCP client

The README recommends adding a specific prompt block to your AI's system configuration:

# Spec Workflow Usage Guidelines

## 1. Check Project Progress
When user mentions continuing previous project or is unsure about current progress, 
proactively use: specs-workflow tool with action.type="check" and path="./specs"

## 4. Task Management
Always use the following to manage task progress:
specs-workflow tool with action.type="complete_task" and taskNumber="current task number"
Follow the workflow guidance to continue working until all tasks are completed.

This README-recommended CLAUDE.md block is the framework's "install into AI context" story.

Supported MCP Clients

Claude Code, Claude Desktop, Cursor, Cline, Windsurf, Zed, and any MCP-compatible client.

02

Architecture

Specs Workflow MCP — Architecture

Distribution

  • Type: MCP server (npm package)
  • Install: npx -y spec-workflow-mcp@latest (no global install required)
  • Language: TypeScript/Node.js
  • Version analyzed: 1.0.7

Installation

Claude Code

claude mcp add spec-workflow-mcp -s user -- npx -y spec-workflow-mcp@latest

Claude Desktop (config JSON)

{
  "mcpServers": {
    "spec-workflow": {
      "command": "npx",
      "args": ["-y", "spec-workflow-mcp@latest"]
    }
  }
}

Transport Protocol

stdio (standard MCP stdio transport)

Directory Tree (at runtime, created by the MCP server)

Single-module project

my-project/specs/
├── requirements.md              # User stories, functional specs
├── design.md                    # Architecture, APIs, data models
├── tasks.md                     # Numbered implementation steps
└── .workflow-confirmations.json # Progress tracking

Multi-module project

my-project/specs/
├── user-authentication/
│   ├── requirements.md
│   ├── design.md
│   ├── tasks.md
│   └── .workflow-confirmations.json
└── payment-system/
    └── ...

Source Structure

src/
├── index.ts                     # MCP server entry point
├── features/
│   └── executeWorkflow.ts       # Core workflow logic
│   └── shared/
│       ├── openApiLoader.ts     # OpenAPI spec loader
│       └── mcpTypes.ts          # MCP result types
└── tools/
    └── specWorkflowTool.ts      # Single MCP tool definition

Required Runtime

  • Node.js >= 18.0.0
03

Components

Specs Workflow MCP — Components

MCP Servers

1 server: specs-workflow-mcp

MCP Tools (1)

Tool Actions Purpose
specs-workflow init, check, skip, confirm, complete_task Manage full spec workflow lifecycle

Tool Input Schema

{
  path: string,                    // Spec directory path
  action: {
    type: "init" | "check" | "skip" | "confirm" | "complete_task",
    featureName?: string,          // Required for init
    introduction?: string,         // Required for init
    taskNumber?: string | string[] // Required for complete_task (single or array)
  }
}

Action Types

Action Purpose
init Initialize new feature workflow, create directory structure
check Check current workflow progress (resume across sessions)
skip Skip current stage and move to next
confirm Confirm current stage complete, advance workflow
complete_task Mark a task (or batch of tasks) as complete

Commands

None — it's an MCP tool, not a slash command framework.

Skills

None.

Subagents

None.

Hooks

None.

Scripts

None.

Templates (3 document types created by the tool)

Document Content
requirements.md User stories, functional requirements
design.md Architecture, APIs, data models
tasks.md Numbered implementation task list

State Files

  • specs/<feature>/.workflow-confirmations.json — tracks which stages are confirmed and which tasks are complete
05

Prompts

Specs Workflow MCP — Prompts

Prompt 1: MCP Tool Definition (System-Level Prompt Injection)

Source: src/tools/specWorkflowTool.ts

Technique: Tool description as instruction — the MCP tool's description field serves as the primary prompt, guiding the AI on when and how to invoke the tool.

{
  title: 'Intelligent Specification Workflow Tool',
  description: 'Manage intelligent writing workflow for software project requirements, 
    design, and task documents. Supports initialization, checking, skipping, 
    confirmation, and task completion operations (single or batch).',
  annotations: {
    progressReportingHint: true,
    longRunningHint: true,
    readOnlyHint: false,
    idempotentHint: false
  }
}

Notable technique: MCP annotations (progressReportingHint, longRunningHint) serve as behavioral hints to the AI client, setting expectations for tool execution characteristics.


Source: README.md

Technique: System prompt injection via CLAUDE.md — the README recommends this block be added to the AI's context, turning the MCP tool into a proactive workflow manager.

# Spec Workflow Usage Guidelines

## 1. Check Project Progress
When user mentions continuing previous project or is unsure about current progress, 
proactively use: specs-workflow tool with action.type="check" and path="./specs"

## 2. Documentation Language
All spec workflow documents should be written in English consistently.

## 3. Documentation Directory
All spec workflow documents should be placed in ./specs directory.

## 4. Task Management
Always use the following to manage task progress:
specs-workflow tool with action.type="complete_task" and taskNumber="current task number"
Follow the workflow guidance to continue working until all tasks are completed.

## 5. Best Practices
- Proactive progress check: When user says "continue from last time", first use 
  check to see current status
- Language consistency: Use the same language throughout all project documents

Notable technique: The README provides a complete, copy-pasteable CLAUDE.md configuration block — the framework ships its own AI context injection recipe, not just a tool.


Prompt 3: User Invocation Examples

Source: README.md

Technique: Natural language invocation — the AI recognizes spec workflow intent from freeform user messages.

"Help me use spec workflow to create a user authentication system"
# → AI calls specs-workflow with action.type="init"

"Use spec workflow to check ./my-project"
# → AI calls specs-workflow with action.type="check" and path="./my-project"
09

Uniqueness

Specs Workflow MCP — Uniqueness & Positioning

differs_from_seeds

Specs Workflow MCP is closest to taskmaster-ai in its MCP-anchored architecture (both expose workflow management as MCP tools), but is dramatically simpler: 1 tool with 5 action types vs. taskmaster-ai's 37 tools. Where taskmaster-ai manages a full task execution loop, specs-workflow-mcp stops at document creation and confirmation gating — it doesn't run implementation. Compared to openspec (closest command-based analogy), specs-workflow-mcp externalizes workflow state into JSON so the AI can be completely stateless between sessions, while openspec relies on the AI remembering phase context. Unlike all slash-command frameworks (specpulse, spec-kitty, spec-driven-agentic-development), specs-workflow-mcp is invoked by the AI itself (tool call), not by the user (slash command) — the intent detection is AI-driven.

Positioning

Specs-workflow-mcp occupies the "minimal MCP spec workflow" niche: the smallest possible surface that enforces Requirements → Design → Tasks with persistent progress tracking. It's suitable for teams who want to add structured spec workflow to an existing AI setup without changing their slash-command surface.

Distinctive Opinion

The check action as first-class session resumption mechanism is the key insight: because all state is in .workflow-confirmations.json, the AI can be completely context-free at session start and still find its way back to the current workflow position. No other framework in this batch makes session resumption this explicit.

Observable Failure Modes

  1. Single-tool surface: If the AI doesn't invoke the specs-workflow tool proactively, the framework provides no value — the README acknowledges this and provides CLAUDE.md injection instructions as a workaround.
  2. No implementation tracking: The tool stops at task list creation. It doesn't track code implementation or run tests.
  3. No multi-feature orchestration: Each feature is independent; no cross-feature dependency tracking.
  4. Dormant project: Last meaningful update August 2025 (v1.0.7). 127 stars but 1 contributor.
04

Workflow

Specs Workflow MCP — Workflow

Phases

Phase Action Artifact
1. Requirements init → AI creates requirements.md specs/<feature>/requirements.md
2. Confirm requirements confirm .workflow-confirmations.json updated
3. Design AI creates design.md specs/<feature>/design.md
4. Confirm design confirm .workflow-confirmations.json updated
5. Tasks AI creates tasks.md specs/<feature>/tasks.md
6. Confirm tasks confirm .workflow-confirmations.json updated
7. Implement Agent works through tasks Code files
8. Complete tasks complete_task per task .workflow-confirmations.json task status

Phase-to-Artifact Map

Phase Artifact
Requirements requirements.md (user stories, functional specs)
Design design.md (architecture, APIs, data models)
Tasks tasks.md (numbered implementation steps)
Progress tracking .workflow-confirmations.json

Approval Gates

3 mandatory stage confirmations (requirements, design, tasks) before proceeding. The AI requests user confirmation after each document before moving to the next. This is the core enforcement mechanism.

Gates are yes/no confirmations embedded in the MCP workflow guidance output.

Resumption

The check action reads .workflow-confirmations.json and returns the current progress state, enabling session resumption in new conversations without losing context.

Batch Task Completion

complete_task accepts either a single taskNumber string or an array of strings, enabling batch marking of multiple tasks complete at once (added in v1.0.7).

Execution Mode

Sequential, one-shot per feature. No automation beyond document creation and progress tracking.

06

Memory Context

Specs Workflow MCP — Memory & Context

State Storage

JSON file per feature directory:

File Purpose
specs/<feature>/.workflow-confirmations.json Tracks which stages are confirmed + task completion status

Memory Type

File-based (JSON).

Persistence Scope

Project-level. Each feature directory has its own .workflow-confirmations.json.

Cross-Session Handoff

Strong. The check action reads .workflow-confirmations.json and returns the current workflow state, enabling resumption in new conversations. This is a first-class feature — highlighted in the README as a key value proposition:

"Persistent progress: Continue from where you left off with check, even in new conversations"

Compaction

Not applicable.

Not applicable.

Memory Model

The MCP tool manages state through the .workflow-confirmations.json file directly. The AI agent does not need to maintain in-context memory of progress — it asks the tool (action.type="check") whenever it needs to know the current state.

07

Orchestration

Specs Workflow MCP — Orchestration

Multi-Agent

No. Single agent, single feature at a time.

Orchestration Pattern

Sequential. Requirements → Design → Tasks, each stage confirmed before advancing.

Isolation Mechanism

None.

Multi-Model

No.

Execution Mode

Sequential, with confirmation gates between stages.

Prompt Chaining

Yes. Requirements informs design; design informs tasks. The tool tracks progression.

Auto-Validators

None. Validation is human confirmation at each stage.

Hooks

None.

Git Automation

None.

Crash Recovery

Yes — .workflow-confirmations.json persists state. The check action provides full resumption without needing the AI to remember context.

Unique Property: Stateless AI, Stateful Tool

The MCP tool maintains all workflow state externally. The AI can be stateless (new session, no memory) and still pick up exactly where it left off by calling check. This is the defining architectural advantage over slash-command-only frameworks.

08

Ui Cli Surface

Specs Workflow MCP — UI & CLI Surface

Dedicated CLI Binary

Exists: No

Local UI

Exists: No

IDE Integration

MCP server — integrates with any MCP client:

  • Claude Code: claude mcp add command
  • Claude Desktop: JSON config
  • Cursor: JSON config
  • Cline: JSON config
  • Windsurf: JSON config
  • Zed: JSON config

No dedicated VS Code extension or UI surface.

Observability

.workflow-confirmations.json is the only persistent state. No log files, no dashboard.

Related frameworks

same archetype · same primary tool · same memory type

Taskmaster AI ★ 27k

Converts a PRD into a dependency-ordered JSON task graph that AI coding agents execute one task at a time, eliminating context…

ccmemory ★ 1

Accumulates decisions, corrections, and failed approaches from Claude Code sessions into a queryable Neo4j graph so each new…

Pimzino spec-workflow-mcp ★ 4.2k

MCP server providing spec-driven development workflow with dashboard-backed approval gates, implementation logging, and VSCode…

MCP Shrimp Task Manager ★ 2.1k

Convert natural language requests into structured AI development tasks with chain-of-thought enforcement, reflection gates, and…

Bernstein ★ 460

Govern parallel CLI coding agents with a deterministic Python scheduler, HMAC-chained audit trail, and compliance-ready signed…

LeanSpec ★ 252

Provides a unified spec CLI and MCP server over any existing spec backend (markdown, GitHub Issues, ADO), making spec-driven…