Skip to main content
Glama

OpenSpec MCP

npm version

MCP (Model Context Protocol) server for OpenSpec - spec-driven development with real-time dashboard and approval workflow.

Features

  • MCP Tools: Full OpenSpec CLI functionality exposed as MCP tools

  • Review System: Add, reply, resolve review comments on proposals/designs

  • Task Tracking: Parse tasks.md and track progress in real-time

  • Approval Workflow: Request, approve, and reject change proposals

  • Cross-Service Docs: View cross-service design documents from single service projects

  • Web Dashboard: Visual management interface with real-time updates and Markdown rendering

Related MCP server: DinCoder

Quick Start

1. Add to your MCP configuration

Claude Code CLI (recommended - uses current directory):

claude mcp add openspec -- npx openspec-mcp

Claude Code CLI with Dashboard:

claude mcp add openspec -- npx openspec-mcp --with-dashboard

Claude Code CLI with specific project path:

claude mcp add openspec -- npx openspec-mcp /path/to/your/project

Claude Desktop / Cursor / Other:

{
  "mcpServers": {
    "openspec": {
      "command": "npx",
      "args": ["-y", "openspec-mcp"]
    }
  }
}

With Dashboard:

{
  "mcpServers": {
    "openspec": {
      "command": "npx",
      "args": ["-y", "openspec-mcp", "--with-dashboard"]
    }
  }
}

2. Use in conversation

# List all changes
"List all openspec changes"

# Show change details
"Show me the add-user-auth change"

# Update task status
"Mark task 1.1 as done in add-user-auth"

# Request approval
"Request approval for add-user-auth from @reviewer"

Available Prompts (New!)

Directly leverage your Client's AI capabilities (Claude, Codex) with context-aware prompts.

Prompt

Description

analyze-project

Deep analysis of project architecture and stack

review-change

Intelligent review of changes with linked specs

Available Tools

Guides & Context

Tool

Description

openspec_get_instructions

Get AGENTS.md usage guide

openspec_get_project_context

Get project.md context

openspec_analyze_context

Analyze project structure & stack

openspec_ai_analyze_context

AI-enhanced context analysis

Management

Tool

Description

openspec_list_changes

List all change proposals

openspec_list_specs

List all specifications

openspec_show_change

Show change details

openspec_show_spec

Show spec details

Validation

Tool

Description

openspec_validate_change

Validate a change

openspec_validate_spec

Validate a spec

openspec_validate_all

Batch validation

Archive

Tool

Description

openspec_archive_change

Archive completed change

Tasks

Tool

Description

openspec_get_tasks

Get tasks and progress

openspec_update_task

Update task status

openspec_batch_update_tasks

Batch update task status

openspec_get_progress_summary

Get all changes progress

Approval

Tool

Description

openspec_get_approval_status

Get approval status

openspec_request_approval

Request approval

openspec_approve_change

Approve a change

openspec_reject_change

Reject a change

openspec_list_pending_approvals

List pending approvals

Reviews

Tool

Description

openspec_add_review

Add review comment to proposal/design/tasks

openspec_list_reviews

List reviews with filters

openspec_reply_review

Reply to a review

openspec_resolve_review

Mark review as resolved

openspec_get_review_summary

Get review statistics & blocking issues

Templates

Tool

Description

openspec_list_templates

List available templates

openspec_create_change

Create change from template

openspec_preview_template

Preview template content

Generator

Tool

Description

openspec_generate_proposal

Generate proposal from requirements

openspec_save_proposal

Save generated proposal

Hooks

Tool

Description

openspec_setup_hooks

Setup git hooks for project

Cross-Service

Tool

Description

openspec_list_cross_service_docs

List cross-service documents

openspec_read_cross_service_doc

Read a cross-service document

Cross-Service Documentation

For multi-service projects sharing a common .cross-service/ directory (e.g., in a Git worktree), configure your proposal.md frontmatter:

---
crossService:
  rootPath: "../../../../.cross-service" # Relative to change directory
  documents:
    - design.md
    - flows.md
    - services.yaml
  archivePolicy: snapshot # 'snapshot' (default) or 'reference'
---
# Your proposal content...

The Dashboard will display a "Cross-Service" tab with:

  • design.md / flows.md: Rendered as Markdown

  • services.yaml: Visual card view with service status, changes, and deployment order

Approval Workflow

