Persistent memory for LLMs — FTS5 search, git sync, markdown storage
grug-brain has 11 tools with basic schemas and descriptions, but significant quality gaps limit production readiness. Tool names lack clear action verbs (grug-search, grug-write use prefixes rather than verb_noun patterns). Descriptions are present but generic (avg ~80 chars, below 194-char baseline). Parameter descriptions exist but lack constraints, ranges, and format specifications. Output schemas are not documented. Error handling is absent, no recovery guidance, categorization, or actionable messages. The server uses STDIO transport, which is not remotely accessible and caps protocol readiness at 50.
Manage brain configuration with actions like add, remove, list, update
Manage conversation history with actions like create, list, update, delete
Delete a memory entry with optional hard delete
Browse documentation with optional category, path, and pagination
Generate dream/insight entries from memory associations
Read a memory entry by brain, category, and path
Recall memories from a category within a brain
Tool names use grug- prefix instead of verb_noun pattern. Names like 'grug-search', 'grug-write' do not start with action verbs (search_, create_, update_, delete_). LLMs infer intent from names, these names are opaque and force reliance on descriptions.
No output schemas documented. Tools return results but LLMs cannot plan downstream calls or extract fields without seeing response structure. grug-search, grug-read, grug-recall lack documented return types.
Parameter descriptions lack constraints, ranges, and format specs. 'page' is described as 'Optional page number' with no min/max. 'action' in grug-config has no enum of valid actions. LLMs cannot validate inputs without explicit constraints.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | <=2025-11-25 | v2 |
Search memories using full-text search with optional pagination
Synchronize a brain with its git remote
Apply structured edits to a memory entry
Write or update a memory entry with content, category, and path
No error handling guidance. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. grug-delete (destructive) has no confirmation or dry-run pattern.
grug-dream has empty input schema (no parameters). Description is vague ('Generate dream/insight entries from memory associations'). Unclear what triggers dreams, what context is used, or what output structure is returned.