Skip to main content
Glama

Hermes Brain

Multi-Agenten-Orchestrierung für Hermes Agent

Starte parallele Hermes-Agenten. Gib ihnen ein gemeinsames Gehirn. Bereitstellung mit einem Befehl.Unterstützt durch SQLite, koordiniert durch Python, null Token-Verbrauch für die Koordination.

License: MIT Python Node.js Hermes MCP

Installieren · Schnellstart · Funktionsweise · CLI · Tools · Memory Bank · Entwicklung


Installieren

Option 1 — Bootstrap aus dem Quellcode (empfohlen für Hermes)

curl -fsSL https://raw.githubusercontent.com/DevvGwardo/brain-mcp/main/install.sh | bash

Der Installer:

  1. Baut den Node.js MCP-Server (brain-mcp)

  2. Installiert das Python-Orchestrierungspaket (hermes-brain)

  3. Registriert das Brain als MCP-Server in Hermes

Option 2 — Manuelle Installation

git clone https://github.com/DevvGwardo/brain-mcp.git
cd brain-mcp
npm install
npm run build
pip install -e .
hermes mcp add brain --command node --args "$PWD/dist/index.js"

Hinweis: Das npm-Paket ist noch nicht veröffentlicht, daher ist der Repository-Installationspfad derzeit der unterstützte Weg.

Überprüfung:

hermes mcp list | grep brain
hermes mcp test brain
hermes-brain --help

Voraussetzungen: Python 3.10+, Node.js 18+, Hermes Agent

Teilen mit Freunden? Das Gehirn jeder Person ist eine eigene, isolierte SQLite-Datenbank — keine Netzwerkkonfiguration erforderlich. Derselbe Einzeiler funktioniert überall.

Docker-Benutzer: Starte Agenten mit layout: "headless", da tmux-Bereiche in einem Headless-Container nicht gerendert werden können:

brain_wake({ task: "...", layout: "headless" })

Schnellstart

Ein Befehl zur Orchestrierung einer Flotte von Hermes-Agenten:

hermes-brain "Build a REST API with auth, users, and posts" \
  --agents api-routes auth-layer db-models tests

Was passiert:

  1. Der Python-Conductor startet 4 Hermes-Agenten im Hintergrund (hermes -q)

  2. Jeder Agent beansprucht seine Dateien, veröffentlicht Verträge, schreibt Code, sendet Heartbeats

  3. Der Conductor führt ein Integrations-Gate aus — kompiliert das Projekt, leitet Fehler via DM an die verantwortlichen Agenten weiter

  4. Agenten korrigieren sich selbst. Das Gate wiederholt den Vorgang, bis alles sauber ist.

  5. Zusammenfassung wird ausgegeben: Agenten, Verträge, Erinnerungen, Metriken, fertig.

Weitere Ausführungsmöglichkeiten:

# Auto-named agents
hermes-brain "Add error handling to the whole codebase"

# Mix models per task
hermes-brain "Build a game" --agents engine ui store --model claude-sonnet-4-5

# Cheap model for boilerplate
hermes-brain "Generate 10 test files" --model claude-haiku-4-5

# JSON pipeline with multiple phases
hermes-brain --config pipeline.json

Oder aus Hermes heraus (interaktiv):

hermes> Use register, then wake to spawn 3 agents
        that each refactor a different module.

Funktionsweise

