MCP-Server · Local-first · Open Source

Memory you trust.
Judgment the model earned.

Soul gibt Modellen ein Gedächtnis, dem man ansieht, woher jede Aussage stammt. Jeder Fakt trägt seine Herkunft, jede Änderung landet in einem append-only Ledger. Alles läuft lokal auf deiner Maschine.

4.0.2 veröffentlicht 4.1.0 in Entwicklung 5.0 Vision
soul-mcp — install
$ npx -y soul-mcp init
✓ ~/.soul angelegt (SQLite, WAL)
✓ constitution.json geschrieben
$ claude mcp add soul -- npx -y soul-mcp
✓ [email protected] — 23 MCP tools
Nach dem Handshake stehen die Werkzeuge in jedem MCP-Client bereit — Claude Code, Cursor, Windsurf. Kein Konto, kein API-Key, keine ausgehende Verbindung.
01
373/373

Tests grün · Coverage 89,6 %

Im veröffentlichten npm-Paket 4.0.2, 2026-08-14
02
23

MCP-Werkzeuge

Aus echtem Handshake gegen das gepackte Release
03
30/30

Verifier-Läufe deterministisch

Eval-Pilot 2026-08-14, 0 Varianz
04
0

Cloud-Dienste · Konten · Telemetrie

Für 4.0.2 — der Kernel spricht mit niemandem
Ausgeliefert · npm · MIT

Soul 4.0.2 — der Gedächtnis-Kernel

Ein MCP-Server, der neben deinem Modell läuft und ihm ein Gedächtnis gibt, das über Sessions hinweg hält. Seit dem 9. Februar 2026 auf npm, aktueller Stand 4.0.2 vom 14. August 2026.

01 — Provenance

Jeder Fakt weiß, woher er kommt

Beim Speichern wird festgehalten, ob eine Aussage vom Nutzer stammt (user_statement, mit Zitat) oder eine Schlussfolgerung des Modells ist (agent_inference). Widersprüche werden als solche geführt statt stillschweigend überschrieben — ein umstrittener Eintrag wird nie als Tatsache ausgeliefert.

02 — Ledger

Append-only statt überschreiben

Jede Mutation ist ein Ereignis in einem append-only Ledger in SQLite (WAL-Modus). Der Zustand ist damit rekonstruierbar, und soul_timeline zeigt, wann welches Wissen dazukam oder korrigiert wurde.

03 — Runs, Receipts, Episodes

Nachvollziehbare Laufzeit

Grössere Aufgaben laufen als Run mit Start, Ergebnis und Rückmeldung. Jeder Run erzeugt ein Receipt und wird zu einer Episode verdichtet, die später abrufbar bleibt.

Ehrlich dazugesagt: Diese Receipts sind self_attested — das System protokolliert, was es selbst getan zu haben glaubt. Ein unabhängiger, deterministischer Verifikator, der das gegenprüft, fehlt noch. Wir nennen den Status im Datenmodell genau so.

04 — Policy in Code

Regeln, die nicht verhandelbar sind

Die Richtlinie liegt in ~/.soul/constitution.json und wird im Code durchgesetzt, nicht nur im Prompt empfohlen: Secrets werden gar nicht erst gespeichert, injection-verdächtige Inhalte werden isoliert und nie zurückgegeben, sensible Kategorien warten auf eine ausdrückliche Bestätigung.

Fussnote zu Receipts: Sie sind self_attested — ein unabhängiger, deterministischer Verifikator existiert in 4.0 noch nicht. Das Feld heisst im Datenmodell genau so, damit der Unterschied zwischen „protokolliert" und „nachgeprüft" nicht verwischt.

Datenlage

Alles liegt in ~/.soul/memories.db. Kein Konto, kein Cloud-Dienst, keine Telemetrie, kein ausgehender Verkehr. Was der Rechner nicht verlässt, kann unterwegs auch nicht abhanden kommen — und der Export (soul_export) gehört dir.

In 60 Sekunden installiert

npx -y soul-mcp init # ~/.soul anlegen claude mcp add soul -- npx -y soul-mcp npx soul-mcp status # Memories, Ledger, Integrität npx soul-mcp doctor # Selbstprüfung

Node.js ab v18. Vollständige Anleitung samt Fünf-Minuten-Demo in den Docs.

23 Werkzeuge, sechs Gruppen

Gedächtnis soul_remember · soul_recall · soul_forget soul_correct · soul_confirm · soul_resolve Kontext soul_context · soul_about_me · soul_identity Verlauf soul_timeline · soul_status · soul_export soul_import · soul_reflect Laufzeit soul_run · soul_feedback · soul_goal Urteil soul_deliberate · soul_commit_deliberation soul_predict · soul_mark_useful Werkbank soul_workbench · soul_review_queue
In Entwicklung · Benchmark ausstehend

