Spec MCP

Spec MCP

Manages software project specifications with AI-powered guided creation, querying, validation, and dependency analysis through the Model Context Protocol.

Category
访问服务器

README

Spec MCP

A Model Context Protocol (MCP) server for managing software project specifications with intelligent tooling and AI-powered guidance.

Overview

Spec MCP provides a structured approach to managing software requirements, plans, components, decisions, and project constitutions through the Model Context Protocol. It enables AI assistants to help you create, query, and analyze project specifications in a standardized, traceable way using guided Q&A workflows and comprehensive validation.

Features

  • 🤖 Guided Creation Flow - AI-powered Q&A workflow for creating specs with research and validation
  • 📚 Built-in LLM Guidance - MCP resources with comprehensive workflow documentation and best practices
  • 📋 Requirements Management - Define what needs to be built with measurable acceptance criteria
  • 📐 Component Modeling - Structure your architecture (apps, services, libraries)
  • 🗺️ Implementation Planning - Create detailed plans with tasks, test cases, flows, and API contracts
  • ⚖️ Decision Tracking - Document architectural decisions and their rationale
  • 📜 Project Constitutions - Define guiding principles and standards for your project
  • 🔍 Intelligent Querying - Search, filter, sort with facets, dependency expansion, and next-task detection
  • 📊 Dependency Analysis - Understand relationships with metrics (fan-in/fan-out, coupling, stability)
  • ✅ Validation - Automated validation with reference checking, cycle detection, and health scoring

Installation

From npm (Recommended)

npm install -g @spec-mcp/server

Using pnpm

pnpm add -g @spec-mcp/server

Using npx (No Installation)

npx -y @spec-mcp/server

Quick Start

1. Configure Claude Desktop

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

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

Optional Environment Variables:

  • SPECS_PATH - Specs folder relative to git root (default: auto-detects specs or .specs)

2. Create Your Specs Directory

mkdir -p specs/{requirements,plans,components,constitutions,decisions}

Expected Directory Structure:

specs/
├── requirements/     # What needs to be built
│   └── req-001-user-auth.yml
├── plans/           # How to build it
│   └── pln-001-auth-impl.yml
├── components/      # System architecture
│   ├── app-001-web-client.yml
│   └── svc-001-api-server.yml
├── constitutions/   # Project principles
│   └── con-001-code-standards.yml
└── decisions/       # Architectural decisions
    └── dec-001-jwt-tokens.yml

3. Create Your First Requirement

Ask Claude: "Create a requirement for user authentication"

Claude will guide you through a Q&A flow:

  1. Research - Search for similar specs and review constitutions
  2. Define - Name, description, priority
  3. Criteria - Measurable acceptance criteria
  4. Finalize - Review and create

4. Query and Analyze

// Find next task to work on
query({ next_task: true })

// Search requirements
query({
  types: ["requirement"],
  search_terms: "authentication",
  mode: "summary"
})

// Validate system health
validate({
  check_references: true,
  check_cycles: true,
  include_health: true
})

Specification Types

Type Purpose Example
Requirement Define what needs to be built with acceptance criteria User authentication system with OAuth support
Component Model system architecture (apps, services, libraries) Authentication service with database schema
Plan Implementation details with tasks and test cases Plan for implementing OAuth provider
Decision Document architectural decisions Decision to use JWT for session management
Constitution Project principles and guidelines Code quality standards, security requirements

How It Works: Guided Creation Flow

Spec MCP uses an intelligent Q&A workflow to help you create high-quality specifications:

1️⃣ Research Phase

  • Prevent Duplicates: Searches existing specs for similar work
  • Constitution Alignment: Reviews project principles and standards
  • Library Research: Looks up third-party documentation via Context7
  • Best Practices: Fetches architectural patterns and standards

2️⃣ Definition Phase

  • Structured Questions: Guides you through naming, description, priority
  • Schema Validation: Validates input at each step
  • Context-Aware: Adapts questions based on spec type

