Self-hosted local memory middleware for AI agents. A local context database on real files with memory, knowledge, and skills unified as Markdown in a personal vault. Provides MCP read+write access, tiered L0/L1/L2 context loading, a memory pyramid, Korean-first hybrid retrieval, and reproducible benchmarks on a zero-service SQLite+numpy stack.
Lemory has 10 tools with basic schemas and descriptions, but significant gaps prevent higher scores. Tool names are action-oriented (search, remember, approve), and most descriptions exist (8-50 words). However, parameter descriptions are sparse or missing entirely, many params lack type info or constraints. Output schemas are undocumented. Error handling is absent from visible definitions. The 'ask' tool requires an external LLM but this dependency is not stated. Overall, definitions are functional but fall short of production-grade clarity.
Append-only write to an existing note (creates it if missing).
Approve a pending AI-written note so it enters the index.
Grounded answer with citations (needs a generator LLM configured).
Cross-note disagreements: number conflicts, negations, duplicates.
One-call situational context for agent session starts (Zep-style).
AI writes awaiting approval (memory_approval mode).
Persist a memory as a Markdown note (duplicate-checked, undoable).
Hybrid retrieval (or mode: "fast" for the no-embedding instant path).
Output schemas undocumented. No visible schema definitions for tool responses (search results, ask answers, conflicts list, etc.). LLMs cannot plan downstream calls or extract fields without knowing response structure.
Parameter descriptions missing or minimal. 'pending' has empty input schema {}; 'status' has empty input {}; 'conflicts' and 'context' lack descriptions for their numeric parameters (threshold, limit, maxChars). LLMs cannot infer valid ranges or constraints.
Error handling absent. No guidance on what happens when search fails, ask lacks an LLM, or approve is called on a non-existent path. Agents have no recovery strategy.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Index stats: documents, chunks, links, models, last sync.
Undo an AI-written note (refuses human-authored files).
Undocumented dependencies. 'ask' requires 'a generator LLM configured' but does not state what happens if none is available, or how to configure it. 'approve' and 'trash' operate on pending/AI-written notes but the approval workflow is not explained.
Numeric parameter constraints missing. 'k' (number of results) and 'threshold' (similarity) lack min/max bounds. 'maxChars' has no range. Unbounded numbers invite absurd LLM inputs (k=999999, threshold=1e10).