Skip to main content
Glama

ForgeSpec MCP

La columna vertebral de coordinación para el desarrollo de IA multi-agente. ForgeSpec MCP es un servidor del Protocolo de Contexto de Modelo que aporta flujos de trabajo estructurados y auditables a la ingeniería de software impulsada por IA a través del Desarrollo Impulsado por Especificaciones (SDD).


¿Por qué ForgeSpec?

Construir software con múltiples agentes de IA (Claude, Codex, Gemini, etc.) introduce desafíos de coordinación que no existen en los flujos de trabajo de un solo agente:

Problema

Sin ForgeSpec

Con ForgeSpec

Ediciones conflictivas

Dos agentes modifican el mismo archivo simultáneamente, causando conflictos de fusión y pérdida de trabajo

El sistema de reserva de archivos con TTL evita conflictos antes de que ocurran

Sin contexto compartido

Cada agente trabaja de forma aislada; las decisiones de un agente son invisibles para los demás

La validación de contratos crea un registro de auditoría compartido en todas las fases

Trabajo no estructurado

Los agentes saltan directamente al código sin especificaciones, produciendo resultados inconsistentes

El conducto de 9 fases impone un flujo de proponer -> especificar -> diseñar -> implementar

Progreso perdido

Si un agente falla a mitad de la tarea, no hay forma de reanudar desde donde se quedó

El tablero de tareas respaldado por SQLite persiste el estado; cualquier agente puede retomar donde otro se detuvo

Sin puertas de calidad

El código se entrega sin validación frente a los requisitos originales

Los umbrales de confianza bloquean las transiciones de fase hasta que se cumplen los criterios de calidad

Ventajas clave

  • Cero infraestructura -- Base de datos SQLite integrada, no se requieren servicios externos

  • Compatibilidad universal -- Funciona con cualquier cliente MCP: Claude Code, Codex CLI, Gemini CLI, OpenClaw y más

  • Configuración instantánea -- Un comando para iniciar: npx -y forgespec-mcp

  • Conducto probado en batalla -- 9 fases con umbrales de confianza que evitan transiciones de fase prematuras

  • Registro de auditoría -- Cada contrato, transición de tarea y reserva de archivo se registra con marcas de tiempo

  • Multiplataforma -- Probado en Ubuntu, Windows y macOS con Node 18, 20 y 22

  • Listo para Cortex -- Integración nativa con Cortex para memoria persistente y grafo de conocimiento entre sesiones


Related MCP server: Specky

Recomendado: Emparejar con Cortex

ForgeSpec gestiona el flujo de trabajo (contratos, tareas, bloqueos de archivos). Cortex gestiona la memoria (observaciones, grafo de conocimiento, continuidad de sesión). Juntos forman una pila completa de coordinación multi-agente:

┌─────────────────────────────────────────────────────┐
│                   MCP Clients                       │
│   Claude Code  ·  Codex CLI  ·  Gemini CLI  · ...  │
└──────────┬──────────────────────────┬───────────────┘
           │                          │
     ┌─────▼─────┐            ┌──────▼──────┐
     │ ForgeSpec  │            │   Cortex    │
     │  MCP       │◄──────────►│   MCP       │
     │            │  artifact  │             │
     │ Contracts  │  type:     │ Observations│
     │ Task Board │  "cortex"  │ Knowledge   │
     │ File Locks │            │ Graph       │
     └────────────┘            └─────────────┘
  • ForgeSpec valida y persiste contratos SDD, gestiona dependencias de tareas, evita conflictos de archivos

  • Cortex almacena artefactos como observaciones, los conecta mediante un grafo de conocimiento, permite la recuperación de sesiones

  • Los artefactos guardados con type: "cortex" se persisten en Cortex mediante mem_save y se vinculan con mem_relate

Instale ambos para la experiencia completa:

claude mcp add forgespec --transport stdio -- npx -y forgespec-mcp
claude mcp add cortex --transport stdio -- npx -y @anthropic/cortex-mcp

ForgeSpec funciona de forma independiente sin Cortex; los artefactos también pueden usar type: "openspec" (sistema de archivos) o type: "inline" (devuelto en la respuesta).


Inicio rápido

Usando npx (no requiere instalación)

