Local-first persistent memory with semantic search. sqlite-vec powered. No cloud. Hybrid retrieval: keyword + semantic + graph. Temporal awareness. Anti-repetition.
Sovereign Brain has 7 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-80 chars, mostly adequate) and input schemas with type info. However, parameter descriptions are minimal or absent, output schemas are undocumented, and error handling is not visible in the code. No tool annotations (readOnlyHint/destructiveHint) despite clear risk profiles. Naming is verb-based but generic (read, write, delete, search). The server lacks pagination guidance, field-level documentation, and recovery hints. Average tool score: 52/100.
Delete a brain entry.
Find connected entries in the knowledge graph.
Read a brain entry by key. Returns parsed JSON or raw string.
Read full entry with metadata.
Keyword search across keys, descriptions, and values.
Semantic vector search using sqlite-vec + Ollama embeddings.
Write or update a brain entry.
Output schemas undocumented. No tool returns a documented schema, LLMs cannot predict response structure, forcing them to guess field names and types for downstream tool calls.
Missing tool annotations. All tools lack readOnlyHint, destructiveHint, or idempotentHint despite clear risk profiles (delete is DESTRUCTIVE, read/search are READ_ONLY). Agents cannot reason about side effects or retry safety.
Parameter descriptions sparse or missing. 'key' param appears in 5 tools with identical 1-line description; 'value' in write() lacks format guidance (dict/list/string?); 'limit'/'k' in search tools lack range constraints (min/max).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
No pagination or result limits documented. search() and vec_search() accept 'limit'/'k' but no guidance on max values, default behavior, or whether results are truncated. Large result sets risk context window exhaustion.
Error handling not visible. No recovery guidance in code, if a key is not found, if Ollama is unreachable, or if vec_search fails, agents have no actionable next steps.