Skip to main content
Glama

Spec Workflow MCP

I HAVE TAKEN A SMALL BREAK FROM THIS REPO FOR PERSONAL REASONS BUT I WILL BE BACK WITH SOME UPDATES IN THE NEAR FUTURE THANK YOU FOR YOUR UNDERSTANDING

npm version VSCode Extension

A Model Context Protocol (MCP) server for structured spec-driven development with real-time dashboard and VSCode extension.

☕ Support This Project

Related MCP server: OpenSpec MCP

📺 Showcase

🔄 Approval System in Action

See how the approval system works: create documents, request approval through the dashboard, provide feedback, and track revisions.

📊 Dashboard & Spec Management

Explore the real-time dashboard: view specs, track progress, navigate documents, and monitor your development workflow.

✨ Key Features

  • Structured Development Workflow - Sequential spec creation (Requirements → Design → Tasks)

  • Real-Time Web Dashboard - Monitor specs, tasks, and progress with live updates

  • VSCode Extension - Integrated sidebar dashboard for VSCode users

  • Approval Workflow - Complete approval process with revisions

  • Task Progress Tracking - Visual progress bars and detailed status

  • Implementation Logs - Searchable logs of all task implementations with code statistics

  • Multi-Language Support - Available in 11 languages

🌍 Supported Languages

🇺🇸 English • 🇯🇵 日本語 • 🇨🇳 中文 • 🇪🇸 Español • 🇧🇷 Português • 🇩🇪 Deutsch • 🇫🇷 Français • 🇷🇺 Русский • 🇮🇹 Italiano • 🇰🇷 한국어 • 🇸🇦 العربية

📖 Documentation in your language:

English | 日本語 | 中文 | Español | Português | Deutsch | Français | Русский | Italiano | 한국어 | العربية

🚀 Quick Start

Step 1: Add to your AI tool

Add to your MCP configuration (see client-specific setup below):

{
  "mcpServers": {
    "spec-workflow": {
      "command": "npx",
      "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
    }
  }
}

Step 2: Choose your interface

Option A: Web Dashboard (Required for CLI users) Start the dashboard (runs on port 5000 by default):

npx -y @pimzino/spec-workflow-mcp@latest --dashboard

The dashboard will be accessible at: http://localhost:5000

Note: Only one dashboard instance is needed. All your projects will connect to the same dashboard.

Option B: VSCode Extension (Recommended for VSCode users)

Install Spec Workflow MCP Extension from the VSCode marketplace.

📝 How to Use

Simply mention spec-workflow in your conversation:

  • "Create a spec for user authentication" - Creates complete spec workflow

  • "List my specs" - Shows all specs and their status

  • "Execute task 1.2 in spec user-auth" - Runs a specific task

See more examples →

🔧 MCP Client Setup

Configure in your Augment settings:

{
  "mcpServers": {
    "spec-workflow": {
      "command": "npx",
      "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
    }
  }
}

Add to your MCP configuration:

claude mcp add spec-workflow npx @pimzino/spec-workflow-mcp@latest -- /path/to/your/project

Important Notes:

  • The -y flag bypasses npm prompts for smoother installation

  • The -- separator ensures the path is passed to the spec-workflow script, not to npx

  • Replace /path/to/your/project with your actual project directory path

Alternative for Windows (if the above doesn't work):

claude mcp add spec-workflow cmd.exe /c "npx @pimzino/spec-workflow-mcp@latest /path/to/your/project"

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "spec-workflow": {
      "command": "npx",
      "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
    }
  }
}

Important: Run the dashboard separately with --dashboard before starting the MCP server.

Add to your MCP server configuration:

{
  "mcpServers": {
    "spec-workflow": {
      "command": "npx",
      "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
    }
  }
}

Add to your Continue configuration:

{
  "mcpServers": {
    "spec-workflow": {
      "command": "npx",
      "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
    }
  }
}

Add to your Cursor settings (settings.json):

{
  "mcpServers": {
    "spec-workflow": {
      "command": "npx",
      "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
    }
  }
}

Add to your opencode.json configuration file:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "spec-workflow": {
      "type": "local",
      "command": ["npx", "-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"],
      "enabled": true
    }
  }
}

Add to your ~/.codeium/windsurf/mcp_config.json configuration file:

{
  "mcpServers": {
    "spec-workflow": {
      "command": "npx",
      "args": ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]
    }
  }
}

Add to your ~/.codex/config.toml configuration file:

