Claude Code vergisst nach jeder Session alles. Was du gestern erklärt hast, ist heute weg. stash MCP löst genau dieses Problem, ohne dass du Daten in eine externe Cloud schicken musst.
Was ist stash und wie funktioniert der MCP-Server?
stash ist ein Open-Source-Projekt, das einen persistenten Speicher-Layer für KI-Agenten bereitstellt. Das Ziel: Dein Assistent soll sich an Gespräche erinnern, Fakten behalten und den aktuellen Arbeitskontext zwischen Sessions bewahren.
Drei Speichertypen stehen dir zur Verfügung. Erstens Episoden: Gesprächsverläufe, also was wann besprochen wurde. Zweitens Fakten: strukturierte Informationen, die der Agent dauerhaft kennen soll. Zum Beispiel: "Dieses Projekt nutzt pnpm, nicht npm." Drittens Working Context: der aktuelle Fokus einer laufenden Aufgabe, sodass du nach einer Unterbrechung nahtlos weitermachst.
Alles landet in einer Postgres-Datenbank, die du selbst betreibst. stash läuft als einzelne Binary, braucht keinen externen Dienst und stellt einen MCP-Server direkt bereit. Das unterscheidet es von cloudbasierten Memory-Diensten: Keine API-Keys für Drittanbieter, keine monatlichen Gebühren für das Speichern von Kontext, keine Abhängigkeit von Anbietern, die ihre Preise oder Konditionen jederzeit ändern können. Wer bereits eine Postgres-Instanz betreibt, kann stash einfach daneben laufen lassen. Das Setup ist klar abgegrenzt und leicht nachvollziehbar.
Wie richtet man stash in Claude Code ein?
Du brauchst eine laufende Postgres-Instanz. Das kann ein lokaler Docker-Container sein oder eine bestehende Datenbankinstanz in deiner eigenen Infrastruktur.
Der Ablauf in Kurzform: Du lädst die stash-Binary herunter, startest den Server mit deinem Postgres-Verbindungsstring und trägst den MCP-Endpunkt in deine Claude-Konfigurationsdatei ein.
# stash-Server starten (Verbindungsstring anpassen)
./stash server --db="postgres://user:password@localhost:5432/stash_db"
In der Claude Code Konfigurationsdatei (~/.claude/mcp.json oder .claude/mcp.json im Projektordner) bindest du stash dann als MCP-Server ein:
{
"mcpServers": {
"stash": {
"type": "http",
"url": "http://localhost:8080/mcp"
}
}
}
Danach kann Claude Code auf die Speichertools zugreifen: Fakten anlegen, Episoden abrufen, den aktuellen Kontext setzen und wieder laden. Die genauen Portangaben und Authentifizierungsoptionen stehen in der README des Projekts, da sich solche Details zwischen Versionen ändern.
Wer MCP-Server generell noch nicht kennt: Der Artikel MCP Server einfach erklärt: Was bringt das Model Context Protocol? gibt einen soliden Einstieg, bevor du mit stash weitermachst.
Praxisbeispiel: Projektkontext dauerhaft festhalten
Stell dir vor, du arbeitest an einem größeren Umbau einer Next.js-Anwendung. Am ersten Tag erklärst du Claude Code die Architektur: welche Module es gibt, welche Naming Conventions gelten, welche Bereiche noch nicht angefasst werden sollen.
Ohne persistentes Gedächtnis startest du morgen bei null. Du wiederholst dieselben Erklärungen, verlierst Zeit, machst Fehler, weil Claude den Kontext nicht kennt.
Mit stash funktioniert es anders. Am Ende einer Session kannst du Claude anweisen, die wichtigsten Fakten zu speichern:
"Speichere als Fakt: Dieses Projekt trennt Server Components und Client Components strikt. Alles mit Nutzerinteraktion bekommt ein eigenes Client-File mit 'use client'-Direktive."
Beim nächsten Start ruft Claude diesen Fakt ab, sofern stash eingebunden ist. Du sparst die Einführungsrunde und arbeitest direkt weiter. Für längere Projekte, die sich über Wochen erstrecken, summiert sich das deutlich.
Ein verwandtes Konzept verfolgt übrigens claude-mem: Persistenter Kontext für Claude Code erklärt. Der Unterschied liegt im Ansatz: claude-mem arbeitet als Skill direkt in Claude Code ohne eigene Datenbankinfrastruktur. stash bietet dagegen einen vollständigen MCP-Server mit Postgres-Backend, was mehr Flexibilität für Team-Setups und größere Datenmengen gibt.
Wann lohnt sich stash?
stash ist ein Infrastruktur-Tool. Es macht Sinn, wenn du es einmal einrichtest und dann dauerhaft nutzt.
Du profitierst besonders, wenn du Datenschutz ernst nimmst und Kontext nicht an externe Dienste schicken willst. Auch wer bereits Postgres betreibt, hat den Betrieb schnell erledigt. Für Teams, bei denen mehrere Agenten denselben Wissensspeicher lesen sollen, ist stash eine durchdachte Lösung: Alle Agenten greifen auf denselben Postgres-Store zu, kein Copy-Paste von Kontext zwischen Sitzungen.
Bei langfristigen Projekten, bei denen Architekturentscheidungen, Coding Guidelines und Projektstruktur über Wochen konstant bleiben, zahlt sich ein persistenter Memory-Layer klar aus. Jede Stunde, die du nicht mit Wiederholungen verbringst, ist produktive Zeit.
Für kurzfristige Einzel-Sessions ohne Wiederholung oder wenn du keine Postgres-Infrastruktur betreiben möchtest, ist der Einrichtungsaufwand dagegen eher hoch. In diesem Fall reicht ein einfacherer Ansatz wie claude-mem.
FAQ
Brauche ich zwingend Postgres? In der aktuellen Version setzt stash auf Postgres als Speicher-Backend. Du kannst aber auch eine minimale Instanz lokal per Docker starten. Das ist in wenigen Minuten erledigt und kostet nichts.
Kann ich stash mit anderen KI-Tools außer Claude Code nutzen? Ja. stash implementiert das Model Context Protocol (MCP), das von verschiedenen KI-Clients unterstützt wird. Claude Code ist ein naheliegender Anwendungsfall, aber der MCP-Standard funktioniert auch mit anderen kompatiblen Tools.
Ist stash für Produktionsumgebungen geeignet? Das hängt von deiner Infrastruktur ab. Da du Postgres selbst betreibst, liegt Datensicherung und Verfügbarkeit in deiner Verantwortung. Für Teams mit bestehenden Postgres-Setups ist das kein Problem. Für Einzelentwickler ohne Datenbankinfrastruktur ist der Einstieg steiler, aber machbar.
Komm in die kostenlose Claude Business Community: Lerne Claude, Automatisierung, Co-Work, Claude Code, App-Building und Agent-Coding. Zeit sparen, Kosten sparen, Business skalieren: skool.com/unternehmernetzwerk-2071
Kuratiert von Marcel Porcher, newways.ai.