Skip to main content

memmd-mcp

PyPI License Python

A memory layer for AI agents — local memory.md with automatic deduplication, contradiction resolution, and stale cleanup.

[!TIP] Why memmd?

  • 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
  • Works with Claude Desktop, Cursor, Claude Code, and any MCP client

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

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 settings

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)

Development

uv sync
uv run memmd-mcp          # run locally
uv build && uv publish    # publish to PyPI

License

MIT


Language docs: 한국어

Metadata

Release files for memmd-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for memmd-mcp 0.1.0
File Size Uploaded Provenance
memmd_mcp-0.1.0.tar.gz 11.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for memmd-mcp 0.1.0
File Interpreter ABI Platform
memmd_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 23.7 kB

Release files / memmd_mcp-0.1.0.tar.gz

Download URL memmd_mcp-0.1.0.tar.gz
Size 11.3 kB
Tags Source
SHA-256 checksum
How to use checksums
62879feebf6c2670607b6ba6948db499054d2b287689d684f7636bdef50fc4ee
BLAKE2b-256 checksum
How to use checksums
2235ddbaf3fe3f436d2ec96e7b799ae3c25e1fdb30c3ef1ce7de7fd75d75be9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.8

Release files / memmd_mcp-0.1.0-py3-none-any.whl

Download URL memmd_mcp-0.1.0-py3-none-any.whl
Size 12.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
744a8f038c5742e7ef2aab13ff2d0060bc517c56f6d3864249e4db79857aa3e1
BLAKE2b-256 checksum
How to use checksums
b842a1ef21af14b728adccf26653523bc59f110befc559fcf22088bf10bdfc0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.8

Security for memmd-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page