[mcp_servers.spec-workflow]
command = "npx"
args = ["-y", "@pimzino/spec-workflow-mcp@latest", "/path/to/your/project"]

🐳 Docker Deployment

Run the dashboard in a Docker container for isolated deployment:

# Using Docker Compose (recommended)
cd containers
docker-compose up --build

# Or using Docker CLI
docker build -f containers/Dockerfile -t spec-workflow-mcp .
docker run -p 5000:5000 -v "./workspace/.spec-workflow:/workspace/.spec-workflow:rw" spec-workflow-mcp

The dashboard will be available at: http://localhost:5000

See Docker setup guide →

🔒 Security

Spec-Workflow MCP includes enterprise-grade security features suitable for corporate environments:

✅ Implemented Security Controls

Feature

Description

Localhost Binding

Binds to 127.0.0.1 by default, preventing network exposure

Rate Limiting

120 requests/minute per client with automatic cleanup

Audit Logging

Structured JSON logs with timestamp, actor, action, and result

Security Headers

X-Content-Type-Options, X-Frame-Options, X-XSS-Protection, CSP, Referrer-Policy

CORS Protection

Restricted to localhost origins by default

Docker Hardening

Non-root user, read-only filesystem, dropped capabilities, resource limits

⚠️ Not Yet Implemented

Feature

Workaround

HTTPS/TLS

Use a reverse proxy (nginx, Apache) with TLS certificates

User Authentication

Use a reverse proxy with Basic Auth or OAuth2 Proxy for SSO

For External/Network Access

If you need to expose the dashboard beyond localhost, we recommend:

  1. Keep dashboard on localhost (127.0.0.1)

  2. Use nginx or Apache as a reverse proxy with:

    • TLS/HTTPS termination

    • Basic authentication or OAuth2

  3. Configure firewall rules to restrict access