graph TB
    subgraph "Python Conductor"
        CLI["hermes-brain CLI"]
        ORCH["Orchestrator<br/><small>spawn · wait · gate · retry</small>"]
    end

    subgraph "Hermes Agents"
        direction LR
        H1["Agent 1<br/><small>hermes -q</small>"]
        H2["Agent 2<br/><small>hermes -q</small>"]
        H3["Agent 3<br/><small>hermes -q</small>"]
    end

    CLI --> ORCH
    ORCH -->|spawn| H1
    ORCH -->|spawn| H2
    ORCH -->|spawn| H3

    subgraph "Brain (shared SQLite)"
        DB[("brain.db")]
        PULSE["Heartbeats"]
        MX["Mutex Locks"]
        KV["Shared State"]
        CON["Contracts"]
        MEM["Memory"]
        PLAN["Task DAG"]
    end

    ORCH <--> DB
    H1 <--> DB
    H2 <--> DB
    H3 <--> DB

    subgraph "Integration Gate"
        GATE["tsc · mypy · cargo · go vet"]
        ROUTE["DM errors → agents"]
    end

    ORCH --> GATE
    GATE --> ROUTE
    ROUTE -.->|DM| H1
    ROUTE -.->|DM| H2

    style CLI fill:#9333EA,stroke:#7C3AED,color:#fff
    style ORCH fill:#9333EA,stroke:#7C3AED,color:#fff
    style H1 fill:#3B82F6,stroke:#2563EB,color:#fff
    style H2 fill:#10B981,stroke:#059669,color:#fff
    style H3 fill:#F59E0B,stroke:#D97706,color:#000
    style DB fill:#1E293B,stroke:#334155,color:#fff
    style GATE fill:#EF4444,stroke:#DC2626,color:#fff

Architektur

Dieses Diagramm zeigt die interne Architektur von brain-mcp und wie die Komponenten interagieren:

graph TB
    subgraph "External Clients"
        HERMES["Hermes CLI"]
        CLAUDE["Claude Code"]
        ANY["Any MCP Client"]
    end

    subgraph "brain-mcp (Node.js)"
        SERVER["src/index.ts<br/>MCP Request Router"]
        CONDUCTOR["brain-conductor<br/>Zero-token Orchestration CLI"]
        GATE["src/gate.ts<br/>Integration Gate"]
    end

    subgraph "pi-agent-core Runtime"
        PI_CORE["src/pi-core-agent.ts<br/>In-process Agent Runner"]
        PI_CORE_TOOLS["src/pi-core-tools.ts<br/>14 Brain Tools as AgentTools"]
        PI_AGENT["pi-agent-core Agent<br/>model + tools + events"]
    end

    subgraph "BrainDB (SQLite)"
        DB[("brain.db<br/>sessions, state, messages,<br/>claims, contracts, memory")]
    end

    HERMES & CLAUDE & ANY --> SERVER
    SERVER <--> DB
    SERVER --> CONDUCTOR
    CONDUCTOR --> PI_CORE
    PI_CORE --> PI_CORE_TOOLS
    PI_CORE --> PI_AGENT
    PI_CORE_TOOLS --> DB
    PI_AGENT -->|beforeToolCall<br/>pulse| DB
    CONDUCTOR --> GATE
    GATE -->|DM errors| CONDUCTOR

    style HERMES fill:#FF6B6B,stroke:#DC2626,color:#fff
    style CLAUDE fill:#3B82F6,stroke:#2563EB,color:#fff
    style ANY fill:#7C3AED,stroke:#6D28D9,color:#fff
    style SERVER fill:#1E293B,stroke:#334155,color:#fff
    style CONDUCTOR fill:#9333EA,stroke:#7C3AED,color:#fff
    style GATE fill:#EF4444,stroke:#DC2626,color:#fff
    style PI_CORE fill:#10B981,stroke:#059669,color:#fff
    style PI_CORE_TOOLS fill:#059669,stroke:#047857,color:#fff
    style PI_AGENT fill:#06B6D4,stroke:#0891B2,color:#fff
    style DB fill:#1E293B,stroke:#334155,color:#fff

pi-agent-core ist die LLM-Agenten-Laufzeitumgebung — sie verwaltet die Modell-Interaktionsschleife, Tool-Ausführung und Ereignis-Abonnements. brain-mcp stellt die Koordinationsschicht (Zustand, Messaging, Heartbeats, Sperren, Verträge) als Tools bereit, die von pi-Agenten aufgerufen werden. Der Conductor verbindet alles mit Phasen, Gates und tmux-Layout.

