MCP server for Sibyl Memory Plugin: wraps the local SQLite + FTS5 memory engine and exposes it to MCP-compatible agents (Claude Code, Codex, Cursor, Continue, anything that speaks MCP).
Sibyl Memory MCP has well-structured tool definitions with consistent naming (verb_noun pattern: memory_remember, memory_recall, memory_search, etc.) and complete input schemas. All 8 tools have descriptions and typed parameters with descriptions. However, descriptions are terse (10-50 chars, well below the 50-200 char LLM-optimized baseline), lack actionable context about when to use each tool, and omit error recovery guidance. Output schemas are not documented. Parameter descriptions are minimal (e.g., 'entity category' for category param). No tool annotations (readOnlyHint, destructiveHint) despite clear risk classifications. Error handling is present but not visible in schema definitions.
archive an entity (preserved, removed from active set)
read a HOT-tier state document
list entities, optionally filtered by category
read an entity by category+name
append a COLD-tier journal event
store an entity
FTS5 search across ALL tiers (entities + state + reference + journal)
Descriptions are terse (10-50 chars) and lack LLM-optimized context. 'store an entity' and 'read an entity by category+name' do not explain WHEN to use each tool, what distinguishes memory_remember from memory_set_state, or what the agent should expect in return.
Output schemas are not documented. LLMs cannot infer what fields memory_search returns, whether memory_list includes pagination metadata, or what structure memory_recall yields. This forces agents to guess and risks parsing errors.
Tool annotations (readOnlyHint, destructiveHint, idempotentHint) are absent despite clear risk classifications (READ_ONLY, WRITE, REVERSIBLE). These hints enable agents to reason about safety and retry logic.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
write a HOT-tier state document
Parameter descriptions are minimal. 'entity category', 'entity name', 'entity content/body' lack guidance on format, length, or valid values. No constraints on tier enum values or search query syntax.
memory_list accepts optional category filter and limit (default 50) but does not document pagination behavior, total count, or whether results are sorted. Large result sets risk context window exhaustion.