Skip to main content
Glama

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-mcp

  • Kampferprobte 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 über mem_save in Cortex persistiert und mit mem_relate verknü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-mcp

ForgeSpec funktioniert eigenständig ohne Cortex -- Artefakte können auch type: "openspec" (Dateisystem) oder type: "inline" (in der Antwort zurückgegeben) verwenden.


Schnellstart

Verwendung von npx (keine Installation erforderlich)

npx -y forgespec-mcp

Global installieren

npm install -g forgespec-mcp

Installation überprüfen

forgespec-mcp --help

Client-Konfiguration

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"] }
  }
}

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

init

0.5

Projektkontext und Konventionen bootstrappen

explore

0.5

Codebasis untersuchen, Probleme diagnostizieren

propose

0.7

Änderungsvorschlag mit Umfang und Risiken entwerfen

spec

0.8

Detaillierte Spezifikationen mit Given/When/Then schreiben

design

0.7

Architektur, Datenflüsse, Dateiänderungen definieren

tasks

0.8

In abhängigkeitsgeordnete Implementierungsaufgaben zerlegen

apply

0.6

Implementierung ausführen (teilweise Fertigstellung erlaubt)

verify

0.9

Implementierung gegen Spezifikationen validieren

archive

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

sdd_validate

Vertrag gegen Phasenschema mit Vertrauensprüfung validieren

sdd_save

Vertrag validieren und in der Datenbank speichern

sdd_get

Einen einzelnen Vertrag nach ID abrufen

sdd_list

Verträge mit optionalen Projekt-/Phasenfiltern auflisten

sdd_history

Phasenübergangshistorie für ein Projekt abrufen

Aufgabenboard-Tools (8)

SQLite-basierte Aufgabenverwaltung mit Abhängigkeitsverfolgung und automatischer Freigabe.

Tool

Beschreibung

tb_create_board

Board mit optionalen Inline-Aufgaben erstellen (atomar, vermeidet N separate Aufrufe)

tb_add_task

Aufgabe mit Priorität, Spezifikationsreferenz, Kriterien und Abhängigkeiten hinzufügen

tb_status

Board-Status mit nach Status gruppierten Aufgaben abrufen

tb_claim

Aufgabe beanspruchen (validiert Abhängigkeiten vor Zuweisung)

tb_update

Status aktualisieren und/oder zeitgestempelte Notizen anhängen (gibt Abhängige bei Abschluss automatisch frei)

tb_unblocked

Aufgaben auflisten, die zur Bearbeitung bereit sind (alle Abhängigkeiten aufgelöst)

tb_get

Vollständige Aufgabendetails nach ID abrufen

tb_list_boards

Alle Boards auflisten (zur Erkennung nach Kontextverlust)

Dateireservierungstools (2)

Beratende Dateisperrung zur Vermeidung von Bearbeitungskonflikten zwischen mehreren Agenten.

Tool

Beschreibung

file_reserve

Dateien/Globs mit TTL reservieren. Verwenden Sie check_only: true, um Konflikte zu prüfen, ohne zu reservieren

file_release

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

FORGESPEC_DIR

~/.forgespec

Verzeichnis für die Datenbankspeicherung

FORGESPEC_DB

~/.forgespec/forgespec.db

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 operations

Tech-Stack:


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 inspect

Eine 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 master

Die CI/CD-Pipeline führt dann folgende Schritte aus:

  1. Führt Tests unter Ubuntu/Windows/macOS mit Node 18, 20, 22 aus

  2. Wartet auf die Genehmigung der Produktionsumgebung

  3. Veröffentlicht auf npm mit Provenienz

  4. Erstellt ein GitHub-Release mit automatisch generierten Notizen


Mitwirken

  1. Forken Sie das Repository

  2. Erstellen Sie einen Feature-Branch: git checkout -b feature/my-feature

  3. Verwenden Sie Conventional Commits für Ihre Nachrichten:

    • feat: neues Tool für X hinzufügen

    • fix: Race-Condition bei Dateireservierung beheben

    • docs: Anwendungsbeispiele aktualisieren

  4. Tests ausführen: npm test

  5. Pushen und einen Pull Request öffnen


Lizenz

MIT -- erstellt von 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