3️⃣ Detailed Planning

  • Requirements: Define measurable acceptance criteria
  • Components: Specify capabilities, constraints, dependencies
  • Plans: Break down into tasks, flows, test cases, APIs
  • Decisions: Document options, rationale, and impact

4️⃣ Finalization

  • Auto-Mapping: Converts Q&A data to proper schema
  • File Creation: Generates well-formatted YAML
  • Validation: Ensures all references and structure are valid

Available Tools

Creation Flow (Guided Q&A)

  • start_draft - Begin creating a spec with guided Q&A workflow
    • Supports: requirement, component, plan, constitution, decision
    • Auto-research similar specs and constitutions
  • update_draft - Answer questions step-by-step to build the spec
    • Collects data through structured questions
    • Validates input at each step
  • finalize_draft - Complete the draft and create the specification
    • Maps collected data to schema
    • Creates final YAML file

Management

  • update_spec - Modify finalized specifications with validation
    • Update any field (name, description, priority, tasks, etc.)
    • Validates changes against schema
    • Locked specs only allow progress tracking updates
  • delete_spec - Remove specifications or drafts
    • Auto-detects type from ID
    • Supports all spec types

Querying

  • query - Comprehensive unified query tool
    • Modes: summary, full, custom (with field selection)
    • Lookup: By ID, multiple IDs, or list/search
    • Search: Full-text with fuzzy matching support
    • Filters: Type-specific (priority, status, completion, dates, orphans, coverage)
    • Sorting: Multi-field sorting (relevance, date, priority, name)
    • Pagination: Offset/limit with metadata
    • Facets: Count aggregations by type, priority, status, folder
    • Expansion: Include dependencies, references, parent entities with metrics
    • Next Task: Auto-detect highest priority unblocked task
    • Sub-entities: Access tasks, test cases, flows, APIs, data models directly

Validation

  • validate - System-wide validation and health scoring
    • Reference checking (broken links)
    • Circular dependency detection
    • Health score (0-100) with breakdown
    • Entity-specific or system-wide validation

MCP Resources & Prompts

Resources

Spec MCP exposes comprehensive guidance documentation as MCP resources that AI assistants can discover and read automatically:

  • spec-mcp://guide/getting-started - Quick start guide for spec-driven development
  • spec-mcp://guide/planning-workflow - Complete workflow for planning features with specs
  • spec-mcp://guide/implementation-workflow - Development workflow for implementing from specs
  • spec-mcp://guide/best-practices - Patterns, anti-patterns, and tips
  • spec-mcp://guide/query-guide - Complete guide for querying and analyzing specs

These resources help LLMs understand:

  • When to use each spec type
  • How to link specs together (requirements → plans via criteria_id)
  • Best practices for creating effective specs
  • Common workflows for planning and implementation
  • Advanced querying patterns

Prompts

Spec MCP provides interactive prompts for guided setup and workflows:

setup-project - Interview-Style Setup Guide

An interactive setup assistant that asks about your project and provides tailored guidance.

How it works:

  1. Asks about your project type (web-app, API, library, fullstack, etc.)
  2. Asks if you have existing code or starting fresh
  3. Asks about your team size (solo or team)
  4. Generates personalized setup instructions based on your answers

What you get:

  1. Directory Structure - Commands to create specs/ folders
  2. Project Constitution - Example constitutions tailored to your project type
    • API projects: API-first design, versioning, error handling
    • Web apps: Accessibility, performance, component architecture
    • Libraries: Public API design, semantic versioning
  3. First Requirement - Example requirement creation walkthrough
  4. Claude Code Agents - Ready-to-use agent configurations:
    • Planning Agent (.claude/agents/planning-agent.md) - Plans features using spec-mcp workflows
    • Implementation Agent (.claude/agents/implementation-agent.md) - Implements tasks from specs
  5. Slash Commands - Optional command shortcuts (/plan, /next, /validate)

Usage in Claude Code:

Help me set up spec-mcp for my project

The assistant will ask questions conversationally and adapt recommendations based on your specific context.

AI assistants can read these resources to provide better guidance without manual instruction.

