forgespec-mcp
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-mcpConducto 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 mediantemem_savey se vinculan conmem_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-mcpForgeSpec funciona de forma independiente sin Cortex; los artefactos también pueden usar
type: "openspec"(sistema de archivos) otype: "inline"(devuelto en la respuesta).
Inicio rápido
Usando npx (no requiere instalación)
npx -y forgespec-mcpInstalar globalmente
npm install -g forgespec-mcpVerificar la instalación
forgespec-mcp --helpConfiguración del cliente
Claude Code
claude mcp add forgespec --transport stdio -- npx -y forgespec-mcpCodex 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 |
| 0.5 | Iniciar el contexto y las convenciones del proyecto |
| 0.5 | Investigar la base de código, diagnosticar problemas |
| 0.7 | Redactar propuesta de cambio con alcance y riesgos |
| 0.8 | Escribir especificaciones detalladas con Dado/Cuando/Entonces |
| 0.7 | Definir arquitectura, flujos de datos, cambios de archivos |
| 0.8 | Descomponer en tareas de implementación ordenadas por dependencia |
| 0.6 | Ejecutar la implementación (se permite la finalización parcial) |
| 0.9 | Validar la implementación frente a las especificaciones |
| 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 |
| Validar un contrato frente al esquema de fase con verificación de confianza |
| Validar y persistir un contrato en la base de datos |
| Recuperar un solo contrato por ID |
| Listar contratos con filtros opcionales de proyecto/fase |
| 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 |
| Crear un tablero con tareas en línea opcionales (atómico, evita N llamadas separadas) |
| Añadir una tarea con prioridad, referencia de especificación, criterios y dependencias |
| Obtener el estado del tablero con tareas agrupadas por estado |
| Reclamar una tarea (valida dependencias antes de la asignación) |
| Actualizar estado y/o añadir notas con marca de tiempo (desbloquea automáticamente dependientes al finalizar) |
| Listar tareas listas para trabajar (todas las dependencias resueltas) |
| Obtener detalles completos de la tarea por ID |
| 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 |
| Reservar archivos/globs con TTL. Use |
| 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 |
|
| Directorio para almacenamiento de base de datos |
|
| 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 operationsPila tecnológica:
Model Context Protocol SDK -- Marco de servidor MCP
better-sqlite3 -- Base de datos integrada con modo WAL
Zod -- Validación de esquema en tiempo de ejecución
Vitest -- Marco de pruebas con cobertura v8
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 inspectLanzar 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 masterEl conducto CI/CD entonces:
Ejecuta pruebas en Ubuntu/Windows/macOS con Node 18, 20, 22
Espera la aprobación del entorno de producción
Publica en npm con procedencia
Crea un lanzamiento en GitHub con notas generadas automáticamente
Contribución
Bifurcar el repositorio
Crear una rama de característica:
git checkout -b feature/my-featureUsar Conventional Commits para sus mensajes:
feat: add new tool for Xfix: resolve race condition in file reservationdocs: update usage examples
Ejecutar pruebas:
npm testEnviar y abrir una Solicitud de Extracción (Pull Request)
Licencia
MIT -- construido por lleontor705
Maintenance
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
- AlicenseNot gradedqualityCmaintenanceEnables 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
- AlicenseAqualityAmaintenanceAn 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.5811017MIT
- AlicenseNot gradedqualityAmaintenanceCentralized 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.571MIT
- AlicenseNot gradedqualityDmaintenanceTransforms AI agents into spec-driven product engineers by managing the software project lifecycle through requirements, design, implementation, and archiving phases with state-aware MCP tools.40MIT
Related MCP Connectors
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
A MCP server built for developers enabling Git based project management with project and personal…
Workflow diagnostics, capability routing, and x402 settlement for MCP-compatible agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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