Null-Token-Koordination. Der Conductor ist reines Python — LLM-Token werden nur für die eigentliche Arbeit verbraucht. Heartbeats, Ansprüche, Verträge, Gates und Wiederholungen laufen lokal.

Kein Server zu verwalten. Jeder Agent öffnet seine eigene stdio-Verbindung zum Gehirn. Der SQLite WAL-Modus handhabt gleichzeitige Zugriffe sicher.

Dasselbe Gehirn, jedes CLI. Hermes, Claude Code, MiniMax — alle Clients greifen auf dieselbe SQLite-Datenbank zu. Eine gemischte Flotte aus Hermes- und Claude-Agenten kann sich bei derselben Aufgabe koordinieren.


Das hermes-brain CLI

hermes-brain <task> [options]

Flag

Standard

Was es tut

--agents <names...>

agent-1 agent-2

Agentennamen, die parallel gestartet werden sollen

--model <id>

claude-sonnet-4-5

Modell, das an jeden Agenten übergeben wird

--no-gate

aus

Integrations-Gate überspringen

--retries <n>

3

Maximale Anzahl der Gate-Wiederholungsversuche

--timeout <seconds>

600

Timeout pro Agent

--config <file.json>

Lädt eine Multi-Phasen-Pipeline

--db-path <path>

~/.claude/brain/brain.db

Benutzerdefinierte Brain-Datenbank

Pipeline-Konfigurationsdatei

{
  "task": "Build a todo app",
  "model": "claude-sonnet-4-5",
  "gate": true,
  "max_gate_retries": 3,
  "phases": [
    {
      "name": "foundation",
      "parallel": true,
      "agents": [
        { "name": "types",  "files": ["src/types/"], "task": "Define all TS types" },
        { "name": "db",     "files": ["src/db/"],    "task": "Set up Prisma schema" }
      ]
    },
    {
      "name": "feature",
      "parallel": true,
      "agents": [
        { "name": "api",    "files": ["src/api/"],   "task": "REST endpoints" },
        { "name": "ui",     "files": ["src/ui/"],    "task": "React components" }
      ]
    },
    {
      "name": "quality",
      "parallel": true,
      "agents": [
        { "name": "tests",  "task": "Write unit + integration tests" }
      ]
    }
  ]
}

Phasen laufen nacheinander ab. Agenten innerhalb einer Phase laufen parallel. Das Integrations-Gate läuft zwischen den Phasen.


Brain-Tools

Über 35 Tools in 12 Kategorien. Alle verfügbar für Hermes, Claude Code und jeden MCP-kompatiblen Agenten.

Identität & Gesundheit

Tool

Was es tut

brain_register

Benenne diese Sitzung

brain_sessions

Aktive Sitzungen auflisten

brain_status

Sitzungsinformationen + Raum anzeigen

brain_pulse

Heartbeat mit Status + Fortschritt (gibt ausstehende DMs zurück)

brain_agents

Live-Gesundheitsstatus aller Agenten (Status, Heartbeat-Alter, Ansprüche)

Messaging

Tool

Was es tut

brain_post

In einem Kanal posten

brain_read

Aus einem Kanal lesen

brain_dm

Direktnachricht an einen anderen Agenten

brain_inbox

Deine DMs lesen

Gemeinsamer Zustand & Speicher

Tool

Was es tut

brain_set / brain_get

Ephemerer Key-Value-Speicher

brain_keys / brain_delete

Schlüssel auflisten / entfernen

brain_remember

Dauerhaftes Wissen speichern (überlebt brain_clear)

brain_recall

Erinnerungen aus früheren Sitzungen durchsuchen

brain_forget

Veraltete Erinnerungen entfernen

Dateisperren

Tool

Was es tut

brain_claim

Datei/Ressource sperren (TTL-basierter Mutex)

brain_release

Entsperren

brain_claims

Aktive Sperren auflisten

Verträge (verhindert Integrationsfehler)

