Zero-knowledge persistent memory layer for AI agents — official TypeScript/Node.js SDK
MemoraEU SDK provides 8 well-named tools with clear verb-noun patterns (remember, recall, forget, listMemories, listCategories, rememberFact, recallFacts, invalidateFact). All tools have descriptions (avg ~80 chars) and input schemas with typed parameters. However, descriptions are terse and lack context about when to use each tool or what happens on error. Parameter descriptions are present but minimal. Output schemas are not explicitly documented in the source. No error handling guidance, no pagination support despite list operations, and no tool annotations (readOnlyHint/destructiveHint). The SDK is a client library, not an MCP server, tool definitions are inferred from method signatures rather than explicitly registered via MCP protocol.
Delete a memory by ID
Invalidate a fact by ID with optional valid_to timestamp
List all memory categories with usage counts
List memories with optional category, limit, and scope filters
Search for memories matching a query with optional limit, category, and scope filters
Query facts from the temporal knowledge graph by subject with optional predicate and history filters
Store a memory with optional category, tags, and scope
Tool definitions are inferred from SDK method signatures, not explicitly registered via MCP protocol. No evidence of MCP server implementation, this is a client library only.
Descriptions are terse (avg 50 - 80 chars) and lack context. Missing: when to use each tool, what happens on error, prerequisites, and how tools relate. E.g., 'forget' description is only 24 chars.
No output schemas documented. LLMs cannot infer what fields to expect from responses (e.g., Memory, SearchResult, Fact structures). Downstream tool chaining is unsupported.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | <=2025-11-25 | v2 |
Store a fact in the temporal knowledge graph with subject, predicate, and object
No pagination support for list operations (listMemories, recallFacts). Results are capped at defaults (20, unlimited) but no next_cursor or total_count returned. Large result sets will exhaust context.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe reads from destructive writes without parsing descriptions.