Soul 4.1.0 — der Proxy

Ein OpenAI-kompatibler Endpunkt, der vor dein Modell tritt und genau einen kognitiven Schritt einzieht, bevor die Anfrage weitergereicht wird.

Status

4.1.0 ist in Entwicklung und noch nicht öffentlich erreichbar. Es gibt für den Proxy bislang keine Wirksamkeitsmessung. Der Vergleich Baseline gegen Soul-Arm ist präregistriert, aber noch nicht gefahren. Bis dieser Lauf vorliegt, steht auf dieser Seite keine Zahl zur Leistung von 4.1.0 — auch keine vorläufige.

Mechanismus 1

Intent Analysis

Vor der Ausführung wird bestimmt, worauf die Anfrage tatsächlich zielt: Was ist das Ergebnis, an dem sie gemessen wird? Welche Annahmen sind unausgesprochen? Was wäre ein Fehlschlag, der wie ein Erfolg aussieht?

Mechanismus 2

Task Restructuring

Aus dieser Analyse wird die Aufgabe neu aufgesetzt — mit explizitem Ziel, Reihenfolge und Abbruchkriterien. Das Modell bekommt eine Aufgabe, die schon geordnet ist, statt sie selbst ordnen zu müssen.

Der Scope ist bewusst schmal gehalten: ein Mechanismus, der nicht auf ein einzelnes Modell zugeschnitten ist, statt einer breiten Plattform ohne Nachweis. Ein moderater, aber messbarer Effekt ist mehr wert als ein grosses Versprechen.

Ob der Mechanismus über verschiedene Modelle hinweg gleich gut trägt, ist damit ausdrücklich nicht behauptet. Strategie-Transfer zwischen Modellen ist erfahrungsgemäss schwierig; das wird hier erst dann vertreten, wenn es gemessen ist.

Geplante Schnittstelle

OpenAI-kompatibel — ein geänderter Base-URL genügt, bestehende SDKs funktionieren unverändert. Authentifizierung über einen API-Key aus dem Dashboard, Streaming über Server-Sent Events.

  • POST /v1/chat/completions
  • Authorization: Bearer soul_live_…
  • SSE-Streaming wie gewohnt

So sieht der Aufruf aus

curl https://api.nextool.app/v1/chat/completions \ -H "Authorization: Bearer soul_live_…" \ -H "Content-Type: application/json" \ -d '{"model":"…","messages":[…],"stream":true}' # Endpunkt noch nicht live — siehe Statushinweis oben.
Die Linie

Wo Soul steht — und wohin es geht

Drei Stufen, sauber getrennt. Was ausgeliefert ist, was gebaut wird, und was ausdrücklich noch Vision ist.

Ausgeliefert 4.0.2

Gedächtnis-Kernel

Local-first MCP-Server mit Provenance, Ledger und auditierbarer Laufzeit. Auf npm, MIT-lizenziert, im täglichen Eigengebrauch.

→
In Arbeit 4.1.x

Proxy

Intent Analysis und Task Restructuring als OpenAI-kompatibler Dienst mit Konten und API-Keys. Der präregistrierte Vergleich gegen die Baseline steht noch aus.

→
Vision 5.0

Kognitive Middleware

Die geplante Verallgemeinerung der in 4.1.x nachgewiesenen Mechanismen. Wird bewusst erst dann ausformuliert, wenn die Messungen aus 4.1.x vorliegen. Heute ist das eine Absicht, kein Produkt.

→

Die Trennung ist Absicht. 4.0.2 ist ein Gedächtnis-Kernel und bleibt es; der Proxy ist ein eigenes Stück Software. Was für die eine Stufe gemessen wurde, gilt nicht automatisch für die andere — und wird hier auch nicht so dargestellt.

Nachweise

Was gemessen ist — und was nicht

Jede Zahl hier hat einen Lauf hinter sich. Was fehlt, steht ebenso dabei: eine Einschränkungsspalte, die nicht leer ist, ist der Punkt der Tabelle.

