Persistent semantic memory backed by ObjectBox vector search. Use remember/supersede to store knowledge, recall for semantic retrieval, link/unlink to relate memories, forget to expire or delete, list_recent/get/stats to inspect, and reindex to repair the vector index.
Remembox has well-structured tool definitions with consistent naming (verb_noun pattern: remember, recall, forget, supersede, link, unlink, list_recent, reindex) and complete input schemas visible in lib/src/server.dart. All 10 tools have descriptions and typed parameters. However, descriptions are terse (10-60 chars, well below the 194-char baseline), lack context on WHEN to use each tool, and omit recovery guidance for errors. Parameter descriptions are minimal, e.g., 'The memory text to store' lacks format/length constraints. Output schemas are not documented. Error handling returns JSON but lacks actionable recovery steps. The server demonstrates solid engineering (serialization, validation, logging) but falls short of LLM-optimized descriptions and comprehensive error guidance.
Delete or expire a memory entry
Retrieve a specific memory entry by ID
Create a relationship link between two memory entries
List recently created or accessed memory entries
Retrieve memories semantically similar to a query
Repair or rebuild the vector index for memory entries
Store a memory entry with semantic embedding for later recall
Descriptions are terse (10-60 chars vs. 194-char baseline) and lack context on WHEN to use each tool or what it returns. E.g., 'Store a memory entry with semantic embedding for later recall' omits expected output format, prerequisites, or when to call supersede vs. remember.
Output schemas are not documented. LLMs cannot plan downstream calls or extract required fields (e.g., does recall return memory_id, embedding_distance, or both?). This forces agents to guess or make exploratory calls.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | <=2025-11-25 | v2 |
Get statistics about the memory store
Replace an existing memory entry with updated content
Remove a relationship link between two memory entries
Parameter descriptions lack format/length constraints and validation rules. E.g., 'The memory text to store' does not specify max length, encoding, or whether newlines/special chars are allowed. 'Optional project filter' does not explain what happens if omitted.
Error responses return JSON with 'error' and 'message' fields but lack recovery guidance. E.g., ValidationException errors do not suggest which tool to call next or how to fix the input. Agents cannot self-correct without trial-and-error.
Destructive operations (forget, reindex with force=true) lack confirmation or dry-run support. Agents can permanently delete memories without a safety gate. No idempotent hints in tool definitions.