# hot-memory-mcp

Keeps project knowledge across sessions and places frequently used facts into context. Useful when an agent repeatedly asks for the same architecture details.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 14
- Author: michael-denyer
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/michael-denyer/memory-mcp
- Updated: 2026-10-14
- HTML: https://affpapa.org/en/nevibecode/mcp/hot-memory-mcp

## What it does

\`hot-memory-mcp` stores project knowledge in two layers. A hot cache reaches the conversation through `SessionStart` and `UserPromptSubmit` hooks, while less-used entries are found with semantic search. Repeatedly recalled facts are promoted automatically, and older ones lose priority.

The server keeps memories separate for each git repository and connects related concepts in a knowledge graph. After setup, run `memory-mcp-cli bootstrap` once to seed the database from project documents; the hooks do not create the initial set by themselves. Embeddings use `sentence-transformers`, with the model fetched on first launch.

Python 3.10+ and the embedding model are required for startup. The plugin adds `/memory-mcp:remember`, `/memory-mcp:recall`, `/memory-mcp:hot-cache`, `/memory-mcp:stats`, and `/memory-mcp:bootstrap`; the dashboard can inspect stored memories and injection history.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `MEMORY_MCP_DB_PATH`, `MEMORY_MCP_EMBEDDING_MODEL` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env MEMORY_MCP_DB_PATH=<MEMORY_MCP_DB_PATH> --env MEMORY_MCP_EMBEDDING_MODEL=<MEMORY_MCP_EMBEDDING_MODEL> --transport stdio hot-memory-mcp -- uvx hot-memory-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from hot-memory-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add hot-memory-mcp --env MEMORY_MCP_DB_PATH=<MEMORY_MCP_DB_PATH> --env MEMORY_MCP_EMBEDDING_MODEL=<MEMORY_MCP_EMBEDDING_MODEL> -- uvx hot-memory-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from hot-memory-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "hot-memory-mcp": {
            "command": "uvx",
            "args": [
                "hot-memory-mcp"
            ],
            "env": {
                "MEMORY_MCP_DB_PATH": "<MEMORY_MCP_DB_PATH>",
                "MEMORY_MCP_EMBEDDING_MODEL": "<MEMORY_MCP_EMBEDDING_MODEL>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from hot-memory-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "hot-memory-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "hot-memory-mcp"
            ],
            "env": {
                "MEMORY_MCP_DB_PATH": "<MEMORY_MCP_DB_PATH>",
                "MEMORY_MCP_EMBEDDING_MODEL": "<MEMORY_MCP_EMBEDDING_MODEL>"
            }
        }
    }
}
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from hot-memory-mcp <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e MEMORY_MCP_DB_PATH=<MEMORY_MCP_DB_PATH> -e MEMORY_MCP_EMBEDDING_MODEL=<MEMORY_MCP_EMBEDDING_MODEL> hot-memory-mcp uvx hot-memory-mcp
```
Replace <…> with your own values. uvx runs the command named after the package; if the README names another one, use uvx --from hot-memory-mcp <command>

## When to use it
- keep architecture decisions across sessions
- search project facts by meaning
- inject frequent knowledge without a lookup call
- separate memories between git repositories
- inspect stored data in the dashboard

## Example prompts
- Save the API structure decision and associate it with this repository.
- Search memory for the authentication rules that apply to this project.
- Run `/memory-mcp:bootstrap` and seed memory from the project documentation.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [Codebase Memory](https://affpapa.org/en/nevibecode/mcp/codebase-memory.md) — MCP server · ★ 47392
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
