A local-first, persistent semantic memory layer exposed over the Model Context Protocol. Provides durable storage and semantic search of memories across AI sessions using on-device vector embeddings.
Synapse Memory MCP has well-structured tool definitions with clear naming (verb_noun pattern), comprehensive parameter schemas, and good descriptions. All 6 tools follow consistent patterns with Zod-based validation and JSON Schema generation. However, output schemas are not formally documented in the tool specs, error handling lacks recovery guidance, and some parameter descriptions could be more prescriptive about constraints. The custom JSON Schema converter is functional but basic. No tool annotations (readOnlyHint/destructiveHint) are present despite clear risk classifications in the metadata.
Return a single, ready-to-inject context block summarizing the most relevant memories for a query. Ideal for priming an answer.
Permanently delete a memory by its id.
Find memories semantically related to a given memory id. Useful for exploring the knowledge graph around a memory.
List the most recent memories, newest first.
Semantically search stored memories and return the most relevant ones. Call this before answering when the user relies on prior context.
Store a memory durably so it can be recalled in future sessions. Use for facts, user preferences, decisions, or important context.
Output schemas not formally documented. Tools return ToolResult with text + optional data, but the structure of data field (e.g., hits array, memories array, deleted boolean) is not declared in tool specs. LLMs cannot reliably extract structured results.
Tool annotations missing. forget() is destructive and recall/list_memories are read-only, but no readOnlyHint or destructiveHint annotations are present in tool specs. Agents cannot distinguish safe from risky operations.
Error handling lacks recovery guidance. forget() returns 'No memory with id X' but does not suggest how to find valid IDs (e.g., 'Call list_memories() to see available IDs'). Errors are bare facts, not actionable.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2025-06-18+ | v2 |
Parameter descriptions lack constraint details. limit parameters accept 1 - 25 or 1 - 100 but descriptions do not state these bounds. LLMs may pass invalid values; validation happens at runtime, not via schema.
No pagination documentation. list_memories accepts limit/offset but does not document total count or whether more results exist. Large memory stores may return incomplete results without signaling.