Skip to main content
Glama

memmd-mcp

English | 한국어

PyPI License Python

A shared memory layer for AI agents — one memory.md synced across Claude Desktop, Cursor, Claude Code, OpenAI Codex, and any MCP client. Auto-deduplication, contradiction resolution, and stale cleanup included.

TIP

Why memmd?

  • One memory, every client — Claude Desktop, Cursor, Claude Code, OpenAI Codex share the same memory.md

  • Zero external dependencies beyond mcp — no embeddings, no API keys, fully offline

  • Deterministic, rule-based — no LLM calls for memory management

  • Human-readable memory.md — inspect and edit anytime

Features

  • Deduplication — fingerprint + Jaccard similarity merges near-identical entries

  • Contradiction resolution — detects conflicting facts, keeps latest, archives old

  • Structured categories — Work Context · Projects · Personal Preferences · Archive

  • Section-aware recall — filter by category, keyword search with scoring

  • Stale cleanup — auto-archives old, unused entries on summarize()

  • Korean support — category aliases, fact patterns (~는 ~), stopwords

Related MCP server: auxly-memory-cli

Quick Start

Install and run

uvx memmd-mcp

Add to your MCP client

{
  "mcpServers": {
    "memmd": {
      "command": "uvx",
      "args": ["memmd-mcp"],
      "env": {
        "MEMMD_MEMORY_PATH": "/absolute/path/to/memory.md"
      }
    }
  }
}
NOTE

Config location by client:

  • Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json

  • Claude Code — .claude/settings.json or user settings

  • Cursor — ~/.cursor/mcp.json

  • OpenAI Codex — ~/.codex/config.toml

Tools

Tool

Description

remember(content, category?)

Store with auto-dedupe and contradiction merge

recall(query)

Search with keyword scoring and category filters

forget(id)

Delete by ID

summarize()

Category overview + stale entry cleanup

How It Works

remember

  • Dedupes by SHA-1 fingerprint and Jaccard similarity (>0.82)

  • Extracts facts from key: value, key = value, key is value, key는 value

  • On conflict: latest value wins, old entry archived with history

recall

  • Keyword search with token-overlap scoring

  • Filters: category:Projects API token, section:"Work Context" deploy

  • Korean aliases accepted (category:프로젝트)

summarize

  • Per-category summary of recent entries

  • Archives stale entries (default: >120 days, <3 accesses, no recent recall)

memory.md Format

# memory.md

<!-- memmd:version=1 -->

## Work Context
<!-- memmd-entry {...json...} -->
Memory content

## Projects
...

## Personal Preferences
...

## Archive
...

Environment Variables

Variable

Default

Description

MEMMD_MEMORY_PATH

./memory.md

Path to memory file

MEMMD_STALE_DAYS

120

Days before stale cleanup (min: 7)

License

MIT

Available Tools

4 tools
forgetC

Delete a memory entry by ID.

Inputs: id (required). Returns: result

recallC

Search memory entries with optional section/category filters.

Inputs: query (required). Returns: result

rememberC

Add memory content with automatic dedupe/contradiction merge.

Inputs: content (required), category. Returns: result

summarizeA

Summarize memory by category and archive stale entries.

Inputs: no named parameters. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: forget deletes by ID, recall searches with filters, remember adds with merging, and summarizes archives. No overlap or ambiguity.

    Naming Consistency5/5

    All tool names are single-word, lowercase verbs following a consistent imperative pattern (forget, recall, remember, summarize).

    Tool Count5/5

    4 tools is a well-scoped count for a memory management server, covering essential operations without bloat or deficiency.

    Completeness4/5

    The set covers create (remember), read (recall), delete (forget), and maintenance (summarize). An explicit update tool is missing, but remember's merge functionality partially addresses it.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers