MemoryMesh
MemoryMesh
Universeller MCP-Hub für persönliche Daten. Local-First, standardmäßig privat, konzipiert als Speicherschicht für die Agenten, die Sie als Nächstes bauen werden.
MemoryMesh indiziert Ihre lokalen Dateien – und in zukünftigen Versionen auch Ihre E-Mails, Kalender, Browserverläufe und Chat-Protokolle – und stellt sie über das Model Context Protocol bereit. Jeder MCP-fähige Client (Claude Desktop, Cursor, Claude Code oder Ihr eigener Agent) kann semantische Fragen zu den Dingen stellen, die Sie tatsächlich besitzen, ohne ein einziges Byte in die Cloud zu senden.
Es ist ein Hub, kein RAG für einen einzigen Zweck. Der Transport, das Embedding-Modell, der Parser und die Chunking-Strategie sind hinter sauberen Schnittstellen austauschbar – sodass derselbe Hub von „Suche in meinen Notizen“ zu „Erinnere dich an alles für mein Agent-Betriebssystem“ wachsen kann.
Warum existiert dieses Projekt?
Persönliche Daten sind über Dutzende von Apps fragmentiert. Kein KI-Agent kann auf alle diese Daten auf eine einheitliche, private Weise zugreifen. Anthropic hat mit MCP das Protokoll definiert; MemoryMesh füllt die Lücke des Hubs, der alles miteinander verbindet – lokal, wobei Privatsphäre eine Voraussetzung und keine Einstellung ist.
Related MCP server: NOUZ MCP Server
Funktionsweise
┌──────────────────────────────┐
MCP clients ───▶ │ MemoryMesh │
(Claude Desktop, │ ┌────────────────────────┐ │
Cursor, agents) │ │ MCP Tools (FastMCP): │ │
│ │ search_memory │ │
│ │ list_sources │ │
│ │ get_document │ │
│ │ index_now │ │
│ └──────────┬─────────────┘ │
│ ▼ │
│ Search Engine │
│ dense + BM25 → RRF │
│ │ │
│ ┌─────────┴──────────┐ │
│ ▼ ▼ │
│ ChromaDB BM25 │
│ (embeddings) (sparse) │
│ ▲ ▲ │
│ └──────── Indexer ───┘ │
│ ▲ │
│ Watchdog │
└────────────────┬──────────────┘
▼
Your filesystemIndizierungs-Pipeline: Datei-Watcher erkennt Änderungen → SHA-256-Deduplizierung überspringt unveränderte Dateien → Parser (txt/md/pdf/docx/code) → intelligenter Chunker (tree-sitter für Code, nach Überschriften für Markdown, rekursiv für Text) → Embeddings via sentence-transformers → Upsert in ChromaDB + BM25-Index.
Such-Pipeline: Abfrage → Dense-Suche (ChromaDB) + Sparse-Suche (BM25) Over-Fetch → Reciprocal Rank Fusion (k=60) → Top-k-Ergebnisse mit Pfad, Vorschau, Score und Metadaten.
Was macht es anders?
Die meisten vergleichbaren Tools optimieren eine einzige Dimension. MemoryMesh ist das einzige, das alle gleichzeitig abdeckt:
Feature | MemoryMesh | LangChain | LlamaIndex | PrivateGPT | AnythingLLM | MemGPT | Haystack |
MCP-nativ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Hybride Suche (dense + BM25 + RRF) | ✅ | Teilweise | Teilweise | ❌ | ❌ | ❌ | ✅ |
Echtzeit-Watcher + SHA-256-Deduplizierung | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Reconciliation nach Absturz | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
100% lokal, keine Telemetrie | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Plattformübergreifend (Win/Linux/Mac) | ✅ | ✅ | ✅ | Teilweise | Teilweise | ✅ | ✅ |
Keine Framework-Abhängigkeit | ✅ | — | — | ❌ | ❌ | ❌ | — |
Als Infrastruktur konzipiert | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
MCP-nativ bedeutet, dass es von Anfang an für MCP gebaut wurde – nicht nachträglich hinzugefügt. Die 4 Tools (search_memory, list_sources, get_document, index_now) haben eine stabile API, die über Versionen hinweg nicht bricht.
Als Infrastruktur konzipiert bedeutet, dass die Architektur den Zugriff durch mehrere Agenten, Berechtigungen pro Agent und Hardware-Agenten (ESP32, Arduino), die denselben Hub abfragen, antizipiert. Siehe Roadmap.
Status
Feature | Status |
Lokale Datei-Indizierung (txt, md, code, pdf, docx) | ✅ |
Hybride Suche — dense + BM25 + RRF | ✅ |
MCP-Server — 4 Tools, stdio + streamable-http | ✅ |
Inkrementelle Echtzeit-Indizierung (watchdog + debounce) | ✅ |
Tree-sitter Code-Chunking (Python, JS, TS, Go, Rust…) | ✅ |
Plattformübergreifend — Windows / Linux / macOS | ✅ |
Reconciliation nach Absturz | ✅ |
Optionale OCR für gescannte PDFs (Tesseract / EasyOCR) | ✅ |
Datenschutz-Audit-Log (nur Abfrage-Hashes, kein Klartext) | ✅ |
172 Tests — Unit + Integration | ✅ |
Parent Document Retriever ( | 🔜 v0.2 |
GitHub Actions CI (Ubuntu / Windows / macOS) | 🔜 v0.2 |
Docker + docker-compose | 🔜 v0.2 |
Cross-encoder Reranker | 🔜 v0.3 |
Evaluierungs-Framework (Precision@k, MRR, NDCG) | 🔜 v0.3 |
RAG mit lokalem LLM (Ollama) | 🔜 v0.4 |
E-Mail / Kalender / Browser-Quellen | 🔜 v0.4 |
Berechtigungsebene pro Agent | 🔜 v0.5 |
Quickstart
Voraussetzung: Python 3.11+ und
uv.
# Install from PyPI
pip install memorymesh-mcpOder für die Entwicklung klonen:
# Clone and install
git clone https://github.com/kilhubprojects/memory-mesh.git
cd memory-mesh
uv sync
# Initialize state directory and copy example config
uv run memorymesh init
# Edit config.yaml — point it at the folders you want indexed
# (see Configuration section below)
# Index a folder
uv run memorymesh index ~/Documents
# Test a search
uv run memorymesh search "how did I configure the debounce"Als Daemon ausführen (Echtzeit-Indizierung)
uv run memorymesh start --transport streamable-http --detach
uv run memorymesh status
# edit a file in one of your sources — it gets indexed within ~2s
uv run memorymesh search "the sentence you just typed"
uv run memorymesh stopIn Claude Desktop einbinden
Fügen Sie dies zu Ihrer Claude Desktop-Konfiguration hinzu:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"memorymesh": {
"command": "uv",
"args": [
"run",
"--directory", "/absolute/path/to/memory-mesh",
"memorymesh", "serve", "--stdio"
]
}
}
}Starten Sie Claude Desktop neu. Die vier Tools erscheinen automatisch.
MCP-Tools
Tool | Beschreibung |
| Hybride Suche über alle indizierten Inhalte. Gibt Pfad, Vorschau, Score, Dateityp und Quelle zurück. |
| Listet alle konfigurierten Quellen mit Dateianzahl und Index-Status auf. |
| Liest den vollständigen Inhalt einer indizierten Datei (standardmäßig bis zu 1 MB). |
| Erzwingt die sofortige Neuindizierung einer Datei oder eines Verzeichnisses unter Umgehung des Watchers. |
Alle Tools sind abwärtskompatibel. Die v0.1-Signaturen sind eingefroren – das Hinzufügen von extended_preview in v0.2 ist additiv, nicht brechend.
Konfiguration
Alles befindet sich in config.yaml. Siehe config.example.yaml für eine vollständig kommentierte Referenz. Wichtige Highlights:
sources:
- name: documents
path: ~/Documents
recursive: true
extensions: [.txt, .md, .pdf, .docx]
- name: projects
path: ~/Projects
recursive: true
extensions: [.py, .js, .ts, .go, .rs, .md]
embeddings:
model: all-MiniLM-L6-v2 # swap to paraphrase-multilingual-MiniLM-L12-v2 for PT/EN
search:
mode: hybrid # hybrid | dense | sparse
top_k: 10
server:
transport: stdio # stdio | streamable-httpDie globale Ignorierliste schützt sensible Pfade standardmäßig: .env, *.key, id_rsa*, secrets/, .ssh/, .aws/, .git/, node_modules/.
Benchmarks
Benchmarks werden hier veröffentlicht, sobald v0.2 die CI auf allen drei Plattformen erreicht. Das Ziel sind reproduzierbare Zahlen – nicht „schnell auf meinem Rechner“.
Skripte befinden sich bereits in benchmarks/ und sind lokal ausführbar:
bench_indexing.py— Indizierungsdurchsatz (Chunks/s, MB/s) auf einem synthetischen Korpusbench_search_latency.py— p50/p95/p99 Suchlatenz über hybride/dense/sparse Modibench_embedding_models.py— Geschwindigkeits- vs. Qualitätsvergleich über drei Embedding-Modelle
Datenschutz & Sicherheit
Drei harte Verpflichtungen, die sich über Versionen hinweg nicht ändern:
Keine Daten verlassen Ihren Rechner. Keine Telemetrie. Keine externen API-Aufrufe, es sei denn, Sie stimmen explizit zu – und selbst dann gibt es eine
WARNINGim Log.HTTP-Listener bindet standardmäßig nur an
127.0.0.1. Das Exponieren an andere Schnittstellen erfordert eine explizite Konfigurationsüberschreibung.Logs enthalten niemals Dokumentinhalte oder Abfragen im Klartext. Das Audit-Log zeichnet Abfrage-Hashes auf, nicht die Abfragen selbst.
Verschlüsselung im Ruhezustand steht auf der Roadmap. Wenn Ihre Festplatte auf Betriebssystemebene verschlüsselt ist, sind Sie für das Bedrohungsmodell, gegen das MemoryMesh entwickelt wurde, abgesichert.
Roadmap
Version | Fokus | ETA |
v0.2 | Sicherheits-Härtung + CI/CD + Parent Document Retriever | bald |
v0.3 | Evaluierungs-Framework (Precision@k, MRR) + Reranker + Abfrageerweiterung | — |
v0.4 | Lokales LLM via Ollama (vollständiges RAG) + E-Mail/Kalender-Quellen | — |
v0.5 | Berechtigungen pro Agent + hierarchischer Speicher (hot/warm/cold) | — |
v1.0 | Agent-OS-Integration — Speicherschicht für Multi-Agenten-Systeme | ~6 Monate |
v2.0 | Hardware-Agenten — ESP32/Arduino fragen den Hub über BLE/WiFi ab | ~12 Monate |
Alle Details in ROADMAP.md.
Fehlerbehebung
UnicodeDecodeErrorbei einer Textdatei — MemoryMesh versucht nacheinander UTF-8, UTF-8 BOM, cp1252, latin-1. Wenn eine Datei dennoch fehlschlägt, wird dies protokolliert und übersprungen, ohne Absturz.Watcher reagiert nicht auf einem Netzlaufwerk / WSL-Mount — setzen Sie
watcher.use_polling: trueinconfig.yaml.Tesseract nicht gefunden — installieren Sie es systemweit und stellen Sie sicher, dass es im
PATHist. Windows: UB-Mannheim Installer.Embedding-Modell-Mismatch nach Konfigurationsänderung — führen Sie
memorymesh reindex --allaus. Das CLI verweigert den Start, wenn die in ChromaDB gespeicherte Modell-ID nicht mit der Konfiguration übereinstimmt.
Über dieses Projekt
MemoryMesh ist ein Solo-Projekt, das mittels Vibe Coding erstellt wurde – das Schreiben von Code in enger Zusammenarbeit mit LLMs bei hoher Geschwindigkeit – mit strukturierten Architektur-Reviews in jeder Phase. Der Prozess: LLM schlägt Code vor, Architekt prüft auf Korrektheit, Designlücken und Spezifikationsverletzungen, Test-Suite bestätigt. Fehler, die durchgerutscht sind (Startreihenfolge im Reconciliation-System, BM25-Kapselungsverletzung, falsche Konstruktor-Kwargs im CLI), wurden im Review gefangen, bevor sie jemals in Produktion liefen.
So sieht Vibe Coding aus, wenn man den Review-Schritt ernst nimmt: eine 172-Test-Suite, eine echte hybride Such-Pipeline, ein Reconciliation-System und eine Architektur, die darauf ausgelegt ist, in ein Agent-Betriebssystem überführt zu werden.
Mitwirken
MemoryMesh akzeptiert derzeit noch keine externen Beiträge – es gibt noch keine CI oder einen Leitfaden für Mitwirkende. Dies ändert sich mit v0.2. Beobachten Sie das Repo oder schauen Sie dann wieder vorbei.
Lizenz
MIT. Siehe LICENSE.
Danksagungen
Die Architektur wurde durch das Studium von LlamaIndex, LangChain, PrivateGPT, AnythingLLM, MemGPT und Haystack geprägt – um zu verstehen, was jedes gut macht und was nicht. Und an chroma-mcp und das MCP Python SDK dafür, dass sie gezeigt haben, wie MCP-nativ in der Praxis aussieht.
Maintenance
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
- AlicenseAqualityFmaintenanceA custom Memory MCP Server that acts as a cache for Infrastructure-as-Code information, allowing users to store, summarize, and manage notes with a custom URI scheme and simple resource handling.231MIT
- AlicenseAqualityAmaintenanceMCP Server for local knowledge management. Semantic + keywords + tags818MIT
- AlicenseAqualityCmaintenanceRecord development decisions as structured JSON, embed them as vectors via Gemini, and search semantically over MCP. Works with Claude Code, Cursor, Windsurf, and any MCP client.91581MIT
- AlicenseAqualityCmaintenanceMemento is a local-first MCP server that gives AI coding agents durable project memory — facts, decisions, patterns, and architecture notes — so they stop re-learning the same context every session. Runs locally on Node.js 18+ with SQLite storage and optional cloud embeddings; works with Claude Code, Cursor, Windsurf, and any MCP client.19332MIT
Related MCP Connectors
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Multi-engine search for AI agents. Trust scoring, local corpus, MCP-native. Self-hostable, BYOK.
Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/kilhubprojects/memory-mesh'
If you have feedback or need assistance with the MCP directory API, please join our Discord server