io.github.michael-denyer/hot-memory-mcp

Official registry Search and web

Two-tier memory: hot cache (0ms) + semantic search. Self-organizing.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package hot-memory-mcp
Claude Code
claude mcp add hot-memory-mcp -e 'MEMORY_MCP_DB_PATH=<MEMORY_MCP_DB_PATH>' -e 'MEMORY_MCP_EMBEDDING_MODEL=<MEMORY_MCP_EMBEDDING_MODEL>' -- uvx hot-memory-mcp==0.8.0
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "hot-memory-mcp": {
            "command": "uvx",
            "args": [
                "hot-memory-mcp==0.8.0"
            ],
            "env": {
                "MEMORY_MCP_DB_PATH": "<MEMORY_MCP_DB_PATH>",
                "MEMORY_MCP_EMBEDDING_MODEL": "<MEMORY_MCP_EMBEDDING_MODEL>"
            }
        }
    }
}

Environment variables

  • MEMORY_MCP_DB_PATH Path to SQLite database file
  • MEMORY_MCP_EMBEDDING_MODEL Embedding model to use (default: all-MiniLM-L6-v2)

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. 🧠 Memory MCP
  2. The Problem
  3. Before & After
  4. Install
  5. How It Works
  6. What Makes It Different
  7. Quick Reference
  8. How to Use
  9. Documentation
  10. License

🧠 Memory MCP

Give your AI assistant a persistent second brain

Stop re-explaining your project every session.

Memory MCP learns what matters and keeps it ready — instant recall for the stuff you use most, semantic search for everything else.


The Problem

Every new chat starts from scratch. You explain your architecture again. You paste the same patterns again. Your context window bloats with repetition.

Other memory solutions help, but they still require tool calls for every lookup — adding latency and eating into Claude's thinking budget.

Memory MCP fixes this with a two-tier architecture:

  1. Hot cache (0ms) — Frequently-used knowledge printed into context by the plugin's SessionStart and UserPromptSubmit hooks before Claude even starts thinking. Claude Code adds a hook's stdout to the conversation, so no tool call is needed.
  2. Cold storage (~50ms) — Everything else, searchable by meaning via semantic similarity.

The system learns what you use and promotes it automatically. Your most valuable knowledge becomes instantly available. No manual curation required.

Before & After

😤 Without Memory MCP🎯 With Memory MCP
"Let me explain our architecture again..."Project facts persist and isolate per repo
Copy-paste the same patterns every sessionPatterns auto-promoted to instant access
500k+ token context windowsHot cache keeps it lean (~20 items)
Tool call latency on every memory lookupHot cache: 0ms — a hook already put it in context
Stale information lingers foreverTrust scoring demotes outdated facts
Flat list of disconnected factsKnowledge graph connects related concepts

Install

# Install package
uv tool install hot-memory-mcp   # or: pip install hot-memory-mcp

# Add plugin (recommended)
claude plugins add michael-denyer/memory-mcp

The plugin gives you auto-configured hooks and slash commands. Embeddings run on sentence-transformers on every platform, including Apple Silicon.

Manual config (no plugin)

Add to ~/.claude.json:

{
  "mcpServers": {
    "memory": {
      "command": "memory-mcp"
    }
  }
}

See Reference for full configuration options.

Restart Claude Code. Run memory-mcp-cli bootstrap once to seed memories from your project docs; the hooks inject whatever is promoted, but nothing seeds itself.

First run: Embedding model (~90MB) downloads automatically. Takes 30-60 seconds once.

How It Works

flowchart LR
    subgraph LLM["Claude"]
        REQ((Request))
    end

    subgraph Hot["HOT CACHE · 0ms"]
        HC[Session context]
        PM[(Promoted memories)]
    end

    subgraph Cold["COLD STORAGE · ~50ms"]
        VS[(Vector search)]
        KG[(Knowledge graph)]
    end

    REQ -->|"hook stdout"| HC
    HC -.->|"draws from"| PM
    REQ -->|"recall()"| VS
    VS <-->|"related"| KG

The hot cache (~10 items) reaches Claude through two plugin hooks. SessionStart runs memory-mcp-cli hot-cache --force and UserPromptSubmit runs memory-mcp-cli hot-cache, and Claude Code adds each command's stdout to the conversation. The command prints only when the text differs from what the session last saw, which is cheap while the set is stable and reprints in full when it shifts. The set combines recent recalls, predicted next memories, and top promoted items. Promoted memories (~20 items) is the backing store of frequently-used memories. Memories used 3+ times auto-promote; unused ones demote after 14 days.

What Makes It Different

Most memory systems make you pay a tool-call tax on every lookup. Memory MCP's hot cache bypasses this entirely — a hook prints your most-used knowledge into the conversation before Claude starts thinking.

Memory MCPGeneric Memory Servers
Hot cacheInjected by a hook at 0msEvery lookup = tool call
Self-organizingLearns and promotes automaticallyManual curation required
Project-awareAuto-isolates by git repoOne big pile of memories
Knowledge graphMulti-hop recall across conceptsFlat list of facts
Trust scoringOutdated info decays and sinksAll memories equal
SetupOne command, local SQLiteOften needs cloud setup

The Engram Insight: Human memory doesn't search — frequently-used patterns are already there. That's what hot cache does for Claude.

Quick Reference

Slash CommandToolDescription
/memory-mcp:rememberrememberStore a memory with semantic embedding
/memory-mcp:recallrecallSearch memories by meaning
/memory-mcp:hot-cachepromote / demoteManage promoted memories
/memory-mcp:statsmemory_statsShow statistics
/memory-mcp:bootstrapbootstrap_projectSeed from project docs
—link_memoriesKnowledge graph connections

See Reference for all 10 slash commands and full tool API.

Dashboard
memory-mcp-cli dashboard    # Opens at http://localhost:8765

Browse memories, hot cache, injection history, sessions, and the knowledge graph.

How to Use

Memory MCP is designed to run as three complementary components:

ComponentPurpose
Claude Code PluginHooks that inject the hot cache, plus the /memory-mcp:* slash commands
MCP ServerCore memory tools available to Claude via Model Context Protocol
DashboardWeb UI to browse, manage, and debug your memory database

The plugin is recommended for most users — it auto-configures the MCP server and adds productivity features. Run the dashboard alongside when you want visibility into what's being stored.

Documentation

DocumentDescription
ReferenceFull API, CLI, configuration, MCP resources
TroubleshootingCommon issues and solutions

License

MIT

Frequently asked questions

What is io.github.michael-denyer/hot-memory-mcp?

Two-tier memory: hot cache (0ms) + semantic search. Self-organizing.

How do I install io.github.michael-denyer/hot-memory-mcp?

It runs on your machine. In Claude Code: claude mcp add hot-memory-mcp -e 'MEMORY_MCP_DB_PATH=<MEMORY_MCP_DB_PATH>' -e 'MEMORY_MCP_EMBEDDING_MODEL=<MEMORY_MCP_EMBEDDING_MODEL>' -- uvx hot-memory-mcp==0.8.0. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.michael-denyer/hot-memory-mcp need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.michael-denyer/hot-memory-mcp open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.michael-denyer/hot-memory-mcp?

It is published by michael-denyer. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.