Tool

Was es tut

brain_contract_set

Veröffentlichen, was dein Modul bereitstellt / erwartet

brain_contract_get

Verträge anderer Agenten vor dem Programmieren lesen

brain_contract_check

Alle Verträge validieren — erkennt Parameter-Fehlanpassungen, fehlende Funktionen

Integrations-Gate

Tool

Was es tut

brain_gate

Kompilierung + Vertragsprüfung ausführen, Fehler per DM an verantwortliche Agenten senden

brain_auto_gate

Gate in einer Schleife ausführen, auf Korrekturen warten, bis zur Sauberkeit wiederholen

Aufgabenplanung (DAG)

Tool

Was es tut

brain_plan

Aufgaben-DAG mit Abhängigkeiten erstellen

brain_plan_next

Aufgaben abrufen, deren Abhängigkeiten erfüllt sind

brain_plan_update

Aufgabe als erledigt/fehlgeschlagen markieren (fördert Abhängige automatisch)

brain_plan_status

Gesamtfortschritt

brain_workflow_compile

Ein natürliches Sprachziel in Phasen, Agenten, Dateibereiche und Conductor-Konfiguration umwandeln

brain_workflow_apply

Kompilierten Workflow im Brain-Zustand + Aufgaben-DAG speichern, optional Conductor-JSON schreiben

Orchestrierung

Tool

Was es tut

brain_wake

Neuen Agenten starten (hermes, claude oder headless)

brain_swarm

Mehrere Agenten in einem Aufruf starten

brain_respawn

Fehlgeschlagenen Agenten mit Wiederherstellungskontext ersetzen

brain_metrics

Erfolgsraten, Dauer, Fehleranzahl pro Agent

Kontext-Ledger (verhindert den Verlust des Überblicks)

Tool

Was es tut

brain_context_push

Aktion/Entdeckung/Entscheidung/Fehler protokollieren

brain_context_get

Ledger lesen

brain_context_summary

Komprimierte Ansicht zur Kontextwiederherstellung

brain_checkpoint

Vollständigen Arbeitszustand speichern

brain_checkpoint_restore

Nach Kontextkomprimierung wiederherstellen


Heartbeat & Vertragsprotokoll

Jeder gestartete Agent folgt zwei Protokollen, die der Orchestrator erzwingt:

Heartbeat — Agenten rufen brain_pulse alle 2-3 Tool-Aufrufe mit ihrem Status und einer kurzen Fortschrittsnotiz auf. Der Conductor nutzt dies, um:

  • Live-Status im Terminal anzuzeigen (● working — editing src/api/routes.ts)

  • Blockierte Agenten zu erkennen (kein Puls in 60s → stale)

  • Ausstehende DMs als Puls-Rückgabewerte zuzustellen (kein zusätzlicher Round-Trip)

Verträge — Bevor Agenten Code schreiben, rufen sie brain_contract_get auf, um zu sehen, was andere Agenten exportieren. Nach dem Schreiben veröffentlichen sie ihren eigenen Vertrag mit brain_contract_set. Vor dem Markieren als erledigt validiert brain_contract_check die gesamte Flotte — erkennt:

  • Funktionssignatur-Fehlanpassungen (erwartete 2 Argumente, erhielt 3)

  • Fehlende Exporte (Agent A importiert getUser, aber Agent B hat es nie exportiert)

  • Typ-Drift (erwartete User, erhielt {name, email})

Dies ist der Schlüssel, um die Integrationsqualität eines einzelnen Agenten mit einer parallelen Flotte zu erreichen.


Integrations-Gate

sequenceDiagram
    participant O as Orchestrator
    participant C as Compiler
    participant DB as Brain DB
    participant A as Agent

    O->>C: Run tsc / mypy / cargo / go vet
    C-->>O: Errors with file:line:message

    O->>DB: Query: who claimed this file?
    DB-->>O: Agent X owned src/api/routes.ts

    O->>A: DM: "Fix these errors in your files"
    Note over A: Agent reads DM on next pulse
    Note over A: Fixes code, pulses done

    O->>C: Re-run compiler
    C-->>O: Clean
    O->>DB: Record metrics

