Local-first, source-traceable agent memory with no LLM at ingest. Exposes the Midas SDK over the Model Context Protocol for use in any MCP client (Claude Desktop, IDEs, agents).
Midas Memory MCP presents 16 well-intentioned tools for agent memory management with clear domain focus. However, systematic gaps in schema completeness, parameter descriptions, and output documentation prevent a higher score. All tool names use verb-noun convention correctly (capture, remember, recall, etc.). Descriptions are present for all tools and range from 100 - 300 characters, meeting the baseline minimum. The critical weakness is parameter-level documentation: while input schemas are declared with types, many parameters lack detailed descriptions explaining constraints, formats, or dependencies. Output schemas are mentioned in descriptions but rarely formally documented with field listings. Error handling is minimal, most tools lack recovery guidance or categorization hints for LLM decision-making. The server demonstrates good architectural patterns (source-traceable memories, no-LLM ingest, semantic retrieval) but falls short on tool definition maturity expected for production agent integration.
Log and audit a memory recall event for attribution and oversight. Records which memory records were used in answering a query.
Assemble an LLM-ready context block from recalled memories. Performs semantic retrieval, optional cross-encoder reranking, session-aware neighbor expansion, and structured assembly within a token budget.
Ingest a single memory item (chat turn, decision, observation, preference, constraint, etc.) with optional importance. Applies no-LLM relevance filtering (min_importance gate) and returns a structured capture result with the memory record id, importance score, and whether it was stored.
Mark a commitment, decision, or action item as resolved/closed. Removes it from open_loops.
Delete or suppress a memory record by id. Supports selective forgetting without LLM (decay-based or explicit deletion).
Check if a proposed action is forbidden (violates stored constraints or rules). Used by coding agents to prevent unsafe actions.
Output schemas not formally documented. Tool descriptions mention what is returned (e.g., 'returns ranked source-traceable memories with relevance scores') but lack structured field documentation. LLMs cannot plan downstream calls or extract chaining IDs without explicit schema.
Parameter descriptions lack constraint specification. 'importance' is typed as integer but lacks range (stated as 1-5 in description only, not in schema minValue/maxValue). 'limit' parameters have no explicit bounds. Format requirements (e.g., Unix timestamp for created_at) are implied but not formalized.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | 2026-07-28+ | v2 |
Detect logical conflicts or contradictions in stored memories (e.g., opposing decisions, stale facts). Used by safety-aware agents.
Get a diff/delta of memory changes since a checkpoint. Returns newly captured, modified, and forgotten records.
Get the current state of the memory store (total records, by kind, by namespace). Returns aggregate statistics and record distribution.
Retrieve open/unresolved commitments, decisions, or action items from memory. Used by continuity agents to resume pending work.
Retrieve the current state of a coding project from memory (architecture decisions, conventions, bugs, constraints). Scoped by project name.
Retrieve memories semantically similar to a query using the configured embedder (local or hashing). Returns ranked source-traceable memories with relevance scores, optionally assembled into context blocks ready for an LLM.
Ingest a single memory item (same as capture but with alternate naming/API). Applies no-LLM relevance filtering and stores the record if above the importance threshold.
Record a code-related memory (convention, decision, bug fix, recurring failure, forbidden action) with project scope. Used by coding agents to maintain project state.
Record a commitment or promise the agent made. Tracked separately so it surfaces in recall and continuity checks.
Assemble a resume pack (context bundle) for continuity: open loops, active commitments, recent decisions, relevant context. Used by agents resuming from a checkpoint.
No error categorization or recovery guidance. Tools do not indicate which errors are retryable (e.g., embedder timeout), user-fixable (e.g., query too short), or fatal (e.g., corrupt store). LLMs receive no guidance on next steps after tool failure.
Destructive operations (forget, close_loop, remember_commitment deadline updates) lack dry-run or confirmation pattern. An agent could accidentally forget critical memories or close active loops. No explicit statement of irreversibility in tool descriptions.
Result limit enforcement unclear. 'recall' defaults to limit=8, 'build_context' defaults to limit=8, but no maximum enforced or mentioned. Unbounded recall on a large store could return thousands of memories, exhausting context window.
Namespace parameter overrides not clearly documented as mutual exclusion. Tools state 'overrides MIDAS_MCP_NAMESPACE' but do not clarify whether both server-level and parameter-level scopes can coexist or if one completely replaces the other.
No audit trail or permission enforcement visible in tool definitions. 'audit_use' records recall events but no tools declare permission scopes (read:memory, write:memory, delete:memory). No mention of who can call forget or close_loop or whether those are gated.
Tool composition gaps. 'capture' and 'remember' appear to be near-duplicates ('alternate naming/API'). LLMs may invoke both unnecessarily. Similarly, 'project_state' + 'remember_code' could be unified, and 'open_loops' + 'close_loop' could accept batch operations.