forgespec-mcp
ForgeSpec MCP
Das Koordinationsrückgrat für die Multi-Agenten-KI-Entwicklung. ForgeSpec MCP ist ein Model Context Protocol-Server, der durch Spec-Driven Development (SDD) strukturierte, prüfbare Arbeitsabläufe in die KI-gestützte Softwareentwicklung bringt.
Warum ForgeSpec?
Die Entwicklung von Software mit mehreren KI-Agenten (Claude, Codex, Gemini usw.) bringt Koordinationsherausforderungen mit sich, die in Single-Agent-Workflows nicht existieren:
Problem | Ohne ForgeSpec | Mit ForgeSpec |
Konfliktäre Bearbeitungen | Zwei Agenten ändern dieselbe Datei gleichzeitig, was zu Merge-Konflikten und Arbeitsverlust führt | Dateireservierungssystem mit TTL verhindert Konflikte, bevor sie entstehen |
Kein gemeinsamer Kontext | Jeder Agent arbeitet isoliert; die Entscheidungen eines Agenten sind für andere unsichtbar | Vertragsvalidierung schafft einen gemeinsamen Audit-Trail über alle Phasen hinweg |
Unstrukturierte Arbeit | Agenten springen ohne Spezifikationen direkt zum Code, was zu inkonsistenten Ergebnissen führt | 9-Phasen-Pipeline erzwingt den Ablauf: Vorschlag -> Spezifikation -> Design -> Implementierung |
Verlorener Fortschritt | Wenn ein Agent mitten in einer Aufgabe scheitert, gibt es keine Möglichkeit, dort fortzufahren, wo er aufgehört hat | SQLite-basiertes Aufgabenboard speichert den Status; jeder Agent kann dort weitermachen, wo ein anderer aufgehört hat |
Keine Qualitäts-Gates | Code wird ohne Validierung gegen die ursprünglichen Anforderungen ausgeliefert | Vertrauensschwellen blockieren Phasenübergänge, bis Qualitätskriterien erfüllt sind |
Hauptvorteile
Keine Infrastruktur -- Eingebettete SQLite-Datenbank, keine externen Dienste erforderlich
Universelle Kompatibilität -- Funktioniert mit jedem MCP-Client: Claude Code, Codex CLI, Gemini CLI, OpenClaw und mehr
Sofortige Einrichtung -- Ein Befehl zum Starten:
npx -y forgespec-mcpKampferprobte Pipeline -- 9 Phasen mit Vertrauensschwellen verhindern vorzeitige Phasenübergänge
Audit-Trail -- Jeder Vertrag, Aufgabenübergang und jede Dateireservierung wird mit Zeitstempeln protokolliert
Plattformübergreifend -- Getestet unter Ubuntu, Windows und macOS mit Node 18, 20 und 22
Cortex-bereit -- Native Integration mit Cortex für persistentes Gedächtnis und Wissensgraphen über Sitzungen hinweg
Related MCP server: Specky
Empfehlung: Kombinieren mit Cortex
ForgeSpec verwaltet den Workflow (Verträge, Aufgaben, Dateisperren). Cortex verwaltet das Gedächtnis (Beobachtungen, Wissensgraph, Sitzungskontinuität). Zusammen bilden sie einen vollständigen Multi-Agenten-Koordinations-Stack:
┌─────────────────────────────────────────────────────┐
│ MCP Clients │
│ Claude Code · Codex CLI · Gemini CLI · ... │
└──────────┬──────────────────────────┬───────────────┘
│ │
┌─────▼─────┐ ┌──────▼──────┐
│ ForgeSpec │ │ Cortex │
│ MCP │◄──────────►│ MCP │
│ │ artifact │ │
│ Contracts │ type: │ Observations│
│ Task Board │ "cortex" │ Knowledge │
│ File Locks │ │ Graph │
└────────────┘ └─────────────┘ForgeSpec validiert und speichert SDD-Verträge, verwaltet Aufgabenabhängigkeiten, verhindert Dateikonflikte
Cortex speichert Artefakte als Beobachtungen, verbindet sie über einen Wissensgraphen, ermöglicht Sitzungswiederherstellung
Artefakte, die mit
type: "cortex"gespeichert werden, werden übermem_savein Cortex persistiert und mitmem_relateverknüpft
Installieren Sie beide für das volle Erlebnis:
claude mcp add forgespec --transport stdio -- npx -y forgespec-mcp
claude mcp add cortex --transport stdio -- npx -y @anthropic/cortex-mcpForgeSpec funktioniert eigenständig ohne Cortex -- Artefakte können auch
type: "openspec"(Dateisystem) odertype: "inline"(in der Antwort zurückgegeben) verwenden.
Schnellstart
Verwendung von npx (keine Installation erforderlich)
npx -y forgespec-mcpGlobal installieren
npm install -g forgespec-mcpInstallation überprüfen
forgespec-mcp --helpClient-Konfiguration
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"] }
}
}Die SDD-Pipeline
ForgeSpec erzwingt den Spec-Driven Development-Lebenszyklus -- eine 9-Phasen-Pipeline, die sicherstellt, dass KI-Agenten methodisch arbeiten, anstatt direkt zum Code zu springen.
Jede Phase hat eine Vertrauensschwelle, die erfüllt sein muss, bevor zum nächsten Schritt übergegangen wird:
Phase | Schwelle | Zweck |
| 0.5 | Projektkontext und Konventionen bootstrappen |
| 0.5 | Codebasis untersuchen, Probleme diagnostizieren |
| 0.7 | Änderungsvorschlag mit Umfang und Risiken entwerfen |
| 0.8 | Detaillierte Spezifikationen mit Given/When/Then schreiben |
| 0.7 | Architektur, Datenflüsse, Dateiänderungen definieren |
| 0.8 | In abhängigkeitsgeordnete Implementierungsaufgaben zerlegen |
| 0.6 | Implementierung ausführen (teilweise Fertigstellung erlaubt) |
| 0.9 | Implementierung gegen Spezifikationen validieren |
| 0.9 | Spezifikationen zusammenführen, Retrospektive generieren |
Tool-Referenz
ForgeSpec stellt 15 MCP-Tools bereit, die in drei Kategorien unterteilt sind.
SDD-Vertragstools (5)
Verwalten Sie den Entwicklungslebenszyklus mit typisierten, validierten Verträgen.
Tool | Beschreibung |
| Vertrag gegen Phasenschema mit Vertrauensprüfung validieren |
| Vertrag validieren und in der Datenbank speichern |
| Einen einzelnen Vertrag nach ID abrufen |
| Verträge mit optionalen Projekt-/Phasenfiltern auflisten |
| Phasenübergangshistorie für ein Projekt abrufen |
Aufgabenboard-Tools (8)
SQLite-basierte Aufgabenverwaltung mit Abhängigkeitsverfolgung und automatischer Freigabe.
Tool | Beschreibung |
| Board mit optionalen Inline-Aufgaben erstellen (atomar, vermeidet N separate Aufrufe) |
| Aufgabe mit Priorität, Spezifikationsreferenz, Kriterien und Abhängigkeiten hinzufügen |
| Board-Status mit nach Status gruppierten Aufgaben abrufen |
| Aufgabe beanspruchen (validiert Abhängigkeiten vor Zuweisung) |
| Status aktualisieren und/oder zeitgestempelte Notizen anhängen (gibt Abhängige bei Abschluss automatisch frei) |
| Aufgaben auflisten, die zur Bearbeitung bereit sind (alle Abhängigkeiten aufgelöst) |
| Vollständige Aufgabendetails nach ID abrufen |
| Alle Boards auflisten (zur Erkennung nach Kontextverlust) |
Dateireservierungstools (2)
Beratende Dateisperrung zur Vermeidung von Bearbeitungskonflikten zwischen mehreren Agenten.
Tool | Beschreibung |
| Dateien/Globs mit TTL reservieren. Verwenden Sie |
| Reservierungen freigeben (spezifische Muster oder alle) |
Anwendungsbeispiele
Beispiel 1: SDD-Vertrag validieren und speichern
Ein KI-Agent, der die "propose"-Phase abschließt, speichert seine Arbeit als validierten Vertrag:
// 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"
}Beispiel 2: Aufgabenboard erstellen und Aufgaben verwalten
Ein Board einrichten, Aufgaben mit Abhängigkeiten hinzufügen und Agenten Arbeit beanspruchen lassen:
// 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"Beispiel 3: Dateikonflikte zwischen Agenten verhindern
Zwei Agenten, die parallel arbeiten, nutzen Dateireservierungen, um Konflikte zu vermeiden:
// 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 }Beispiel 4: Projektphasenhistorie verfolgen
Überprüfen, wie eine Änderung die Pipeline durchlaufen hat:
// 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" }
]
}Umgebungsvariablen
Variable | Standard | Beschreibung |
|
| Verzeichnis für die Datenbankspeicherung |
|
| Vollständiger Pfad zur SQLite-Datenbank |
Architektur
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 operationsTech-Stack:
Model Context Protocol SDK -- MCP-Server-Framework
better-sqlite3 -- Eingebettete Datenbank mit WAL-Modus
Zod -- Laufzeit-Schema-Validierung
Vitest -- Test-Framework mit v8-Abdeckung
Entwicklung
# 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 inspectEine neue Version veröffentlichen
ForgeSpec verwendet standard-version für automatische semantische Versionierung basierend auf 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 masterDie CI/CD-Pipeline führt dann folgende Schritte aus:
Führt Tests unter Ubuntu/Windows/macOS mit Node 18, 20, 22 aus
Wartet auf die Genehmigung der Produktionsumgebung
Veröffentlicht auf npm mit Provenienz
Erstellt ein GitHub-Release mit automatisch generierten Notizen
Mitwirken
Forken Sie das Repository
Erstellen Sie einen Feature-Branch:
git checkout -b feature/my-featureVerwenden Sie Conventional Commits für Ihre Nachrichten:
feat: neues Tool für X hinzufügenfix: Race-Condition bei Dateireservierung behebendocs: Anwendungsbeispiele aktualisieren
Tests ausführen:
npm testPushen und einen Pull Request öffnen
Lizenz
MIT -- erstellt von 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