Local-first unified memory system for AI agents — MCP server providing semantic recall, memory management, and fact organization with encryption support
13 tools with mixed quality. Naming is domain-specific but inconsistent (auxly_skill_* vs auxly_memory_*). Descriptions present but generic, most lack actionable context for LLM selection. Input schemas visible for all tools, but many parameters lack descriptions or type clarity. No output schemas documented. Error handling minimal. Security concerns: trust-gating and provider attribution mentioned in descriptions but not enforced via parameter validation or clear error guidance.
Lists all memory files in the vault (scoped for remote sessions to show only granted files)
Reads a memory file with access control gating (remote sessions respect per-file sharing ACL)
Performs semantic recall with embeddings-based search and fallback substring matching (notes excluded encrypted files)
Performs substring-based search across memory files (access-controlled for remote sessions)
Writes a diff to a memory file with server-side provider attribution and trust-gating
Returns a copyable onboarding block with fallback paths and absolute binary path for CLI option
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, forcing unstructured parsing and increasing hallucination risk.
Descriptions are generic and lack actionable context. E.g., 'Internalizes memory from external sources' does not explain WHEN to call this vs auxly_skill_sync, or what the LLM should expect in return. Average description length ~50 chars; baseline is 194 chars.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Prunes memory content matching a query (trust-gated, non-auto providers cannot prune)
Initializes memory system and returns onboarding guide with category taxonomy (scoped for remote sessions)
Internalizes memory from external sources into a specified category folder
Returns a push-only slice-by-category harvest directive for self-harvesting memory into the vault
Returns the current memory profile with category breakdown and access scope (scoped for remote sessions)
Manages pending memory writes with approval/rejection (list-only over MCP, approve/reject redirected to human-only CLI path)
Routes and writes a fact to the appropriate memory category with trust-gated access control
Parameter descriptions missing or minimal. 'folder' in auxly_skill_learn has a description, but 'action' in auxly_skill_pending lacks clarity on what 'approve' and 'reject' actually do (are they async? do they require user confirmation?). LLMs cannot infer parameter semantics from names alone.
Trust-gating and provider attribution mentioned in descriptions but not enforced via parameter validation or error guidance. E.g., auxly_skill_forget says 'trust-gated, non-auto providers cannot prune', but what error does the LLM get if it tries? How does it know if it's a 'trust-gated' provider?
Inconsistent naming convention. Tools use both auxly_skill_* (action-oriented) and auxly_memory_* (resource-oriented) prefixes. Within auxly_memory_*, 'recall' vs 'search' distinction is unclear, both take a query string. LLMs will conflate them.