Neural Memory Graph Server - A neural episodic memory system using spreading activation, entity extraction, and graph-based retrieval with MCP SSE endpoint
HippoGraph Pro demonstrates solid definition quality with comprehensive schemas, detailed parameter documentation, and clear action-based naming. Most tools follow the verb_noun pattern (search_memory, add_note, delete_note). Schemas are well-structured with types, descriptions, ranges, and enums. However, output schemas are not explicitly documented in the source provided, and error handling guidance is minimal. Tool descriptions are adequate (100-250 chars typical) but could be more prescriptive about when to use each tool vs alternatives. The 'merge_entities' tool lacks a dry-run confirmation pattern despite being marked IRREVERSIBLE, which is a critical oversight for destructive operations. Parameter documentation is consistently strong across all 14 tools, with proper min/max bounds, enums where applicable, and clear format guidance.
Add new note with automatic entity extraction, linking, and emotional context. Checks for duplicates.
Delete note by ID
Find notes similar to given content. Useful for checking before adding new notes.
Get graph connections for a specific note
Get version history for a note
List entity merge candidates (read-only). Shows case variants like git/Git/GIT grouped by normalized name and type.
Output schemas not documented in source. While input schemas are comprehensive, the response structure (fields, types, pagination) for each tool is not visible. LLMs cannot reliably extract data from undocumented outputs, leading to extraction errors and wasted tokens.
merge_entities (IRREVERSIBLE operation) lacks dry-run confirmation or preview capability. Users and agents cannot verify the merge operation before execution. Pattern requires confirmation_request for irreversible operations.
Error handling guidance is absent or minimal. No error responses documented. Descriptions do not explain recovery paths (e.g., 'If note not found, try search_memory first'). LLMs cannot self-correct without explicit error classification.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | B | 74 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 34 | - | v1 |
Merge two entity nodes: transfer all graph links from remove_id to keep_id, then delete remove_id. Use list_entity_candidates first to find candidates. IRREVERSIBLE - take snapshot first.
Get statistics about stored notes, edges, and entities
Restore a note to a previous version
Search through notes using spreading activation algorithm
Get search quality monitoring stats: latency percentiles, zero-result queries, phase breakdown. Helps identify retrieval issues.
Set importance level for a note: 'critical' (2x boost), 'normal', or 'low' (0.5x)
Run sleep-time graph maintenance: consolidation (thematic clusters + temporal chains), PageRank recalculation, orphan detection, stale edge decay, duplicate scan. Zero LLM cost. Use dry_run=true to preview without changes.
Update existing note by ID
neural_stats and search_stats descriptions are vague and lack guidance on WHEN to call them. 'Get statistics' is passive; should state 'Call before sleep_compute to monitor graph health' or 'Call after large imports to verify indexing'.
No batch operations for common agent loops. If an agent needs to add 10 notes, it must call add_note 10 times. A batch_add_notes(notes: array) would reduce token cost and latency.