M3 Memory MCP server
Local-first memory — 100+ tools, 99.2% LongMemEval-S retrieval@10, hybrid search, GDPR, no cloud.
25 stars1.7k downloads/wk
Reviews
Write oneNobody has reviewed M3 Memory yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
M3 Memory tools (30, 5 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
files_corpus_createwrite actionRegister a new corpus with optional default overrides. `default=True` marks this corpus as the installation's default (clears the flag on any prior default in the same transaction).
files_corpus_deletewrite actionDelete a corpus's settings row. Cascade=True also deletes its file_nodes and all dependent rows — DESTRUCTIVE. Without cascade, refuses when the corpus has file_nodes.
files_corpus_getFetch a single corpus's settings + counts.
files_corpus_listEnumerate corpora with row counts.
files_corpus_setwrite actionUpdate settings for an existing corpus. None args are no-ops. Creates the corpus_settings row if absent.
files_dedupScan leaf embeddings for near-duplicates. Detection only — pairs land in semantic_dedup_candidates for human review.
files_dedup_listList near-duplicate candidate pairs with text snippets and paths.
files_dedup_reviewRecord a review decision: 'kept' | 'merged' | 'ignored'.
files_entity_coalesceDetect provisional-entity coalescing candidates (quarantine noise + flag near-duplicate entities). Detection only — never merges, never auto-applies; candidates land in entity_coalesce_candidates for review. dry_run=True estimates without writing or embedding.
files_entity_coalesce_applyApply the reversible same_as/cluster overlay. Union of explicit candidate_uuids (reviewed 'merge' or 'unapplied' tombstone) and — if include_auto_merge — the LATEST run's 'merge' band (or resolution_run). Members are never deleted; reverse with files_entity_coalesce_unapply. WRITES the core graph: a real apply MUST pass confirm=True; dry_run=True previews without writing.
files_entity_coalesce_listList entity-coalescing candidate pairs (name + score + band).
files_entity_coalesce_reviewRecord review decisions in BULK: pass a list of {uuid, action} where action is 'merge' | 'related' | 'reject' | 'defer'. Records intent only; materialize decisions with files_entity_coalesce_apply.
files_entity_coalesce_unapplywrite actionReverse one coalescence cluster (drop edges, clear flags, strip aliases, tombstone the candidate so auto-merge won't resurrect it). Members are never deleted; re-apply via files_entity_coalesce_apply with candidate_uuids.
files_extract_pendingDrain leaves with extraction_status='pending' through the LLM extractor. Used after a queue-mode ingest. Safe to call repeatedly.
files_getFetch one record by UUID. Tries file_nodes then leaves.
files_healthDB integrity + FTS5 sync check. Set rebuild=True to fix drift.
files_indexReturn file-level summaries for triage. Cheap-first retrieval — no leaf content. Use BEFORE files_search.
files_ingestWalk a directory and ingest supported files into files.db. Idempotent: same content_sha256 → no-op; changed content → new file_node version supersedes prior. Use extract_mode to opt into fact extraction; use original_path (or a <path>.m3meta.json sidecar) to point search results at a source-of-truth file when the ingested file is a conversion.
files_link_renameRe-point an existing file_node at a new path (rename / move). NOT a supersession — content stays identical. Use this only when staleness review surfaces a rename candidate.
files_promotableList top promotion candidates by usage-weighted heuristic score. Suggestion-only; use files_promote to actually ascend any.
files_promotePromote (ascend) a fact / leaf / file_summary from files.db to memory.db. Source stays untouched; copy lands in memory.db with a metadata back-pointer. Idempotent.
files_promotion_listList existing promotions. source_superseded=True surfaces promotions whose source file has since been superseded — candidates for review.
files_searchHybrid FTS5 + vector search over leaves. Default: current versions only. Set include_history=True for time-travel.
files_staleness_reviewCompare filesystem against files.db. Surfaces stale, touched-only, missing, new, failed-extraction, drifted-promotion files, and rename candidates (missing files whose content reappeared elsewhere on disk). Report-only: does not modify anything.
files_statsCorpus-level counters: file_nodes, leaves, embed coverage.
files_watch_onceSingle-pass staleness check + notification dispatch. Suitable for cron / scheduled runners. Notifications are emitted via the memory.db notifications inbox; cooldown suppresses duplicates.
forgetwrite actionDelete a memory by its id (from a prior ``recall`` result).
recallSearch long-term memory for facts relevant to ``query``.
rememberSave a fact to long-term memory so it can be recalled in future turns.
save_handoffSaves the current AI session state for another agent to resume.
Public scan report
scanner v0.1.8 · 2026-09-19 · same rubric, same numbers if you re-run it
- Code scan362 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 0 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Grade history
- 2026-09-19restoreD → Ascore 92
- 2026-09-19restoreF → Dscore 54: Whole environment serialized (possible credential exfil); Base64 decoded then executed; curl | sh in a script
Install directly
claude mcp add m3-memory -- uvx m3-memory
M3 Memory: common questions
- Is M3 Memory MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the M3 Memory safety report
- How do I install M3 Memory?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does M3 Memory need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is M3 Memory maintained?
- The last commit was in the last day (2026-09-19). The latest release is v2026.9.19.0.
- What can I use instead of M3 Memory?
- Servers from other publishers that do the same job: DocsMint MCP server, Neuromcp MCP server and Misakanet MCP server. Compare all M3 Memory alternatives.
Alternatives to M3 Memory
Same job from other publishers: the closest match first, then the best rated.
DocsMintCloud or self-hosted knowledge for AI agents: hybrid search, reranking, GraphRAG, scoped MCP tools.not reviewedEstablishedA- NeuromcpSemantic memory for AI agents with hybrid search, knowledge graph, and consolidationnot reviewedGrowingB
- MisakanetFailure-memory layer for coding agents: search evidence-rated failure lessons by error text.not reviewedEstablishedA
- MarmUniversal MCP Server with advanced AI memory capabilities and semantic search.not reviewedEstablishedA
- Silica CoreRetrieval over the folder the session opened: files, search, read, code_pack, write_note.not reviewedEstablishedA