draft -> pending_approval -> approved -> implementing -> completed -> archived
                         -> rejected -> draft (revise and resubmit)

Approval records are stored in openspec/approvals/<change-id>.json.

CLI Options

openspec-mcp [path] [options]

Arguments:
  path                    Project directory path (default: current directory)

Options:
  --dashboard             Start web dashboard only (HTTP mode)
  --with-dashboard        Start MCP server with web dashboard
  -p, --port <number>     Dashboard port (default: 3000; auto-increments if busy, 0 for random)
  -V, --version           Output version number
  -h, --help              Display help

Examples

# MCP server only (uses current directory)
openspec-mcp

# MCP server with specific project
openspec-mcp /path/to/project

# Dashboard only
openspec-mcp --dashboard

# MCP server + Dashboard
openspec-mcp --with-dashboard

# Dashboard on custom port
openspec-mcp --dashboard --port 8080

Web Dashboard

The dashboard provides a visual interface for managing changes, tracking tasks, and handling approvals.

Dashboard Pages

Route

Description

/

Overview with stats and recent changes

/kanban

Drag-and-drop Kanban board

/changes

List all changes with progress

/changes/:id

Change detail with Specs & Tasks

/qa

QA Runner dashboard

/context

Project analysis & Tech stack

/specs

Browse specifications

/approvals

Approval queue management

Features

  • Real-time Updates: WebSocket connection for live progress and review updates

  • Kanban Board: 6-column workflow (Backlog -> Released) with drag-and-drop support

  • QA Dashboard: Monitor and trigger quality checks directly from UI

  • Context Analysis: Auto-detect tech stack and visualize directory structure

  • Task Management: Toggle task status directly from the UI

  • Approval Actions: Approve/reject changes with comments

  • Progress Visualization: Progress bars and status badges

  • Review Management: View, resolve and track reviews with Open/Resolved tabs

  • Cross-Service Docs: View cross-service design documents with visual services.yaml display

  • Markdown Rendering: Proposals and designs rendered with full Markdown support

Development

# Install dependencies
npm install

# Build
npm run build

# Development mode
npm run dev

# Run tests
npm test

Requirements

  • Node.js >= 20.0.0

  • OpenSpec CLI (npm install -g @fission-ai/openspec)

License

MIT

Available Tools

40 tools
openspec_add_reviewC

Add a review comment to a change or spec

Inputs: targetType (required), targetId (required), type (required), body (required), +4 more.

openspec_ai_analyze_contextC

使用 AI 深度分析项目上下文并给出 project.md 更新建议。 利用 MCP Client 的 AI 能力进行分析。

Inputs: focus.

openspec_analyze_contextC

分析项目上下文(技术栈、目录结构、代码模式)

Inputs: refresh.

openspec_approve_changeC

Approve a change

Inputs: changeId (required), approver (required), comment.

openspec_archive_changeA

Archive a completed change proposal. Automatically syncs revisions to design.md before archiving.

Inputs: changeId (required), skipSpecs.

openspec_batch_update_tasksB

Batch update multiple task statuses in a change

Inputs: changeId (required), updates (required).

openspec_create_changeB

Create a new change from a template

Inputs: changeId (required), template, title.

openspec_critique_proposalA

评审 proposal 或 design 文档,识别潜在问题(完整性、可行性、安全、边界条件、清晰度)

Inputs: changeName (required), documentType.

openspec_generate_proposalA

Generate a proposal from requirement description (returns template for AI to complete)

Inputs: requirement (required), changeId.

openspec_get_approval_statusC

Get approval status for a change

Inputs: changeId (required).

openspec_get_critique_resultC

获取变更的评审结果(最新或历史记录)

Inputs: changeName (required), latest, limit.

openspec_get_instructionsA

Get OpenSpec usage instructions from AGENTS.md

Inputs: no named parameters.

openspec_get_progress_summaryA

Get progress summary for all changes

Inputs: no named parameters.

openspec_get_project_contextB

Get project context from project.md

Inputs: no named parameters.

openspec_get_review_summaryB

Get review summary for a change (all files)

Inputs: changeId (required).

openspec_get_tasksB

Get tasks and progress for a change

Inputs: changeId (required).

openspec_list_changesC

List all OpenSpec change proposals

Inputs: includeArchived.

openspec_list_cross_service_docsA

