Selective durable graph memory MCP server for AI agents, backed by Neo4j
Mindreader defines 8 tools with complete JSON schemas and descriptions. All tools have input schemas with typed properties and descriptions. However, descriptions are terse (avg ~60 chars, well below the 194-char baseline), lack WHEN/WHY context, and omit error recovery guidance. Parameter descriptions are minimal. Output schemas are not documented. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels (READ_ONLY, WRITE, REVERSIBLE, IRREVERSIBLE). Error handling is present but not recovery-focused. Naming is clear and verb-driven (recall, write, revise, withdraw, judge, place, unify). Schemas are well-formed with required fields and type constraints.
Rate facts as strengthen or weaken to influence ranking
Add or remove layer memberships from nodes and facts
Closed-world recall selector for graph facts by IRI
Semantic recall using embeddings and text search
Revise an existing fact's object, spike, or effective time
Merge two nodes by redirecting facts and relationships
Withdraw facts from visibility by removing layer memberships
Descriptions lack WHEN/WHY context and are below baseline length (avg 60 chars vs 194-char baseline). LLMs cannot determine when to select 'judge' vs 'place' vs 'revise' without richer guidance.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite explicit risk levels (READ_ONLY, WRITE, REVERSIBLE, IRREVERSIBLE). Agents cannot infer safety/idempotency from tool definitions alone.
Output schemas not documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., fact IRI returned by write, node IRI returned by unify).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
Write new facts to the graph with optional time qualification
Parameter descriptions are minimal (avg ~30 chars). 'scope' is described as 'Visibility union' without explaining what layers are, how to construct them, or when to use empty vs populated arrays.
No error recovery guidance. Tools like 'unify' (IRREVERSIBLE) and 'write' (WRITE) lack descriptions of failure modes, retryability, or compensation steps.