npx -y forgespec-mcp

Instalar globalmente

npm install -g forgespec-mcp

Verificar la instalación

forgespec-mcp --help

Configuración del cliente

Claude Code

claude mcp add forgespec --transport stdio -- npx -y forgespec-mcp

Codex CLI (~/.codex/config.toml)

[mcp_servers.forgespec]
command = "npx"
args = ["-y", "forgespec-mcp"]

Gemini CLI (settings.json)

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

OpenClaw (openclaw.json)

mcp: {
  servers: {
    forgespec: { command: "npx", args: ["-y", "forgespec-mcp"] }
  }
}

El conducto SDD

ForgeSpec impone el ciclo de vida de Desarrollo Impulsado por Especificaciones -- un conducto de 9 fases que asegura que los agentes de IA trabajen metódicamente en lugar de saltar directamente al código.

Cada fase tiene un umbral de confianza que debe cumplirse antes de pasar a la siguiente:

Fase

Umbral

Propósito

init

0.5

Iniciar el contexto y las convenciones del proyecto

explore

0.5

Investigar la base de código, diagnosticar problemas

propose

0.7

Redactar propuesta de cambio con alcance y riesgos

spec

0.8

Escribir especificaciones detalladas con Dado/Cuando/Entonces

design

0.7

Definir arquitectura, flujos de datos, cambios de archivos

tasks

0.8

Descomponer en tareas de implementación ordenadas por dependencia

apply

0.6

Ejecutar la implementación (se permite la finalización parcial)

verify

0.9

Validar la implementación frente a las especificaciones

archive

0.9

Fusionar especificaciones, generar retrospectiva


Referencia de herramientas

ForgeSpec expone 15 herramientas MCP organizadas en tres categorías.

Herramientas de contrato SDD (5)

Gestione el ciclo de vida de desarrollo con contratos tipados y validados.

Herramienta

Descripción

sdd_validate

Validar un contrato frente al esquema de fase con verificación de confianza

sdd_save

Validar y persistir un contrato en la base de datos

sdd_get

Recuperar un solo contrato por ID

sdd_list

Listar contratos con filtros opcionales de proyecto/fase

sdd_history

Obtener el historial de transición de fase para un proyecto

Herramientas de tablero de tareas (8)

Gestión de tareas respaldada por SQLite con seguimiento de dependencias y desbloqueo automático.

Herramienta

Descripción

tb_create_board

Crear un tablero con tareas en línea opcionales (atómico, evita N llamadas separadas)

tb_add_task

Añadir una tarea con prioridad, referencia de especificación, criterios y dependencias

tb_status

Obtener el estado del tablero con tareas agrupadas por estado

tb_claim

Reclamar una tarea (valida dependencias antes de la asignación)

tb_update

Actualizar estado y/o añadir notas con marca de tiempo (desbloquea automáticamente dependientes al finalizar)

tb_unblocked

Listar tareas listas para trabajar (todas las dependencias resueltas)

tb_get

Obtener detalles completos de la tarea por ID

tb_list_boards

Listar todos los tableros (para descubrimiento después de la pérdida de contexto)

Herramientas de reserva de archivos (2)

Bloqueo de archivos de asesoramiento para evitar conflictos de edición multi-agente.

Herramienta

Descripción

file_reserve

Reservar archivos/globs con TTL. Use check_only: true para verificar conflictos sin reservar

file_release

Liberar reservas (patrones específicos o todas)


Ejemplos de uso

Ejemplo 1: Validar y guardar un contrato SDD

Un agente de IA que completa la fase "propose" guarda su trabajo como un contrato validado:

// Tool: sdd_validate
{
  "contract": "{\"phase\":\"propose\",\"change_name\":\"add-auth-service\",\"project\":\"my-app\",\"status\":\"success\",\"confidence\":0.85,\"executive_summary\":\"Add JWT-based authentication service with login, logout, and token refresh endpoints. Affects 4 files in src/auth/.\",\"artifacts_saved\":[{\"topic_key\":\"sdd/add-auth-service/proposal\",\"type\":\"cortex\"}],\"next_recommended\":[\"spec\",\"design\"],\"risks\":[{\"description\":\"Token storage strategy needs security review\",\"level\":\"medium\"}]}"
}