List cross-service documents for a change proposal. Returns documents defined in proposal.md frontmatter crossService config.

Inputs: changeId (required).

openspec_list_pending_approvalsA

List all changes pending approval

Inputs: no named parameters.

openspec_list_reviewsC

List review comments for a change or spec

Inputs: targetType (required), targetId (required), status, type.

openspec_list_revisionsB

List all recorded design revisions for a change

Inputs: changeId (required), type, affectedAPI.

openspec_list_specsB

List all OpenSpec specifications

Inputs: no named parameters.

openspec_list_templatesA

List all available change templates

Inputs: no named parameters.

openspec_preview_templateB

Preview the content of a template

Inputs: template (required).

openspec_read_cross_service_docA

Read a specific cross-service document content. Use openspec_list_cross_service_docs first to see available documents.

Inputs: changeId (required), docName (required).

openspec_record_revisionA

Record a design revision when fixing bugs or adjusting design that deviates from the original proposal/design. Call this when your changes affect the documented design.

Inputs: changeId (required), description (required), reason, metadata.

openspec_reject_changeC

Reject a change

Inputs: changeId (required), rejector (required), reason (required).

openspec_reply_reviewC

Reply to a review comment

Inputs: targetType (required), targetId (required), reviewId (required), body (required), +1 more.

openspec_request_approvalC

Request approval for a change

Inputs: changeId (required), requestedBy (required), reviewers.

openspec_resolve_reviewC

Mark a review as resolved or won't fix

Inputs: targetType (required), targetId (required), reviewId (required), resolution, +1 more.

openspec_save_proposalC

Save a generated proposal and tasks to a new change

Inputs: changeId (required), proposal (required), tasks (required).

openspec_setup_hooksB

Install or uninstall OpenSpec Git hooks

Inputs: action (required).

openspec_show_changeB

Show details of a specific change proposal

Inputs: changeId (required), deltasOnly, summary, maxContentLength, +1 more.

openspec_show_specB

Show details of a specific specification

Inputs: specId (required).

openspec_sync_revisionsC

Sync recorded revisions to design.md or proposal.md before archiving

Inputs: changeId (required).

openspec_update_revisionC

Update an existing revision, usually to add metadata or correct information.

Inputs: changeId (required), revisionId (required), metadata.

openspec_update_taskB

Update task status

Inputs: changeId (required), taskId (required), status (required).

openspec_validate_allC

Validate all changes and/or specs

Inputs: type, strict.

openspec_validate_changeC

Validate a change proposal

Inputs: changeId (required), strict.

openspec_validate_specC

Validate a specification

Inputs: specId (required), strict.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 40 tools

    Disambiguation4/5

    Most tools have distinct purposes (e.g., create vs. list vs. approve), but a few pairs like openspec_analyze_context and openspec_ai_analyze_context, or openspec_get_critique_result and openspec_get_review_summary, could cause confusion due to overlapping scope.

    Naming Consistency5/5

    All tools follow a consistent 'openspec_verb_noun' pattern with underscores, and verbs are descriptive (e.g., add, create, list, validate). No mixing of casing or conventions.

    Tool Count2/5

    With 40 tools, the count far exceeds the typical well-scoped range of 3-15. While the domain is broad, many tools are specialized (e.g., openspec_setup_hooks) and would benefit from consolidation.

    Completeness4/5

    The tool set covers most lifecycle operations for changes, specs, reviews, tasks, and proposals. However, missing a direct delete/edit for changes/specs and lack of spec creation tools leave minor gaps.

    Maintenance

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Provides structured spec-driven development workflow tools for AI-assisted software development with sequential spec creation (Requirements → Design → Tasks). Features a real-time web dashboard for monitoring project progress and managing development workflows.
      5
      637 npm
      4,307
      GPL 3.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      Implements GitHub's Spec-Driven Development methodology, transforming natural language requirements into executable specifications, technical plans, and ordered task lists with contract-based validation and progress tracking.
      26 npm
      2
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables spec-driven development workflows with AI assistants, providing tools for managing specification lifecycles, task dependencies, code navigation, testing, and automated reviews through a unified CLI and MCP interface.
      4
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Centralized MCP server for spec-driven AI agent workflows, enabling isolated feature management, task tracking, and implementation with handoff and archiving capabilities across multiple projects and developers.
      27 npm
      1
      MIT