An MCP server for managing Engram journals - self-authored agent sessions with multi-round accompaniment, outcome tracking, and self-fold decision-making
Engram tools have clear, domain-specific descriptions (avg 95 chars) and well-structured input schemas with proper types and constraints. However, critical gaps undermine production readiness: (1) No output schemas documented, LLMs cannot predict return structure or plan downstream calls; (2) Parameter descriptions lack actionable constraints (e.g., 'scene' and 'content' are vague strings with no format guidance); (3) No error handling guidance, tools return bare errors without recovery hints; (4) Missing idempotency/retry semantics despite WRITE operations; (5) No permission/scope declarations despite sensitive state mutations. Tool names follow verb_noun pattern well (summon, wake, observe, release, outcome, fold_status, fold_revert), but lack context about prerequisites and dependencies between operations.
Deactivate the current self-fold and restore its parent posture without deleting the outcome or history.
Show the current self-authored posture and its append-only fold and revert history.
Append an exact host message or tool result to the accompanying Engram's own Journal. The returned observation_event_id can later cite real outcome evidence.
Cite a user message, tool result, or external observation for one exact wake. The Engram immediately chooses change or no_change and applies its own self-fold without a human approval queue.
End an accompaniment period and let the Engram return to sleep without deleting its Journal.
Explicitly summon a selected Engram. It wakes with its own Journal, returns an accompaniment_id, and can accompany several later wake/observe exchanges before release.
No output schemas documented. LLMs cannot predict return structure (e.g., what fields does engram_summon return? Is accompaniment_id a string or object?). This violates pattern:tool and forces agents to guess downstream field names.
Parameter descriptions lack actionable constraints. 'scene' is described as 'The current scene context' (vague); 'content' as 'The message content to observe' (no format/length guidance).
No error handling guidance. Tools declare WRITE/REVERSIBLE risk but provide no recovery hints. Per pattern:recovery-guide, errors must tell LLMs what to do next (e.g., 'If accompaniment_id not found, call engram_summon first').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Continue an existing accompaniment period when the current scene changes.
Missing idempotency semantics. engram_observe and engram_outcome are WRITE operations but lack idempotent guarantees or deduplication hints. Agents retrying on ambiguous failures risk duplicate state mutations.
No permission/scope declarations. Tools mutate Engram state (summon, observe, outcome, fold_revert) but do not declare required permissions (e.g., 'write:engram', 'read:journal'). Per pattern:scope-declaration, this prevents least-privilege agent configs.