Skip to main content
Glama
QuantmindSSI

Lumena MCP Server

by QuantmindSSI

Что такое Lumena?

Lumena — это локально-ориентированное хранилище памяти для LLM-агентов — оно организует память агентов в структурированном дворце памяти (комнаты, локусы, фрагменты) с гибридным поиском, управляемым забыванием и нативными интеграциями. Оно полностью работает на вашем оборудовании без облачных зависимостей.

  • Без облака. Эмбеддинги выполняются локально через ONNX Runtime. Хранилище — однофайловый SQLite.

  • Опциональный демон. Фоновый планировщик автоматически запускается с lumena serve; также может работать автономно с lumena daemon start.

  • Гибридный поиск. BM25 (SQLite FTS5), векторный поиск по косинусной близости и опциональный обход графа с взаимным ранговым слиянием.

  • Управляемый жизненный цикл памяти. Трёхуровневое забывание: затухание по времени, интерференция по сходству и вытеснение по бюджету.

  • Интеграции. Сохранение контрольных точек LangGraph, адаптер памяти LangChain, MCP-сервер, FastAPI REST API.


Related MCP server: engram

Быстрый старт

# 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/docs

Для первого запуска требуется модель эмбеддингов. По умолчанию lumena попытается экспортировать её, что требует тяжёлого инструментария [export]. Рекомендуемый лёгкий путь — готовый пакет модели (без инструментария): установите LUMENA_PREBUILT_MODEL_URL или используйте установщик в одну команду.

Варианты установки (дополнительно)

Базовая установка намеренно лёгкая (без torch/CUDA). Добавляйте дополнительные компоненты только при необходимости:

Установка

Добавляет

Когда

pip install lumena

Основной рантайм + инференс

Всегда

pip install 'lumena[mcp]'

MCP-сервер для агентов кодирования

При использовании OpenCode/Copilot/Claude и т.д.

pip install 'lumena[export]'

Инструментарий экспорта ONNX (optimum → torch, ~2GB)

Только для сборки модели самостоятельно

pip install 'lumena[wizard]'

Мастер онбординга spaCy

lumena illuminate

pip install 'lumena[localllm]'

Локальная LLM (llama-cpp)

Консолидация повествования

pip install 'lumena[langchain]' / [langgraph]

Адаптеры фреймворков

Для этих фреймворков

pip install 'lumena[full]'

Всё вышеперечисленное

Полная локальная разработка

Хранение и поиск

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=3

Конечные точки API

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 JSON

Архитектура

User Input → Intent Router → Parallel Retrieval (BM25 + Dense + Graph)
                                  │
                                  ▼
                          RRF Fusion × V(m) × Recency
                                  │
                                  ▼
                          Context Assembly (Jinja2)
                                  │
                                  ▼
                    Consolidation → Decay / Interference / Eviction

Состояние проекта

Lumena — это готовое к продакшену программное обеспечение. Оно работает полностью, с версионированием API, всесторонними тестами и документированными ограничениями безопасности. Оно подходит для продакшена, оценки, разработки и развёртывания в доверенной локальной сети.

Измерение

Статус

Детали

Тесты

320 проходят, 7 пропущено

Покрытие 75%. 43 файла тестов.

Хранилище

Работает

SQLite с WAL, FTS5, битемпоральное отслеживание, цепочки происхождения.

Поиск

Работает

BM25 + плотный + графовый с RRF-слиянием.

Забывание

Работает

L1-затухание (Эббингауз), L2-интерференция, L3-вытеснение по бюджету.

Обнаружение PII

Работает

Сканирование на основе регулярных выражений при сохранении. Настраиваемые блокировка/редактирование/хеширование.

Журналирование аудита

Работает

Таблица SQLite audit_log с трассировкой запросов.

API-сервер

Работает

FastAPI с версионированием /v1/, опциональная аутентификация по API-ключу (выключена, пока не установлен LUMENA_API_KEY), ограничение скорости на POST-эндпоинтах, CORS, заголовки безопасности.

MCP-сервер

Работает

7 инструментов (search, store, assemble, turn, feedback, status, dashboard).

LangChain

Работает

Адаптер LumenaChatMemory (требуется пакет langchain).

LangGraph

Работает

LumenaCheckpointSaver (требуется пакет langgraph).

Шифрование в покое

Реализовано, опционально

SQLCipher (вся БД) или Fernet (на уровне полей) через LUMENA_DATABASE_ENCRYPTION_MODE. По умолчанию none — включите его или используйте шифрование диска на уровне ОС.

Бенчмарки BEIR

Частично оценено

Доступны результаты подмножества 500 документов/20 запросов. Полная оценка корпуса отложена до HPC.

P2P-обмен

Работает

Протокол Beam с шифрованием AES-256-GCM, подписью HMAC-SHA256, защитой от повторного воспроизведения. Требуется p2p-ключ.


Наборы бенчмарков

Все запускаются одной командой из корня репозитория:

Набор

Команда

Статус

Поиск (R@k, nDCG, MRR)

python -m benchmarks.retrieval.run