Architecture

This is a monorepo powered by Turborepo and pnpm workspaces:

Packages

  • @spec-mcp/server (v0.3.0) - MCP server implementation with tool registration
  • @spec-mcp/core (v0.1.0) - Core business logic, operations, and validation engines
  • @spec-mcp/data (v0.0.1) - Data schemas, YAML operations, and Zod validation
  • @spec-mcp/cli (v0.1.0) - CLI tool for validating specs (spec-validate)
  • @spec-mcp/utils (v0.1.0) - Shared utilities for file operations
  • @spec-mcp/tsconfig - Shared TypeScript configuration

Tech Stack

  • Runtime: Node.js ≥18.0.0
  • Package Manager: pnpm ≥8.0.0
  • Build System: Turborepo + TypeScript
  • Testing: Vitest with coverage
  • Linting/Formatting: Biome
  • Protocol: Model Context Protocol SDK v1.18.2
  • Validation: Zod v3.23.8
  • Data Format: YAML

Development

Prerequisites

  • Node.js >= 18.0.0
  • pnpm >= 8.0.0

Setup

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Run tests
pnpm test

# Start development mode
pnpm dev

# Run MCP inspector for debugging
pnpm inspector

Project Scripts

# Building
pnpm build          # Build all packages (turbo)
pnpm dev            # Watch mode for all packages (turbo)
pnpm clean          # Clean all build artifacts (turbo)

# Quality Checks
pnpm typecheck      # Type check all packages (turbo)
pnpm lint           # Lint with Biome
pnpm lint:fix       # Lint and auto-fix
pnpm format         # Format with Biome
pnpm format:check   # Check formatting
pnpm check          # Lint + format check
pnpm check:fix      # Lint + format and auto-fix

# Testing
pnpm test           # Run all tests (turbo)
pnpm test:watch     # Run tests in watch mode (turbo)
pnpm test:coverage  # Run tests with coverage (turbo)

# Utilities
pnpm pre-commit     # Pre-commit hook (lint + typecheck + test)
pnpm inspector      # Launch MCP Inspector for debugging
pnpm knip           # Find unused dependencies

Documentation

Detailed documentation for each specification type:

Common Workflows

Developer Flow: Finding What to Work On

// 1. Get next recommended task (highest priority, unblocked)
query({ next_task: true })

// 2. Get full plan details with dependencies
query({
  entity_id: "pln-001-auth-impl",
  mode: "full",
  expand: {
    dependencies: true,
    dependency_metrics: true
  }
})

// 3. Mark task as completed
update_spec({
  id: "pln-001-auth-impl",
  updates: {
    tasks: [
      { id: "task-001", completed: true, verified: true }
    ]
  }
})

// 4. Validate system health
validate({
  check_references: true,
  check_cycles: true,
  include_health: true
})

Advanced Querying

// Multi-filter search with facets
query({
  types: ["plan", "requirement"],
  search_terms: "authentication security",
  filters: {
    plan_priority: ["critical", "high"],
    plan_completed: false
  },
  include_facets: true,
  facet_fields: ["type", "priority", "status"],
  sort_by: [
    { field: "priority", order: "desc" },
    { field: "created_at", order: "desc" }
  ],
  limit: 20
})

// Find orphaned or uncovered specs
query({
  types: ["requirement"],
  filters: {
    uncovered: true  // Requirements without plans
  }
})

// Dependency analysis with metrics
query({
  entity_id: "req-001-user-auth",
  expand: {
    dependencies: true,
    dependency_metrics: true,
    depth: 2
  }
})

Sub-Entity Access

// Access specific task from plan
query({
  entity_id: "pln-001-auth-impl",
  sub_entity_id: "task-002"
})

// Access test case
query({
  entity_id: "pln-001-auth-impl",
  sub_entity_id: "tc-001"
})

License

MIT License - see LICENSE for details

Repository

https://github.com/lucasilverentand/spec-mcp

Contributing

Contributions are welcome! Please feel free to submit issues and pull requests.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选