Skip to main content
Glama
QuantmindSSI

Lumena MCP Server

by QuantmindSSI

Lumena란 무엇인가?

Lumena는 LLM 에이전트를 위한 로컬 우선 메모리 저장소입니다. 하이브리드 검색, 관리형 감쇠(decay), 네이티브 통합을 통해 에이전트 메모리를 구조화된 메모리 팰리스(rooms, loci, chunks)로 구성합니다. 클라우드 의존성 없이 전적으로 사용자 하드웨어에서 실행됩니다.

  • 클라우드 없음. 임베딩은 ONNX Runtime을 통해 로컬에서 실행됩니다. 저장소는 단일 파일 SQLite입니다.

  • 선택적 데몬. 백그라운드 스케줄러가 lumena serve와 함께 자동 시작되며, lumena daemon start로 독립 실행할 수도 있습니다.

  • 하이브리드 검색. BM25(SQLite FTS5), 코사인 유사도 벡터 검색, 그리고 reciprocal rank fusion을 사용한 선택적 그래프 탐색.

  • 관리형 메모리 수명 주기. 3계층 망각: 시간 기반 감쇠, 유사도 간섭, 예산 축출.

  • 통합. 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을 설정하거나 원커맨드 설치 프로그램을 사용하세요.

설치 옵션(extras)

기본 설치는 의도적으로 가볍게 구성되어 있습니다(torch/CUDA 없음). 필요할 때만 extras를 추가하세요:

설치

추가 항목

사용 시점

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 버전 관리, 포괄적인 테스트, 문서화된 보안 제한 사항을 갖춘 엔드투엔드로 작동합니다. 프로덕션, 평가, 개발, 신뢰할 수 있는 LAN 배포에 적합합니다.

항목

상태

세부 사항

테스트

320개 통과, 7개 건너뜀

75% 커버리지. 43개 테스트 파일.

저장소

작동 중

WAL, FTS5, 이중 시간 추적, 출처 체인을 갖춘 SQLite.

검색

작동 중

BM25 + 밀집 + RRF 융합을 사용한 그래프.

망각

작동 중

L1 감쇠(에빙하우스), L2 간섭, L3 예산 축출.

PII 감지

작동 중

저장 시점의 정규식 기반 스캔. 차단/편집/해시 구성 가능.

감사 로깅

작동 중

요청 추적을 지원하는 SQLite audit_log 테이블.

API 서버

작동 중

/v1/ 버전 관리, 옵트인 API 키 인증(LUMENA_API_KEY 설정 전까지 꺼짐), POST 엔드포인트의 속도 제한, CORS, 보안 헤더를 갖춘 FastAPI.

MCP 서버

작동 중

7개 도구(search, store, assemble, turn, feedback, status, dashboard).

LangChain

작동 중

LumenaChatMemory 어댑터(langchain 패키지 필요).

LangGraph

작동 중

LumenaCheckpointSaver(langgraph 패키지 필요).

저장 데이터 암호화

구현됨, 옵트인

LUMENA_DATABASE_ENCRYPTION_MODE를 통한 SQLCipher(전체 DB) 또는 Fernet(필드 수준). 기본값은 none입니다 — 활성화하거나 OS 수준 디스크 암호화를 사용하세요.

BEIR 벤치마크

부분 평가됨

500개 문서/20개 쿼리 하위 집합 결과 제공. 전체 코퍼스 평가는 HPC로 연기됨.

P2P 공유

작동 중

AES-256-GCM 암호화, HMAC-SHA256 서명, 재생 방지를 갖춘 Beam 프로토콜. 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개 스위트 전체 래핑

결과에 대한 참고 사항: 검색 벤치마크는 합성 키워드 중복 코퍼스(1,000개 구절, 50개 쿼리)와 BEIR 하위 집합 평가(5개 표준 데이터셋에 걸친 500개 구절, 20개 쿼리 하위 집합)를 사용합니다. 합성 코퍼스는 의도적으로 쉬우므로(BM25가 nDCG에 근접 포화), 해당 수치는 하네스 정합성 검사로 간주하고 검색 품질 주장으로 취급하지 마세요 — BEIR 하위 집합이 의미 있는 신호입니다. 커밋된 검색 아티팩트는 실제 임베더(all-MiniLM-L6-v2 및 BAAI/bge-small-en-v1.5)로 재생성되었습니다. 벤치마크는 목(mock) 임베딩으로는 실행을 거부합니다.


통합

통합

기능

사용 방법

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. main에 PR 제출하기.

기여 가치가 높은 영역

  • 전체 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는 이중 라이선스로 제공됩니다:

  • 커뮤니티 에디션AGPL-3.0-or-later. 무료이며 오픈소스입니다. 수정된 Lumena를 네트워크 서비스로 운영하는 경우, AGPL은 사용자에게 소스 코드를 공개할 것을 요구합니다.

  • 프로 / 상용 에디션 — QuantumindSSI의 상용 라이선스로, AGPL 의무를 제거하고 프로 기능을 제공합니다. 자세한 내용은 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