Brain MCP
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.
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 | bashDer Installer:
Baut den Node.js MCP-Server (
brain-mcp)Installiert das Python-Orchestrierungspaket (
hermes-brain)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 --helpVoraussetzungen: 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 testsWas passiert:
Der Python-Conductor startet 4 Hermes-Agenten im Hintergrund (
hermes -q)Jeder Agent beansprucht seine Dateien, veröffentlicht Verträge, schreibt Code, sendet Heartbeats
Der Conductor führt ein Integrations-Gate aus — kompiliert das Projekt, leitet Fehler via DM an die verantwortlichen Agenten weiter
Agenten korrigieren sich selbst. Das Gate wiederholt den Vorgang, bis alles sauber ist.
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.jsonOder 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:#fffArchitektur
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:#fffpi-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 |
|
| Agentennamen, die parallel gestartet werden sollen |
|
| Modell, das an jeden Agenten übergeben wird |
| aus | Integrations-Gate überspringen |
|
| Maximale Anzahl der Gate-Wiederholungsversuche |
|
| Timeout pro Agent |
| Lädt eine Multi-Phasen-Pipeline | |
|
| 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 |
| Benenne diese Sitzung |
| Aktive Sitzungen auflisten |
| Sitzungsinformationen + Raum anzeigen |
| Heartbeat mit Status + Fortschritt (gibt ausstehende DMs zurück) |
| Live-Gesundheitsstatus aller Agenten (Status, Heartbeat-Alter, Ansprüche) |
Messaging
Tool | Was es tut |
| In einem Kanal posten |
| Aus einem Kanal lesen |
| Direktnachricht an einen anderen Agenten |
| Deine DMs lesen |
Gemeinsamer Zustand & Speicher
Tool | Was es tut |
| Ephemerer Key-Value-Speicher |
| Schlüssel auflisten / entfernen |
| Dauerhaftes Wissen speichern (überlebt |
| Erinnerungen aus früheren Sitzungen durchsuchen |
| Veraltete Erinnerungen entfernen |
Dateisperren
Tool | Was es tut |
| Datei/Ressource sperren (TTL-basierter Mutex) |
| Entsperren |
| Aktive Sperren auflisten |
Verträge (verhindert Integrationsfehler)
Tool | Was es tut |
| Veröffentlichen, was dein Modul bereitstellt / erwartet |
| Verträge anderer Agenten vor dem Programmieren lesen |
| Alle Verträge validieren — erkennt Parameter-Fehlanpassungen, fehlende Funktionen |
Integrations-Gate
Tool | Was es tut |
| Kompilierung + Vertragsprüfung ausführen, Fehler per DM an verantwortliche Agenten senden |
| Gate in einer Schleife ausführen, auf Korrekturen warten, bis zur Sauberkeit wiederholen |
Aufgabenplanung (DAG)
Tool | Was es tut |
| Aufgaben-DAG mit Abhängigkeiten erstellen |
| Aufgaben abrufen, deren Abhängigkeiten erfüllt sind |
| Aufgabe als erledigt/fehlgeschlagen markieren (fördert Abhängige automatisch) |
| Gesamtfortschritt |
| Ein natürliches Sprachziel in Phasen, Agenten, Dateibereiche und Conductor-Konfiguration umwandeln |
| Kompilierten Workflow im Brain-Zustand + Aufgaben-DAG speichern, optional Conductor-JSON schreiben |
Orchestrierung
Tool | Was es tut |
| Neuen Agenten starten (hermes, claude oder headless) |
| Mehrere Agenten in einem Aufruf starten |
| Fehlgeschlagenen Agenten mit Wiederherstellungskontext ersetzen |
| Erfolgsraten, Dauer, Fehleranzahl pro Agent |
Kontext-Ledger (verhindert den Verlust des Überblicks)
Tool | Was es tut |
| Aktion/Entdeckung/Entscheidung/Fehler protokollieren |
| Ledger lesen |
| Komprimierte Ansicht zur Kontextwiederherstellung |
| Vollständigen Arbeitszustand speichern |
| 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 metricsDas Gate erkennt automatisch die Projektsprache und führt den entsprechenden Checker aus:
Sprache | Checker |
TypeScript |
|
Python |
|
Rust |
|
Go |
|
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:#fffRouting 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 |
This server cannot be installed
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