Запущен (синтетический корпус)

E2E качество памяти

python -m benchmarks.e2e.run

Запущен (28 запросов)

Эффективность навигации

python -m benchmarks.navigation.run

Запущен

Абляция (изоляция компонентов)

python -m benchmarks.ablation.run

Запущен

Забывание (выживание за 90 дней)

python -m benchmarks.forgetting.run

Запущен (результаты доступны)

Производительность (задержка/ресурсы)

python -m benchmarks.perf.run

Запущен (результаты доступны; x86_64)

Оценка подмножества BEIR

python -m benchmarks.beir.run

Запущен (доступны результаты подмножества 500 документов/20 запросов)

Оптическая деградация

python -m benchmarks.optical.run

Запущен (результаты доступны)

Чувствительность TFC

python -m benchmarks.tfc.run

Запущен (результаты доступны)

Стресс (массовая загрузка)

python -m benchmarks.stress.run

Запущен (доступны результаты 20k фрагментов; x86_64)

Кросс-системный (сравнение с Chroma/FAISS)

python -m benchmarks.cross_system.run

Каркас готов; результатов пока нет

Все наборы

python -m benchmarks.run_all

Обёртка всех 11 наборов

Примечание о результатах: Бенчмарки поиска используют синтетический корпус с перекрытием ключевых слов (1000 отрывков, 50 запросов) плюс оценку подмножества BEIR (подмножества из 500 отрывков и 20 запросов по 5 стандартным наборам данных). Синтетический корпус намеренно прост (BM25 почти насыщает nDCG), поэтому относитесь к этим цифрам как к проверке работоспособности каркаса, а не как к заявлению о качестве поиска — подмножества BEIR являются значимым сигналом. Зафиксированный артефакт поиска был перегенерирован с реальными эмбеддерами (all-MiniLM-L6-v2 и BAAI/bge-small-en-v1.5); бенчмарки отказываются работать с фиктивными эмбеддингами.


Интеграции

Интеграция

Что делает

Как использовать

MCP-сервер

Предоставляет инструменты Lumena для OpenCode, Claude Desktop

python -m lumena.integrations.mcp_server

LangChain

Адаптер LumenaChatMemory

pip install langchain

LangGraph

LumenaCheckpointSaver для состояния графа

pip install langgraph

FastAPI

REST API с аутентификацией/ограничением скорости

lumena serve

OpenCode

Нативный навык для рабочих процессов памяти

См. INTEGRATIONS.md


Структура проекта

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 suites

Вклад в проект

Мы приветствуем вклад. Лучший способ начать:

  1. Прочитайте CONTRIBUTING.md — настройка, именование веток, стандарты кода.

  2. Выберите good first issue из трекера задач.

  3. Запустите тесты: pytest tests/ (должны проходить с покрытием ≥50%).

  4. Отправьте PR в ветку main.

Области с высокой отдачей для вклада

  • Запустите полный каркас BEIR — создайте результаты бенчмарков поиска масштаба лидерборда.

  • Запустите набор производительности на реальном оборудовании — заявления о потреблении RAM/задержек требуют измеренных артефактов (RPi5, Jetson, x86_64).

  • Напишите тесты — нескольким модулям не хватает выделенных файлов тестов. Выберите один и добавьте покрытие.

Настройка разработки

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/             # Lint

Документация

Документ

Назначение

DEPLOYMENT.md

Руководство по развёртыванию в продакшене

CONTRIBUTING.md

Как внести вклад

SECURITY.md

Политика безопасности и известные ограничения

INTEGRATIONS.md

Руководства по интеграции для каждой платформы

ROADMAP.md

Вехи разработки и открытые задачи

docs/Lumena_Whitepaper.md

Вводный технический документ


Сообщество


Лицензия

Lumena распространяется по двойной лицензии:

  • Community EditionAGPL-3.0-or-later. Бесплатное и открытое программное обеспечение. Если вы запускаете модифицированную версию Lumena в качестве сетевого сервиса, AGPL требует предоставить ваш исходный код его пользователям.

  • Pro / Commercial Edition — коммерческая лицензия от QuantumindSSI, которая снимает обязательства AGPL и открывает функции Pro. См. COMMERCIAL-LICENSE.md.

Версии вплоть до v1.0.0 включительно выпускались под лицензией Apache 2.0 (LICENSES/Apache-2.0.txt); предоставленные на этих выпусках права безотзывны. По коммерческим вопросам: licensing@quantumindssi.com.


A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    B
    maintenance
    An 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.
    3
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides persistent, local-first AI memory across sessions via MCP tools for storing, searching, and retrieving context from past interactions.
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides 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
  • A
    license
    Not graded
    quality
    D
    maintenance
    Local-first AI memory layer with hybrid retrieval and brain-inspired namespaces. Enables agents to save, search, and manage memories directly via MCP tools.
    5
    MIT

View all related MCP servers

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.

View all MCP Connectors

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/QuantmindSSI/lummenna'

If you have feedback or need assistance with the MCP directory API, please join our Discord server