OpenSpec MCP
Provides git hooks setup for OpenSpec projects to enable automated workflow integration with version control.
Renders and manages Markdown content for proposals, designs, and cross-service documentation with full syntax support in the dashboard.
Parses and displays services.yaml configuration files with visual card views showing service status, changes, and deployment order in cross-service architectures.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenSpec MCP show me the approval status for the add-user-auth change"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OpenSpec MCP
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-mcpClaude Code CLI with Dashboard:
claude mcp add openspec -- npx openspec-mcp --with-dashboardClaude Code CLI with specific project path:
claude mcp add openspec -- npx openspec-mcp /path/to/your/projectClaude 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 |
| Deep analysis of project architecture and stack |
| Intelligent review of changes with linked specs |
Available Tools
Guides & Context
Tool | Description |
| Get AGENTS.md usage guide |
| Get project.md context |
| Analyze project structure & stack |
| AI-enhanced context analysis |
Management
Tool | Description |
| List all change proposals |
| List all specifications |
| Show change details |
| Show spec details |
Validation
Tool | Description |
| Validate a change |
| Validate a spec |
| Batch validation |
Archive
Tool | Description |
| Archive completed change |
Tasks
Tool | Description |
| Get tasks and progress |
| Update task status |
| Batch update task status |
| Get all changes progress |
Approval
Tool | Description |
| Get approval status |
| Request approval |
| Approve a change |
| Reject a change |
| List pending approvals |
Reviews
Tool | Description |
| Add review comment to proposal/design/tasks |
| List reviews with filters |
| Reply to a review |
| Mark review as resolved |
| Get review statistics & blocking issues |
Templates
Tool | Description |
| List available templates |
| Create change from template |
| Preview template content |
Generator
Tool | Description |
| Generate proposal from requirements |
| Save generated proposal |
Hooks
Tool | Description |
| Setup git hooks for project |
Cross-Service
Tool | Description |
| List cross-service documents |
| 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 helpExamples
# 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 8080Web 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 |
| Drag-and-drop Kanban board |
| List all changes with progress |
| Change detail with Specs & Tasks |
| QA Runner dashboard |
| Project analysis & Tech stack |
| Browse specifications |
| 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 testRequirements
Node.js >= 20.0.0
OpenSpec CLI (
npm install -g @fission-ai/openspec)
License
MIT
Available Tools
40 toolsopenspec_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
Scored across 40 tools
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.
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.
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.
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
Related MCP Connectors
Work management with Spec-Driven Development: tasks, sprints and SDD approvals for coding agents.
Task and sprint coordination for humans and AI agents, with scoped API keys and full audit trail.
Tasks, sprints, releases and docs for engineering teams with AI coding agents.
Spec-driven development for AI coding agents: live requirements, stories and traceability over MCP
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides 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.5637 npm4,307GPL 3.0
- AlicenseNot gradedqualityDmaintenanceImplements 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 npm2MIT
- AlicenseNot gradedqualityDmaintenanceEnables 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.4MIT
- AlicenseNot gradedqualityCmaintenanceCentralized 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 npm1MIT