Das Gate erkennt automatisch die Projektsprache und führt den entsprechenden Checker aus:

Sprache

Checker

TypeScript

npx tsc --noEmit

Python

mypy

Rust

cargo check

Go

go vet

Fehler werden analysiert, dem Agenten zugeordnet, der die fehlerhafte Datei beansprucht hat, und als DM weitergeleitet. Agenten nehmen ihre Fehler beim nächsten Puls auf und korrigieren sich selbst. Die Schleife wiederholt sich bis zu --retries Mal, bevor sie aufgibt.


Gemischte Flotten

Die Brain-Datenbank wird über alle MCP-Clients hinweg geteilt. Ein einzelnes Projekt kann haben:

graph LR
    subgraph "Fleet"
        direction TB
        HA["Hermes Agent<br/><small>fast local inference</small>"]
        CC["Claude Code<br/><small>deep reasoning</small>"]
        MM["MiniMax<br/><small>cheap boilerplate</small>"]
    end

    subgraph "Brain"
        DB[("brain.db")]
    end

    HA <--> DB
    CC <--> DB
    MM <--> DB

    style HA fill:#F59E0B,stroke:#D97706,color:#000
    style CC fill:#9333EA,stroke:#7C3AED,color:#fff
    style MM fill:#3B82F6,stroke:#2563EB,color:#fff
    style DB fill:#1E293B,stroke:#334155,color:#fff

Routing nach Aufgabentyp. Nutze Hermes für Routinearbeiten, Claude für architektonische Entscheidungen, günstigere Modelle für Boilerplate — alles koordiniert durch dasselbe Gehirn, unter Nutzung gemeinsamer Verträge, Gates und Speicher.

Von Claude Code:

brain_wake({ task: "...", cli: "hermes", layout: "headless" })
brain_wake({ task: "...", cli: "claude", layout: "horizontal" })

Fortgeschritten

Alles Folgende deckt die volle technische Tiefe ab.


Leistung

Führe die Benchmarks selbst aus:

node benchmark.mjs        # SQLite direct layer (1000 iterations)
node benchmark-mcp.mjs    # MCP tool layer (30 iterations per tool)

SQLite Direct Layer (2026-04-06, M4 Pro, WAL-Modus)

Operation

Durchschnitt

p50

p95

p99

Durchsatz

session_register

0.021ms

0.011ms

0.027ms

0.039ms

~47K/s

message_post (1 msg)

0.014ms

0.011ms

0.019ms

0.031ms

~70K/s

message_read (50 msgs)

0.042ms

0.042ms

0.045ms

0.066ms

~24K/s

state_get

0.002ms

0.002ms

0.002ms

0.003ms

~570K/s

claim_query (all)

0.001ms

0.001ms

0.002ms

0.002ms

~670K/s

heartbeat_pulse (update)

0.002ms

0.002ms

0.002ms

0.003ms

~464K/s

session_query (by id)

0.002ms

0.002ms

0.002ms

0.003ms

~455K/s

Direktes SQLite: Jede Kern-Koordinationsoperation liegt im Sub-Millisekundenbereich. Der KV-Speicher (state_get) hält ~570K Lesezugriffe/s stand. Hochfrequente Koordination (Heartbeats, Ansprüche, Zustand) bleibt weit unter 1ms.

MCP Tool Layer (2026-04-06, stdio JSON-RPC, jeweils 30 Aufrufe)

Tool

Durchschnitt

p50

p95

min

max

brain_status

12.2ms

12.0ms

15.6ms

8.8ms

21.2ms

brain_sessions

1.9ms

1.7ms

3.6ms

0.9ms

4.7ms

brain_keys

1.6ms

1.6ms

2.6ms

0.8

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/DevvGwardo/brain-mcp'

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