Local-first AI memory as a headless MCP server. Install once; every agent (Claude Code, Cursor, Codex) remembers you. Markdown-canonical, on-device embeddings, zero-LLM ingest, no cloud.
NeuroVault defines 19 tools with basic schemas and descriptions, but exhibits significant gaps in parameter documentation, output schema clarity, and error handling guidance. Tool names are action-oriented (recall, remember, reset) and descriptions exist for all tools (ranging 50 - 150 chars), meeting baseline presence requirements. However, most parameter descriptions are minimal (10 - 30 chars), and output schemas are not documented in the visible code. The 'reset' tool with destructive capability lacks confirmation/dry-run patterns. No tool annotations (readOnlyHint, destructiveHint) are visible. Error handling is absent, no recovery guidance, retryability classification, or actionable error messages. Composition is reasonable (tools are single-purpose), but chaining support is unclear due to missing output documentation.
Ambient Recall: retrieve context-aware engrams based on current session state and environment
Get recent audit log entries showing tool activity
Activate a specific brain for subsequent operations
Get the currently active brain
List all available brains (memory vaults)
Get statistics about a brain (engram count, size, etc.)
Run consolidation to merge and optimize engrams in the vault
Retrieve the knowledge graph structure showing relationships between engrams
Output schemas not documented. Tools like 'recall', 'notes_list', 'graph' return complex structures (engrams, metadata, relationships) but no schema is visible in source. LLMs cannot plan downstream tool calls or extract required fields without documented return types.
Destructive tool 'reset' lacks confirmation/dry-run pattern. Accepts boolean 'vault' parameter to recursively delete all markdown data, but no dry-run mode or confirmation step. Agents can trigger catastrophic data loss without safeguard.
Parameter descriptions are minimal (10 - 30 chars). E.g., 'limit' is described as 'Maximum number of results to return' (40 chars) but lacks range constraints (e.g., 1 - 100). 'brain_id' is 'Optional brain ID to scope the recall' (37 chars) but does not explain format or how to discover valid IDs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Health check endpoint to verify server is running
Record a journal event for session tracking and context
Get detailed information about a specific note/engram
List all notes/engrams in the vault
Record observations or context about the current session
Query signal strength and relevance metrics for engrams
Retrieve engrams (memory entries) from the vault using hybrid retrieval (semantic + BM25)
Save or update an engram (memory entry) in the vault with markdown content
Reset the vault, optionally deleting all markdown data
Get detailed server status information
Get the server version
No error handling guidance. Tools do not document retryability, user-fixable errors, or recovery steps. E.g., if 'recall' finds no results, should the LLM retry with a different query, or is the vault empty? No guidance provided.
No tool annotations visible. Tools marked as READ_ONLY, WRITE, or DESTRUCTIVE in metadata but no readOnlyHint, destructiveHint, or idempotentHint attributes in schema. LLMs cannot infer safety properties from names alone.