// Response:
{
  "valid": true,
  "phase": "propose",
  "confidence": 0.85,
  "threshold": 0.7,
  "meets_confidence": true,
  "allowed_next_phases": ["spec", "design", "init"],
  "warnings": []
}
// Tool: sdd_save (after validation)
{
  "contract": "{\"phase\":\"propose\",\"change_name\":\"add-auth-service\",\"project\":\"my-app\",\"status\":\"success\",\"confidence\":0.85,\"executive_summary\":\"Add JWT-based authentication service...\",\"next_recommended\":[\"spec\",\"design\"],\"risks\":[]}"
}

// Response:
{
  "saved": true,
  "id": "sdd_a1b2c3d4-...",
  "phase": "propose",
  "project": "my-app"
}

Ejemplo 2: Crear un tablero de tareas y gestionar tareas

Configurar un tablero, añadir tareas con dependencias y dejar que los agentes reclamen trabajo:

// Step 1: Create a board
// Tool: tb_create_board
{ "project": "my-app", "name": "add-auth-service" }
// -> { "created": true, "board_id": "board_x7k9m2...", "project": "my-app" }

// Step 2: Add tasks with dependencies
// Tool: tb_add_task
{
  "board_id": "board_x7k9m2...",
  "title": "Create JWT utility module",
  "description": "Implement sign, verify, and refresh token functions",
  "priority": "p0",
  "spec_ref": "sdd/add-auth-service/spec",
  "acceptance_criteria": "All token operations pass unit tests",
  "dependencies": []
}
// -> { "created": true, "task_id": "task_abc123...", "priority": "p0" }

// Tool: tb_add_task
{
  "board_id": "board_x7k9m2...",
  "title": "Build auth middleware",
  "priority": "p1",
  "acceptance_criteria": "Middleware validates tokens on protected routes",
  "dependencies": ["task_abc123..."]  // depends on JWT module
}
// -> { "created": true, "task_id": "task_def456..." }

// Step 3: Agent claims a task
// Tool: tb_claim
{ "task_id": "task_abc123...", "agent": "implement-agent-1" }
// -> { "claimed": true, "task_id": "task_abc123...", "status": "in_progress" }

// Step 4: Mark task done (auto-unblocks dependents)
// Tool: tb_update
{ "task_id": "task_abc123...", "status": "done", "notes": "JWT module complete with RS256 support" }
// -> { "updated": true, "unblocked_tasks": ["task_def456..."] }
// task_def456 automatically moves from "backlog" to "ready"

Ejemplo 3: Evitar conflictos de archivos entre agentes

Dos agentes que trabajan en paralelo usan reservas de archivos para evitar conflictos:

// Agent 1 checks then reserves auth files (two-phase pattern)
// Tool: file_reserve (check_only)
{
  "patterns": ["src/auth/**", "src/middleware/auth.ts"],
  "agent": "implement-agent-1",
  "check_only": true
}
// -> { "reserved": false, "has_conflicts": false, "conflicts": [] }

// No conflicts — proceed to reserve
// Tool: file_reserve
{
  "patterns": ["src/auth/**", "src/middleware/auth.ts"],
  "agent": "implement-agent-1",
  "ttl_minutes": 30
}
// -> { "reserved": true, "has_conflicts": false, "expires_at": "2025-01-15T10:30:00.000Z" }

// Agent 2 checks before editing
// Tool: file_reserve (check_only)
{
  "patterns": ["src/auth/jwt.ts"],
  "agent": "implement-agent-2",
  "check_only": true
}
// -> { "reserved": false, "has_conflicts": true, "conflicts": [{ "pattern": "src/auth/**", "held_by": "implement-agent-1" }] }
// Agent 2 knows to work on something else

// Agent 1 finishes and releases
// Tool: file_release
{ "agent": "implement-agent-1" }
// -> { "released": true, "count": 2 }

Ejemplo 4: Rastrear el historial de fases del proyecto

Revisar cómo progresó un cambio a través del conducto:

// Tool: sdd_history
{ "project": "my-app", "limit": 5 }