# Example nginx reverse proxy with auth
server {
    listen 443 ssl;
    server_name dashboard.example.com;
    
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    
    auth_basic "Dashboard Access";
    auth_basic_user_file /etc/nginx/.htpasswd;
    
    location / {
        proxy_pass http://127.0.0.1:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

See Docker security guide →

🔒 Sandboxed Environments

For sandboxed environments (e.g., Codex CLI with sandbox_mode=workspace-write) where $HOME is read-only, use the SPEC_WORKFLOW_HOME environment variable to redirect global state files to a writable location:

SPEC_WORKFLOW_HOME=/workspace/.spec-workflow-mcp npx -y @pimzino/spec-workflow-mcp@latest /workspace

See Configuration Guide →

📚 Documentation

📁 Project Structure

your-project/
  .spec-workflow/
    approvals/
    archive/
    specs/
    steering/
    templates/
    user-templates/
    config.example.toml

🛠️ Development

# Install dependencies
npm install

# Build the project
npm run build

# Run in development mode
npm run dev

See development guide →

📄 License

GPL-3.0

⭐ Star History

Available Tools

5 tools
approvalsA

Manage approval requests through the dashboard interface.

Instructions

Use this tool to request, check status, or delete approval requests. The action parameter determines the operation:

  • 'request': Create a new approval request after creating each document

  • 'status': Check the current status of an approval request

  • 'delete': Clean up completed, rejected, or needs-revision approval requests (cannot delete pending requests)

CRITICAL: Only provide filePath parameter for requests - the dashboard reads files directly. Never include document content. Wait for user to review and approve before continuing.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesThe action to perform: request, status, or delete
projectPathNoAbsolute path to the project root (optional - uses server context path if not provided)
approvalIdNoThe ID of the approval request (required for status and delete actions)
titleNoBrief title describing what needs approval (required for request action)
filePathNoPath to the file that needs approval, relative to project root (required for request action)
typeNoType of approval request - "document" for content approval, "action" for action approval (required for request)
categoryNoCategory of the approval request - "spec" for specifications, "steering" for steering documents (required for request)
categoryNameNoName of the spec or "steering" for steering documents (required for request)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and adds significant behavioral context beyond the schema. It discloses critical constraints: dashboard interface usage, filePath-only parameter for requests (no content), deletion restrictions, and workflow dependencies ('Wait for user to review and approve before continuing'). However, it doesn't mention error handling, rate limits, or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and well-structured with clear sections. The first sentence states the purpose, followed by usage instructions and critical warnings. Every sentence adds value, though the 'CRITICAL' section could be more concise by integrating with the action descriptions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, multiple operations) and lack of annotations/output schema, the description provides substantial context about usage patterns, constraints, and workflow integration. It covers the main behavioral aspects but doesn't address potential edge cases, error responses, or the format of status results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds some value by clarifying action-specific parameter requirements (e.g., 'Only provide filePath parameter for requests', 'approvalId required for status and delete', 'title required for request'), but doesn't provide additional semantic context beyond what's already documented in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Manage approval requests through the dashboard interface' and lists specific operations (request, check status, delete). It distinguishes from siblings by focusing on approval management rather than logging, spec status, or workflow guidance. However, it doesn't explicitly contrast with each sibling tool's specific domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: 'Use this tool to request, check status, or delete approval requests' with clear action-specific rules. It specifies when to use each action (e.g., 'request' after creating documents, 'delete' for completed/rejected/needs-revision requests) and includes critical exclusions ('cannot delete pending requests', 'Never include document content').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

log-implementationA

Record comprehensive implementation details for a completed task.

⚠️ CRITICAL: Artifacts are REQUIRED. This creates a searchable knowledge base that future AI agents use to discover existing code and avoid duplication.

WHY DETAILED LOGGING MATTERS

Future AI agents (and future you) will use grep/ripgrep to search implementation logs before implementing new tasks. Complete logs prevent:

  • ❌ Creating duplicate API endpoints

  • ❌ Reimplementing existing components

  • ❌ Duplicating utility functions and business logic

  • ❌ Breaking established integration patterns

Incomplete logs = Duplicated code = Technical debt

REQUIRED FIELDS

artifacts (REQUIRED - Object)

Contains structured data about what was implemented. Must include relevant artifact types:

apiEndpoints (array of API endpoint objects)

When new API endpoints are created/modified, document:

  • method: HTTP method (GET, POST, PUT, DELETE, PATCH)

  • path: Route path (e.g., "/api/specs/:name/logs")

  • purpose: What this endpoint does

  • requestFormat: Request body/query params format (JSON schema or example)

  • responseFormat: Response structure (JSON schema or example)

  • location: File path and line number (e.g., "src/server.ts:245")

Example:

{
  "method": "GET",
  "path": "/api/specs/:name/implementation-log",
  "purpose": "Retrieve implementation logs with optional filtering",
  "requestFormat": "Query params: taskId (string, optional), search (string, optional)",
  "responseFormat": "{ entries: ImplementationLogEntry[] }",
  "location": "src/dashboard/server.ts:245"
}

components (array of component objects)

When reusable UI components are created, document:

  • name: Component name

  • type: Framework type (React, Vue, Svelte, etc.)

  • purpose: What the component does

  • location: File path

  • props: Props interface or type signature

  • exports: What it exports (array of export names)

Example:

{
  "name": "LogsPage",
  "type": "React",
  "purpose": "Main dashboard page for viewing implementation logs with search and filtering",
  "location": "src/modules/pages/LogsPage.tsx",
  "props": "{ specs: any[], selectedSpec: string, onSelect: (value: string) => void }",
  "exports": ["LogsPage (default)"]
}

functions (array of function objects)

When utility functions are created, document:

  • name: Function name

  • purpose: What it does

  • location: File path and line

  • signature: Function signature (params and return type)

  • isExported: Whether it can be imported

Example:

{
  "name": "searchLogs",
  "purpose": "Search implementation logs by keyword",
  "location": "src/dashboard/implementation-log-manager.ts:156",
  "signature": "(searchTerm: string) => Promise<ImplementationLogEntry[]>",
  "isExported": true
}

classes (array of class objects)

When classes are created, document:

  • name: Class name

  • purpose: What the class does

  • location: File path

  • methods: List of public methods

  • isExported: Whether it can be imported

Example:

{
  "name": "ImplementationLogManager",
  "purpose": "Manages CRUD operations for implementation logs",
  "location": "src/dashboard/implementation-log-manager.ts",
  "methods": ["loadLog", "addLogEntry", "getAllLogs", "searchLogs", "getTaskStats"],
  "isExported": true
}

integrations (array of integration objects)

Document how frontend connects to backend:

  • description: How components connect to APIs

  • frontendComponent: Which component initiates the connection

  • backendEndpoint: Which API endpoint is called

  • dataFlow: Describe the data flow (e.g., "User clicks → API call → State update → Re-render")

Example:

{
  "description": "LogsPage fetches logs via REST API and subscribes to WebSocket for real-time updates",
  "frontendComponent": "LogsPage",
  "backendEndpoint": "GET /api/specs/:name/implementation-log",
  "dataFlow": "Component mount → API fetch → Display logs → WebSocket subscription → Real-time updates on new entries"
}

GOOD EXAMPLE (Include ALL relevant artifacts)

Task: "Implemented logs dashboard with real-time updates"

{
  "taskId": "2.3",
  "summary": "Implemented real-time implementation logs dashboard with filtering, search, and WebSocket updates",
  "artifacts": {
    "apiEndpoints": [
      {
        "method": "GET",
        "path": "/api/specs/:name/implementation-log",
        "purpose": "Retrieve implementation logs with optional filtering",
        "requestFormat": "Query params: taskId (string, optional), search (string, optional)",
        "responseFormat": "{ entries: ImplementationLogEntry[] }",
        "location": "src/dashboard/server.ts:245"
      }
    ],
    "components": [
      {
        "name": "LogsPage",
        "type": "React",
        "purpose": "Main dashboard page for viewing implementation logs with search and filtering",
        "location": "src/modules/pages/LogsPage.tsx",
        "props": "None (uses React Router params)",
        "exports": ["LogsPage (default)"]
      }
    ],
    "classes": [
      {
        "name": "ImplementationLogManager",
        "purpose": "Manages CRUD operations for implementation logs",
        "location": "src/dashboard/implementation-log-manager.ts",
        "methods": ["loadLog", "addLogEntry", "getAllLogs", "searchLogs", "getTaskStats"],
        "isExported": true
      }
    ],
    "integrations": [
      {
        "description": "LogsPage fetches logs via REST API and subscribes to WebSocket for real-time updates",
        "frontendComponent": "LogsPage",
        "backendEndpoint": "GET /api/specs/:name/implementation-log",
        "dataFlow": "Component mount → API fetch → Display logs → WebSocket subscription → Real-time updates on new entries"
      }
    ]
  },
  "filesModified": ["src/dashboard/server.ts"],
  "filesCreated": ["src/modules/pages/LogsPage.tsx"],
  "statistics": { "linesAdded": 650, "linesRemoved": 15, "filesChanged": 2 }
}

BAD EXAMPLE (Don't do this)

❌ Empty artifacts - Future agents learn nothing:

{
  "taskId": "2.3",
  "summary": "Added endpoint and page",
  "artifacts": {},
  "filesModified": ["server.ts"],
  "filesCreated": ["LogsPage.tsx"]
}

❌ Vague summary with no structured data:

{
  "taskId": "2.3",
  "summary": "Implemented features",
  "artifacts": {},
  "filesModified": ["server.ts", "app.tsx"]
}

Instructions

  1. After completing a task, review what you implemented

  2. Identify all artifacts (APIs, components, functions, classes, integrations)

  3. Document each with full details and locations

  4. Include ALL the information - be thorough!

  5. Future agents depend on this data quality

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathNoAbsolute path to the project root (optional - uses server context path if not provided)
specNameYesName of the specification
taskIdYesTask ID (e.g., "1", "1.2", "3.1.4")
summaryYesBrief summary of what was implemented
filesModifiedYesList of files that were modified
filesCreatedYesList of files that were created
statisticsYesCode statistics for the implementation
artifactsYesREQUIRED: Structured data about implemented artifacts (APIs, components, functions, classes, integrations). See tool description for detailed format.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It thoroughly explains that this tool creates persistent records for future searchability, emphasizes the critical requirement of artifacts, and details the consequences of misuse (technical debt from duplication). It also implicitly indicates this is a write operation (recording details) without contradicting any annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is overly verbose with extensive examples, markdown formatting, and repetitive emphasis. While the front-loaded purpose is clear, the length (multiple sections like '# WHY DETAILED LOGGING MATTERS', '# REQUIRED FIELDS', examples) reduces conciseness. Some content (e.g., detailed bad examples) could be condensed without losing clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, nested objects) and lack of annotations/output schema, the description is highly complete. It covers the tool's purpose, usage context, parameter details (especially for 'artifacts'), behavioral implications, and examples. The only minor gap is no explicit mention of authentication or error handling, but this is reasonable for a logging tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds significant value by elaborating on the 'artifacts' parameter with detailed sub-field requirements (e.g., apiEndpoints, components), examples, and formatting guidelines. However, it doesn't provide additional context for other parameters like 'projectPath' or 'statistics' beyond what the schema already describes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool's purpose: 'Record comprehensive implementation details for a completed task' and emphasizes creating 'a searchable knowledge base that future AI agents use to discover existing code and avoid duplication.' This clearly distinguishes it from sibling tools like approvals or spec-status, which appear unrelated to logging implementation artifacts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool: 'After completing a task, review what you implemented' and 'Identify all artifacts (APIs, components, functions, classes, integrations).' It also includes strong warnings about when not to use it (e.g., 'Incomplete logs = Duplicated code = Technical debt') and contrasts good vs. bad examples to guide proper usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spec-statusA

Display comprehensive specification progress overview.

Instructions

Call when resuming work on a spec or checking overall completion status. Shows which phases are complete and task implementation progress. After viewing status, read tasks.md directly to see all tasks and their status markers ([ ] pending, [-] in-progress, [x] completed).

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathNoAbsolute path to the project root (optional - uses server context path if not provided)
specNameYesName of the specification

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what the tool does (displays progress overview, shows completion status) and mentions the relationship to tasks.md for detailed task status. However, it doesn't disclose important behavioral aspects like whether this is a read-only operation, what format the output takes, whether it requires specific permissions, or if there are any rate limits or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two main sections: a purpose statement and usage instructions. The first sentence clearly states the core function. The instructions section is useful but could be more concise. Overall, most sentences earn their place, though the relationship to tasks.md could be integrated more smoothly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter tool with no annotations and no output schema, the description provides adequate but incomplete context. It explains the purpose and usage scenarios well, but doesn't describe the output format or behavioral constraints. Given the tool's moderate complexity (status overview with parameters), the description should ideally provide more information about what the agent can expect as a result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description doesn't add any meaningful parameter semantics beyond what's in the schema - it doesn't explain how 'projectPath' and 'specName' interact, what format 'specName' should take, or provide examples. The baseline of 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Display comprehensive specification progress overview' with specific verbs ('display', 'shows') and resources ('specification progress overview', 'phases', 'task implementation progress'). It distinguishes from potential siblings by focusing on status overview rather than approvals, logging, or guidance functions. However, it doesn't explicitly differentiate from all sibling tools by name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool: 'when resuming work on a spec or checking overall completion status.' It also provides guidance on next steps: 'After viewing status, read tasks.md directly to see all tasks and their status markers.' However, it doesn't explicitly state when NOT to use this tool or name specific alternatives among the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

spec-workflow-guideA

Load essential spec workflow instructions to guide feature development from idea to implementation.

Instructions

Call this tool FIRST when users request spec creation, feature development, or mention specifications. This provides the complete workflow sequence (Requirements → Design → Tasks → Implementation) that must be followed. Always load before any other spec tools to ensure proper workflow understanding. Its important that you follow this workflow exactly to avoid errors.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that this is a read operation ('load') and emphasizes the workflow sequence, but lacks details on behavioral traits like error handling, response format, or performance. It adds some context (e.g., 'to avoid errors'), but is minimal for a tool with no annotation coverage, resulting in an average score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by structured instructions. It uses bullet points effectively but includes some redundancy (e.g., repeating the importance of calling first). Overall, it's efficient with minimal waste, though could be slightly more streamlined.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (simple, no parameters) and lack of annotations or output schema, the description is reasonably complete. It covers purpose, usage sequence, and importance, but could improve by detailing the workflow content or potential outputs. It's sufficient for basic understanding but not exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and schema description coverage is 100%, so no parameter documentation is needed. The description doesn't mention parameters, which is appropriate. A baseline of 4 is applied as it compensates adequately for the lack of parameters by focusing on usage context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Load essential spec workflow instructions to guide feature development from idea to implementation.' It specifies the verb ('load'), resource ('workflow instructions'), and scope ('feature development from idea to implementation'). However, it doesn't explicitly distinguish from sibling tools like 'steering-guide' or 'spec-status', which might also provide guidance, keeping it from a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidelines: 'Call this tool FIRST when users request spec creation, feature development, or mention specifications' and 'Always load before any other spec tools to ensure proper workflow understanding.' It specifies when to use (for spec-related requests) and when not to use (after other spec tools), with a clear sequence requirement, earning the highest score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

steering-guideA

Load guide for creating project steering documents.

Instructions

Call ONLY when user explicitly requests steering document creation or asks about project architecture docs. Not part of standard spec workflow. Provides templates and guidance for product.md, tech.md, and structure.md creation. Its important that you follow this workflow exactly to avoid errors.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions that the tool 'Provides templates and guidance' and emphasizes following the workflow 'exactly to avoid errors,' which hints at behavioral constraints. However, it lacks details on what 'errors' might occur, whether it's read-only or mutative, or any permissions/rate limits, leaving gaps in behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the main purpose, followed by instructions. It uses two paragraphs efficiently, with no wasted sentences. However, the second paragraph could be slightly more concise by combining some points, but overall, it's clear and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and 0 parameters, the description provides good usage guidelines and purpose clarity. However, it lacks details on what the 'guide' output entails (e.g., format, content), and the behavioral aspects are under-specified. For a tool with no structured data, this leaves some contextual gaps, making it adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't discuss parameters, which is appropriate. However, it could slightly improve by noting the lack of inputs, but this is minor; thus, a baseline score of 4 is given for adequate handling in a parameterless context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Load guide for creating project steering documents' and specifies the resources involved ('templates and guidance for product.md, tech.md, and structure.md creation'). However, it doesn't explicitly differentiate from sibling tools like 'spec-workflow-guide' beyond stating 'Not part of standard spec workflow,' which is somewhat indirect.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidelines: 'Call ONLY when user explicitly requests steering document creation or asks about project architecture docs. Not part of standard spec workflow.' It clearly defines when to use the tool and distinguishes it from alternatives by noting it's not part of the standard workflow, though it doesn't name specific sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 14 tool updatesv1.0.0
    • Addedapprovals
    • Removedcreate-spec-doc
    • Removedcreate-steering-doc
    • Removeddelete-approval
    • Removedget-approval-status
    • Removedget-spec-context
    • Removedget-steering-context
    • Removedget-template-context
    • Addedlog-implementation
    • Removedmanage-tasks
    • Removedrefresh-tasks
    • Removedrequest-approval
    • Removedspec-list
    • Changedspec-status2 fields changed
      • changedInput schema / properties / projectPath / description
        Previous value: -"Absolute path to the project root"New value: +"Absolute path to the project root (optional - uses server context path if not provided)"
      • changedInput schema / required
        Previous value: -[
        -  "projectPath",
        -  "specName"
        -]New value: +[
        +  "specName"
        +]
  2. 14 tool updates
    • First observedcreate-spec-doc
    • First observedcreate-steering-doc
    • First observeddelete-approval
    • First observedget-approval-status
    • First observedget-spec-context
    • First observedget-steering-context
    • First observedget-template-context
    • First observedmanage-tasks
    • First observedrefresh-tasks
    • First observedrequest-approval
    • First observedspec-list
    • First observedspec-status
    • First observedspec-workflow-guide
    • First observedsteering-guide

TDQS

A4/5.0
Disambiguation5/5

Each tool has a distinct, non-overlapping purpose: approvals manages approval requests, log-implementation records implementation details, spec-status shows progress, spec-workflow-guide provides workflow instructions, and steering-guide handles steering documents. The descriptions clearly differentiate their roles, with no ambiguity in selection.

Naming Consistency3/5

Naming is mixed with no clear pattern: 'approvals' and 'spec-status' use noun phrases, 'log-implementation' uses a verb-noun format, and 'spec-workflow-guide' and 'steering-guide' use noun-noun compounds. While readable, the conventions vary without a consistent verb_noun or other predictable structure.

Tool Count5/5

With 5 tools, this is well-scoped for a spec workflow server. Each tool serves a specific function in the workflow lifecycle (e.g., guidance, logging, approvals, status tracking), and none feel redundant or missing for the domain, making the count appropriate.

Completeness4/5

The toolset covers key aspects of spec workflow management: guidance (spec-workflow-guide), progress tracking (spec-status), implementation logging (log-implementation), approvals (approvals), and steering documents (steering-guide). A minor gap is the lack of a tool for directly creating or editing spec tasks, but agents can work around this by reading files as indicated.

Maintenance

ActivityStale
ResponsivenessSlow

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    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.
    27
    2
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables spec-driven development with task tracking, approval workflows, and real-time progress monitoring through OpenSpec CLI functionality. Includes a web dashboard for visual management of change proposals and specifications.
    40
    126
    31
    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
    A
    quality
    C
    maintenance
    Enables AI coding tools to follow a structured spec-driven development workflow with three phases: requirements, design, and tasks, ensuring approval before advancing.
    10
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pimzino/spec-workflow-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server