Lumena MCP Server
Was ist Lumena?
Lumena ist ein lokaler Speicher für LLM-Agenten – es organisiert Agentengedächtnisse in einem strukturierten Gedächtnispalast (Räume, Loci, Chunks) mit hybridem Abruf, verwaltetem Verfall und nativen Integrationen. Es läuft vollständig auf Ihrer eigenen Hardware ohne Cloud-Abhängigkeiten.
Keine Cloud. Embeddings laufen lokal über ONNX Runtime. Der Speicher ist eine einzelne SQLite-Datei.
Optionaler Daemon. Der Hintergrundplaner startet automatisch mit
lumena serve; kann auch selbständig mitlumena daemon startlaufen.Hybrider Abruf. BM25 (SQLite FTS5), Vektorsuche nach Kosinusähnlichkeit und optional Graph-Traversal mit Reciprocal-Rank-Fusion.
Verwalteter Speicherlebenszyklus. Vergessen auf drei Ebenen: zeitbasierter Verfall, Interferenz durch Ähnlichkeit und Räumung nach Budget.
Integrationen. LangGraph-Checkpoint-Saver, LangChain-Speicheradapter, MCP-Server, FastAPI-REST-API.
Related MCP server: engram
Schnellstart
# Clone and install (lean runtime — no torch/CUDA)
git clone https://github.com/QuantumindSSI/lumena.git
cd lumena
pip install -e . # runtime: sqlite-vec, onnxruntime, transformers tokenizer…
# Initialize
lumena init --device generic
# Start the server
lumena serve
# Dashboard at http://localhost:8848/dashboard
# API docs at http://localhost:8848/docsBeim ersten Lauf wird ein Einbettungsmodell benötigt. Standardmäßig versucht
lumena, eines zu exportieren, was die umfangreiche[export]-Toolchain erfordert. Der schlanke, empfohlene Weg ist ein vorgefertigtes Modellpaket (ohne Toolchain): setzen SieLUMENA_PREBUILT_MODEL_URLoder verwenden Sie den Ein-Befehl-Installer.
Installationsoptionen (Extras)
Die Standardinstallation ist bewusst schlank (kein torch/CUDA). Fügen Sie Extras nur hinzu, wenn sie benötigt werden:
Install | Enthält zusätzlich | Wann verwenden | |
| Kern-Runtime + Inferenz | Immer | |
| MCP-Server für Coding-Agenten | Mit OpenCode/Copilot/Claude etc. | |
| ONNX-Export-Toolchain (optimum → torch, ~2GB) | Nur um selbst ein Modell zu bauen | |
| spaCy-Onboarding-Wizard |
| |
| On-Device-LLM (LLama) | Narrative Konsolidierung | |
| Framework-Adapter | Diese Frameworks | |
| Alles oben | Lokale Entwicklung mit allem Drum und Dran – „Kitchen-Sink“ |
Speichern und abrufen
from lumena.config import LumenaConfig
from lumena.data.schema import get_connection
from lumena.force.mnemonic.store import store_memory
config = LumenaConfig()
conn = get_connection(config)
chunk_id = store_memory(
conn,
content="User prefers dark mode and large fonts",
room_name="preferences",
config=config,
)
conn.close()from lumena.config import LumenaConfig
from lumena.data.schema import get_connection
from lumena.conversation import ConversationMemory
config = LumenaConfig()
conn = get_connection(config)
memory = ConversationMemory(config=config, conn=conn)
turn = memory.retrieve_and_assemble("What UI settings does the user like?")
print(turn.assembled_context)$ lumena status
Lumena Status
Device: generic
Rooms: 5
Active chunks: 58
Context budget: 2048 tokens
TFC → e=0.50 a=0.50 tau=7.0 r=3API-Endpunkte
GET /health Liveness probe (unversioned)
GET /dashboard Effectiveness dashboard (HTML)
GET /metrics Machine-readable metrics
GET /v1/status Palace overview
POST /v1/search Semantic + lexical hybrid search
POST /v1/store Store a memory chunk
POST /v1/feedback Log explicit or implicit feedback
POST /v1/assemble Retrieve + assemble context in one call
POST /v1/turn Store full conversation turn
GET /v1/dashboard-data Dashboard data as JSONArchitektur
User Input → Intent Router → Parallel Retrieval (BM25 + Dense + Graph)
│
▼
RRF Fusion × V(m) × Recency
│
▼
Context Assembly (Jinja2)
│
▼
Consolidation → Decay / Interference / EvictionProjektstand
Lumena ist produktionsreife Software. Es arbeitet End-to-End mit API-Versionierung, umfassenden Tests und dokumentierten Einschränkungen für die Sicherheit. Es ist geeignet für Produktion, Evaluierung, Entwicklung und vertrauenswürdige LAN-Bereitstellungen.
Dimension | Status | Detail |
Tests | 320 bestanden, 7 übersprungen | 75% Abdeckung. 43 Testdateien. |
Speicher | Funktionsfähig | SQLite mit WAL, FTS5, bitemporaler Nachverfolgung, Provenienzketten. |
Abruf | Funktionsfähig | BM25 + dichte Vektorsuche + Graph mit RRF-Fusion. |
Vergessen | Funktionsfähig | L1-Verfall (Ebbinghaus), L2-Interferenz, L3-Budget-Räumung. |
PII-Erkennung | Funktionsfähig | Regex-basierte Prüfung beim Speichern. Konfigurierbar: blockieren / schwärzen / hashen. |
Audit-Log | Funktionsfähig | SQLite- |
API-Server | Funktionsfähig | FastAPI mit |
MCP-Server | Funktionsfähig | 7 Tools (search, store, assemble, turn, feedback, status, dashboard). |
LangChain | Funktionsfähig |
|
LangGraph | Funktionsfähig |
|
VersVP-Verschlüsselung | Implementiert, optional | SQLCipher (ganze DB) or Fernet (Feld-Ebene) über |
BEIR-Benchmarks | Teilweise evaluiert | Ergebnisse für eine Teilmenge 500-Dokumente/20-Abfragen verfügbar. Vollständige Auswertung auf HPC aufgeschoben. |
P2P-Austausch | Funktionsfähig | Beam-Protokoll mit AES-256-GCM-Verschlüsselung, HMAC-SHA256-Signierung, Replay-Schutz. Erfordert einen p2p-Schlüssel. |
Benchmark-Suiten
Alle laufen mit einem einzigen Befehl, ohne gegenüberliegende Kommandozeile – from repo root:
Suite | Befehl | Status |
Suche (R@k, nDCG, MRR) |
| Ausgeführt (synthetischer Korpus) |
E2E-Speicherqualität |
| Ausgeführt (28 Abfragen) |
Navigationseffizienz |
| Ausgeführt |
Ablation (Komponentenisolation) |
| Ausgeführt |
Vergessen (90-Tage-Überleben) |
| Ausgeführt (Ergebnisse verfügbar) |
Performance (Latenz/Ressourcenbedarf) |
| Ausgeführt (Ergebnisse verfügbar; x86_64) |
BEIR-Teilmenge |
| Ausgeführt (200-… 500-Dokument/20-Abfragen) |
Optische Degradation |
| Ausgeführt (Ergebnisse verfügbar) |
TFC-Sensitivität |
| Ausgeführt (Ergebnisse verfügbar) |
Stress (Bulk-Import) |
| Ausgeführt (20k-Chunk-Ergebnisse; x86_64) |
Systemvergleich (vs Chroma/FAISS) |
| Betrachtungswerk einsatzbereit; noch keine Ergebnisse |
Alle Suites |
| Umfasst alle 11 Suites |
Hinweis zu Ergebnissen: : Die Retrieval-Benchmarks verwenden einen synthetischen Korpus mit Keyword-Überlappung (1.000 Passagen, 50 Abfragen) plus BEIR-Teilmenge (500-Passagen- und 20-Abfrage-Untermengen aus 5 Standarddatensätzen). Der synthetische Korpus ist absichtlich einfach (BM25 erreicht fast die nDCG-Decke). Betrachten Sie diese Zahlen also nur als Funktionsprüfung der Umgebung, nicht als Indikator für Retrival-Qualität – Die BEIR-Teilmengen sind das aussagekräftige Signal. Das redundante Artefakt wurde mit echten Embeddern neu erzeugt (all-MiniLM-L6-v2 und BAAI/bge-small-en-v1.5);. Die Benchmark läuft mit Mock-Embeddings nicht.
Integrationen
Integration | Was er tut | Verwendung |
MCP-Server | Stellt Lumens Tools für OpenCode, Claude Desktop |
|
LangChain | Adapter |
|
LangGraph |
|
|
FastAPI | JSON/API mit Auth & Rate-Race-Limiting |
|
OpenCode | Eingebauter Skill für Speicheraufgaben | Siehe |
Projektstruktur
lumena/
├── config.py Configuration (pydantic-settings)
├── search.py Search pipeline orchestration
├── fusion.py RRF fusion + reranking
├── controller.py Twin-Force state controller
├── conversation.py Context assembly + turn tracking
├── repair.py Self-healing retrieval
├── intent.py Intent router (keyword + optional LR)
├── api/ FastAPI server + dashboard
├── cli/ Typer CLI
├── data/ Schema, migrations, backup
├── force/
│ ├── mnemonic/ Store, retrieval, decay, interference, eviction, provenance
│ └── contextual/ Embedding, token budget, assembly
├── integrations/ LangChain, LangGraph, MCP server
├── p2p/ Beam P2P sharing protocol
├── sovereign/ FRQAD, optical quantization, local LLM
├── brand/ Error hierarchy
└── compliance/ Safety forgetting, PII audit
tests/ 43 test files, 327 tests
benchmarks/ 11 benchmark suitesMach mit
Wir freuen uns über Beiträger. So stoßen Sie am besten ein:
Lesen Sie
CONTRIBUTING.md– Einrichtung, Benennung der Branches, Code-Standards.Suchen Sie eine
good first issueaus dem Issue-Tracker.Führen Sie die Tests aus:
pytest tests/(muss mit ≥50 % Abdeckung bestanden).Senden Sie einen Pull-Request gegen
main.
Bereiche, die besonders hilfreich bewäwherender schon:
Führen Sie die komplette BEIR-Testumgebung aus – Generate Leaderboard-Benchmark-Ergebnisse.
Optische die Performance-Suite auf echter Hardware – Behauptungen zu RAM/Latenz brauchen messbare Geräte (RPi5, Jetson, x86_64).
Ergänzen Sie Tests – mehreren Modulen fehlen Testdateien. Sooden Sie mit einer aus.
Entwicklungssetup
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest tests/ # Run full suite
pytest tests/ --cov=lumena # With coverage
ruff check lumena/ tests/ # LintDokumentation
Dokument | Zweck |
Leitfaden für die Produktionsbereitstellung | |
Wie zu beitragen | |
Sicherheitsrichtslinie und bekannte Einschränkungen | |
Integrationsanleitungen für jede Plattform | |
Entwicklungs-Meilensteine und offene Aufgaben | |
Einführende Whitepaper |
Community
Matrix:
#lumena:matrix.org
Lizenz
Lumena ist dual-lizenziert:
Community Edition — AGPL-3.0-or-later. Frei und Open Source. Wenn Sie ein modifiziertes Lumena als Netzwerkdienst betreiben, verlangt die AGPL, dass Sie Ihren Quellcode den Benutzern zur Verfügung stellen.
Pro / Commercial Edition — eine kommerzielle Lizenz von QuantumindSSI, die die AGPL-Verpflichtungen aufhebt und Pro-Funktionen freischaltet. Siehe
COMMERCIAL-LICENSE.md.
Versionen bis einschließlich v1.0.0 wurden unter Apache 2.0
(LICENSES/Apache-2.0.txt) veröffentlicht; diese Gewährung für diese
Versionen ist unwiderruflich. Kommerzielle Anfragen: licensing@quantumindssi.com.
This server cannot be installed
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
- AlicenseNot gradedqualityBmaintenanceAn MCP-native, local-first memory server that gives AI agents persistent, structured memory across sessions and tools, enabling them to maintain identity and context without reconfiguration.3MIT
- AlicenseNot gradedqualityCmaintenanceProvides persistent, local-first AI memory across sessions via MCP tools for storing, searching, and retrieving context from past interactions.1MIT
- AlicenseNot gradedqualityAmaintenanceProvides persistent memory for AI coding agents via MCP, enabling agents to store and semantically recall facts, events, and lessons across sessions, all running locally without cloud dependencies.Apache 2.0
- AlicenseNot gradedqualityDmaintenanceLocal-first AI memory layer with hybrid retrieval and brain-inspired namespaces. Enables agents to save, search, and manage memories directly via MCP tools.5MIT
Related MCP Connectors
Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Shared long-term memory vault for AI agents with 20 MCP tools.
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/QuantmindSSI/lummenna'
If you have feedback or need assistance with the MCP directory API, please join our Discord server