Was Ergebnis Herkunft Einschränkung
Testsuite 4.0.2 373 / 373 Im veröffentlichten npm-Paket 4.0.2
(2026-08-14); Build und Tests laufen
vor jedem Publish
Tests belegen Korrektheit gegen die eigene Spezifikation, keinen Leistungsvergleich.
Testabdeckung 89,61 % Statements 89,61 · Branches 79,01 ·
Functions 91,20 · Lines 89,61
Schwellen in CI: 88 / 75 / 89 / 88
Abdeckung sagt, welche Zeilen ein Test durchläuft — nicht, ob er das Richtige prüft. Mutationstests stehen aus.
Werkzeuge im gepackten Release 23 Tools Smoke-Test über echten MCP-Handshake gegen
[email protected]
Gezählt wurde, was der Server im Handshake meldet — nicht die Tiefe der einzelnen Werkzeuge.
Veröffentlichung auf npm seit 2026-02-09 npm-Registry, Paket soul-mcp
aktuell 4.0.2 (2026-08-14), MIT
Veröffentlicht zu sein sagt nichts über Verbreitung aus. Download-Zahlen führen wir hier bewusst nicht als Qualitätsbeleg. Signierte Provenance ist noch nicht eingerichtet.
Performance-Baseline
(Recall-Latenz)
p50 3,46 ms 50.000 Memories, Treffer im Volltextindex
(p95 15,98 ms). Apple M3, Node v25.9.0,
2026-08-13. Nachfahrbar mit
npm run perf-baseline
Eine lokale Einzelmaschine ohne Nebenlast, kein Lasttest. Nur der lexikalische Pfad — die semantische Schicht war aus. Gemessen an 4.0.1; für 4.0.2 nicht wiederholt. Offener Befund: Abfragen ohne Treffer waren bei 50.000 Einträgen langsamer (p50 18,68 ms) als solche mit Treffer; der Verdacht liegt auf einem Nachlauf des WAL-Checkpoints, geprüft ist er nicht.
Verifier-Pipeline der präregistrierten Eval 30 / 30 deterministisch Eval-Pilot 2026-08-14
3 Tasks × 5 Wiederholungen × 2 Arme
Das misst die Messapparatur, nicht Soul. Belegt ist, dass die Pipeline reproduzierbar dasselbe Urteil fällt (0 Varianz) — nicht, dass Soul ein Modell besser macht.
Studie v10: eingepflanztes Verständnis vs. nackte Baseline 0,86 Einpflanzungs-Score, 2026-08-06
products/soul-mcp-v2, Studie v10
Gemessen an einem Vorläufer-Stand, der nicht byte-gleich mit dem ausgelieferten Kern ist. Eine längenkontrollierte Replikation steht aus.
Wirksamkeit des 4.1.0-Proxy — offen — präregistriertes Protokoll liegt vor,
Lauf noch nicht erfolgt
Es gibt hierzu keine Zahl. Sobald der Vergleich Baseline gegen Soul-Arm gefahren ist, steht das Ergebnis hier — auch wenn es negativ ausfällt.

Zur Zahl 0,86: Studie v10 misst den Einpflanzungs-Score eines Vorläufer-Stands — nicht die Leistungsverbesserung des fertigen 4.0.2. Die beiden sind nicht dasselbe und werden hier auch nicht als dasselbe ausgegeben. Echte Messungen existieren ausschliesslich dort, wo das Evidenz-Inventar sie führt; was dort fehlt, fehlt auch hier.

Bekannte Schwächen
  • Receipts sind überwiegend self_attested; ein unabhängiger Verifikator fehlt.
  • SQLite im WAL-Modus: gegen SQLITE_BUSY greifen ein Wartezeitlimit und ein Wiederholversuch an der Verbindungsstelle. Ein Lasttest unter echter Nebenläufigkeit steht weiterhin aus — die Performance-Baseline lief ohne Parallellast.
  • Eine Context-Firewall ist prinzipiell nicht lückenlos — gegen Prompt-Injection gibt es keine Garantie.
  • Mutationstests fehlen: die Abdeckung sagt nicht, ob die Tests das Richtige prüfen.
  • npm audit: im frisch installierten npm-Paket 0 Befunde (129 Produktions-Pakete) · im Repo-Baum 4 (2 hoch, 2 mittel), mit devDependencies 6. Alle transitiv; drei der vier hängen am HTTP-Transport des MCP-SDK, den der stdio-Server nicht lädt.
Was wir nicht behaupten

Kein Produktivitätsfaktor, keine Prozentzahl zur Modellverbesserung, keine Vergleiche mit Systemen, gegen die nie gemessen wurde. Zahlen, die einmal aus Pitch-Material stammten und keinen Lauf hinter sich haben, sind aus diesem Auftritt entfernt worden und kommen nicht zurück.

Zugang

Zwei Wege hinein

Sofort nutzbar

Soul 4.0.2 — direkt installieren

Kein Konto nötig, kein Schlüssel, keine Anmeldung. Ein Befehl, und der Server läuft lokal.

npx -y soul-mcp init
Vorbereitet

Soul 4.1.0 — Konto und API-Key

Konto anlegen und Schlüssel verwalten geht schon. Der Proxy selbst ist noch nicht erreichbar — das Dashboard sagt dir das offen, statt einen Schlüssel vorzutäuschen.