// Response:
{
  "project": "my-app",
  "history": [
    { "id": "sdd_...", "phase": "verify", "change_name": "add-auth-service", "status": "success", "confidence": 0.92, "created_at": "2025-01-15T10:45:00Z" },
    { "id": "sdd_...", "phase": "apply",  "change_name": "add-auth-service", "status": "success", "confidence": 0.78, "created_at": "2025-01-15T10:30:00Z" },
    { "id": "sdd_...", "phase": "tasks",  "change_name": "add-auth-service", "status": "success", "confidence": 0.88, "created_at": "2025-01-15T09:15:00Z" },
    { "id": "sdd_...", "phase": "spec",   "change_name": "add-auth-service", "status": "success", "confidence": 0.85, "created_at": "2025-01-15T09:00:00Z" },
    { "id": "sdd_...", "phase": "propose","change_name": "add-auth-service", "status": "success", "confidence": 0.85, "created_at": "2025-01-15T08:30:00Z" }
  ]
}

Variables de entorno

Variable

Predeterminado

Descripción

FORGESPEC_DIR

~/.forgespec

Directorio para almacenamiento de base de datos

FORGESPEC_DB

~/.forgespec/forgespec.db

Ruta completa a la base de datos SQLite


Arquitectura

forgespec-mcp
├── src/
│   ├── index.ts              # Entry point: stdio transport
│   ├── server.ts             # MCP server setup and tool registration
│   ├── types/index.ts        # Zod schemas, phase config, type definitions
│   ├── database/index.ts     # SQLite init, WAL mode, schema creation
│   ├── tools/
│   │   ├── sdd-contracts.ts  # 5 contract lifecycle tools
│   │   ├── task-board.ts     # 8 task management tools
│   │   └── file-reservation.ts # 2 file locking tools
│   └── utils/id.ts           # Prefixed UUID generation
└── tests/
    ├── sdd-contracts.test.ts # Schema and phase transition tests
    └── tools.test.ts         # Integration tests for all CRUD operations

Pila tecnológica:


Desarrollo

# Clone the repository
git clone https://github.com/lleontor705/forgespec-mcp.git
cd forgespec-mcp

# Install dependencies
npm install

# Run in development mode (hot reload)
npm run dev

# Run tests
npm test

# Run tests in watch mode
npm run test:watch

# Build for production
npm run build

# Open MCP Inspector for debugging
npm run inspect

Lanzar una nueva versión

ForgeSpec utiliza standard-version para el versionado semántico automático basado en Conventional Commits.

# Commits determine the version bump automatically:
#   fix: ...    -> patch (1.2.0 -> 1.2.1)
#   feat: ...   -> minor (1.2.0 -> 1.3.0)
#   feat!: ...  -> major (1.2.0 -> 2.0.0)

# Create a release (bumps version, updates CHANGELOG, creates git tag)
npm run release

# Or specify the bump type manually
npm run release -- --release-as minor
npm run release -- --release-as major

# First release from current version
npm run release -- --first-release

# Push with tags to trigger CI/CD
git push --follow-tags origin master

El conducto CI/CD entonces:

  1. Ejecuta pruebas en Ubuntu/Windows/macOS con Node 18, 20, 22

  2. Espera la aprobación del entorno de producción

  3. Publica en npm con procedencia

  4. Crea un lanzamiento en GitHub con notas generadas automáticamente


Contribución

  1. Bifurcar el repositorio

  2. Crear una rama de característica: git checkout -b feature/my-feature

  3. Usar Conventional Commits para sus mensajes:

    • feat: add new tool for X

    • fix: resolve race condition in file reservation

    • docs: update usage examples

  4. Ejecutar pruebas: npm test

  5. Enviar y abrir una Solicitud de Extracción (Pull Request)


Licencia

MIT -- construido por lleontor705

Install Server
A
license - permissive license
C
quality
A
maintenance

Maintenance

Maintainers
Response time
2wRelease cycle
12Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    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
    A
    maintenance
    An MCP server for Spec-Driven Development that transforms natural language ideas and meeting transcripts into structured, production-grade specifications using EARS notation. It automates a 7-phase pipeline to generate project artifacts like requirements, architecture designs, and task lists directly to disk.
    58
    110
    17
    MIT
  • A
    license
    Not graded
    quality
    A
    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.
    57
    1
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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/lleontor705/forgespec-mcp'

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