Mmcp.market

M3 Memory MCP server

by skynetcmd·io.github.skynetcmd/m3-memory·v2026.9.19.0

Local-first memory — 100+ tools, 99.2% LongMemEval-S retrieval@10, hybrid search, GDPR, no cloud.

A92/100grade A
What users say
No reviews yet
Be the first
Safety scan
A92/100

full report

Adoption
Established

25 stars1.7k downloads/wk

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • files_corpus_createwrite action

    Register 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 action

    Delete 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_get

    Fetch a single corpus's settings + counts.

  • files_corpus_list

    Enumerate corpora with row counts.

  • files_corpus_setwrite action

    Update settings for an existing corpus. None args are no-ops. Creates the corpus_settings row if absent.

  • files_dedup

    Scan leaf embeddings for near-duplicates. Detection only — pairs land in semantic_dedup_candidates for human review.

  • files_dedup_list

    List near-duplicate candidate pairs with text snippets and paths.

  • files_dedup_review

    Record a review decision: 'kept' | 'merged' | 'ignored'.

  • files_entity_coalesce

    Detect 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_apply

    Apply 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_list

    List entity-coalescing candidate pairs (name + score + band).

  • files_entity_coalesce_review

    Record 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 action

    Reverse 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_pending

    Drain leaves with extraction_status='pending' through the LLM extractor. Used after a queue-mode ingest. Safe to call repeatedly.

  • files_get

    Fetch one record by UUID. Tries file_nodes then leaves.

  • files_health

    DB integrity + FTS5 sync check. Set rebuild=True to fix drift.

  • files_index

    Return file-level summaries for triage. Cheap-first retrieval — no leaf content. Use BEFORE files_search.

  • files_ingest

    Walk 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_rename

    Re-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_promotable

    List top promotion candidates by usage-weighted heuristic score. Suggestion-only; use files_promote to actually ascend any.

  • files_promote

    Promote (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_list

    List existing promotions. source_superseded=True surfaces promotions whose source file has since been superseded — candidates for review.

  • files_search

    Hybrid FTS5 + vector search over leaves. Default: current versions only. Set include_history=True for time-travel.

  • files_staleness_review

    Compare 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_stats

    Corpus-level counters: file_nodes, leaves, embed coverage.

  • files_watch_once

    Single-pass staleness check + notification dispatch. Suitable for cron / scheduled runners. Notifications are emitted via the memory.db notifications inbox; cooldown suppresses duplicates.

  • forgetwrite action

    Delete a memory by its id (from a prior ``recall`` result).

  • recall

    Search long-term memory for facts relevant to ``query``.

  • remember

    Save a fact to long-term memory so it can be recalled in future turns.

  • save_handoff

    Saves 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

no findings
  • 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
Overall 92/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

Grade history

  • 2026-09-19restoreDAscore 92
  • 2026-09-19restoreFDscore 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
Add to Cursor

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.

All M3 Memory alternatives →
  • DocsMint
    Cloud or self-hosted knowledge for AI agents: hybrid search, reranking, GraphRAG, scoped MCP tools.
    A
  • Neuromcp
    Semantic memory for AI agents with hybrid search, knowledge graph, and consolidation
    B
  • Misakanet
    Failure-memory layer for coding agents: search evidence-rated failure lessons by error text.
    A
  • Marm
    Universal MCP Server with advanced AI memory capabilities and semantic search.
    A
  • Silica Core
    Retrieval over the folder the session opened: files, search, read, code_pack, write_note.
    A

More from skynetcmd