Skip to main content
Glama
zhanpu89

ai-memory-mcp

by zhanpu89

🧠 AI Memory MCP

Persistent session memory for AI assistants β€” store, search and retrieve conversation summaries via the Model Context Protocol.

Python MCP License: MIT Tests


What is this?

AI assistants forget everything between sessions. AI Memory MCP solves that by giving your AI a structured long-term memory:

  • πŸ“ Save session summaries with status, tags, modules and file paths

  • πŸ” Search by keyword, full-text (FTS5), or semantic vector similarity

  • πŸ”„ Restore context at the start of each session with one tool call

  • πŸ“Š Generate weekly reports from completed tasks automatically

  • 🏷️ Multi-project / multi-branch support out of the box

Works with Claude Desktop, Cursor, VS Code, Windsurf, and any MCP-compatible client.


Quick Start

1 β€” Install

# From PyPI (recommended)
pip install ai-memory-mcp

# With vector search support (adds ~500 MB for embedding model)
pip install "ai-memory-mcp[vector]"

# From source
git clone https://github.com/zhanpu89/ai-memory-mcp
cd ai-memory-mcp
pip install -e .

2 β€” Configure your AI client

Pick the config snippet for your tool and add it to its MCP settings file:

{
  "mcpServers": {
    "ai-memory": {
      "command": "ai-memory-mcp"
    }
  }
}
{
  "mcpServers": {
    "ai-memory": {
      "command": "ai-memory-mcp"
    }
  }
}
{
  "servers": {
    "ai-memory": {
      "type": "stdio",
      "command": "ai-memory-mcp"
    }
  }
}
{
  "mcpServers": {
    "ai-memory": {
      "command": "ai-memory-mcp"
    }
  }
}

Start the server:

ai-memory-mcp --http
# or: python service.py start

Then point your client at:

{
  "mcpServers": {
    "ai-memory": {
      "url": "http://localhost:8000/mcp"
    }
  }
}

All config snippets are available in integrations/.

3 β€” Use it

At the start of every session, tell your AI:

Load my memory for project "my-project"

The AI will call init_session and restore your previous context automatically.


Features

Feature

Details

Storage

SQLite β€” zero external services, single file

Full-text search

SQLite FTS5 β€” fast, no extra deps

Semantic search

ChromaDB + all-MiniLM-L6-v2 (optional)

Multi-project

Filter by project_name + branch_name

Task lifecycle

pending β†’ in_progress β†’ completed / blocked / abandoned

Key decisions

Attach architectural decisions to sessions

Weekly reports

Auto-generated Markdown report

Transport

stdio (local) or streamable-HTTP (remote)

Docker

Single-container deployment included


Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚               AI Client (Claude / Cursor …)      β”‚
β”‚                    MCP Protocol                  β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                       β”‚ stdio / HTTP
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              AiMemoryMcpServer (FastMCP)         β”‚
β”‚                                                  β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚  β”‚  SQLite DB   β”‚    β”‚  ChromaDB (optional) β”‚   β”‚
β”‚  β”‚  FTS5 index  β”‚    β”‚  Sentence-Transformersβ”‚  β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Data lives in ~/.ai-memory/ β€” completely separate from your project files.


Tool Reference

β†’ See TOOLS.md for the full schema of all 10 tools.

Tool

Description

save_summary

Persist a new session summary

update_summary

Update status / content

add_decision

Record a key technical decision

search_summaries

Keyword / FTS5 / vector search

search_summaries_fts

Dedicated FTS5 full-text search

get_summary_by_id

Exact lookup by session ID

list_recent_sessions

List latest sessions

init_session

Restore context at session start

weekly_review

Generate Markdown weekly report

maintenance

Rebuild index, VACUUM, persist vectors


Configuration

All settings are optional β€” sensible defaults work out of the box.

Env var

Default

Description

AI_MEMORY_DB_PATH

~/.ai-memory/ai_memory.db

SQLite database path

AI_MEMORY_MODEL_PATH

~/.ai-memory/models

Embedding model cache

AI_MEMORY_HOST

127.0.0.1

HTTP server bind address

AI_MEMORY_PORT

8000

HTTP server port

Create ~/.ai-memory/.env to persist settings:

AI_MEMORY_DB_PATH=/custom/path/ai_memory.db
AI_MEMORY_PORT=9000

Docker

Optimized for China: Uses Tsinghua pip mirror + HuggingFace mirror for fast downloads.

# Option 1: Core-only (lightweight, ~200 MB image)
docker compose up -d

# Option 2: Full (with vector search)
# Step 1: Pre-download model to avoid large image
python3 scripts/download_model_for_docker.py --output ./models

# Step 2: Build with vector support (~700 MB image + 500 MB external model)
docker compose build --build-arg INSTALL_VECTOR=true
docker compose up -d

# View logs
docker compose logs -f

The MCP endpoint will be available at http://localhost:8000/mcp.

πŸ“– Full deployment guide: See DOCKER.md for:

  • Image size optimization strategies

  • Chinese mirror configuration

  • Model pre-downloading

  • Production deployment examples


Development

# Clone and install in editable mode with dev extras
git clone https://github.com/zhanpu89/ai-memory-mcp
cd ai-memory-mcp
pip install -e ".[dev]"

# Run tests
pytest

# Run tests with coverage
pytest --cov=src/mcp_server --cov-report=term-missing

# Start in HTTP mode for manual testing
ai-memory-mcp --http

Project Structure

ai-memory-mcp/
β”œβ”€β”€ src/mcp_server/
β”‚   β”œβ”€β”€ __init__.py
β”‚   └── server.py          # All 10 MCP tools + server class
β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ unit/              # 24 unit tests
β”‚   └── integration/
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ download_model.py  # Manual model download
β”‚   β”œβ”€β”€ migrate_db.py      # Database migration helper
β”‚   └── migrate_vector.py  # Vector store migration
β”œβ”€β”€ integrations/          # Ready-to-use MCP client configs
β”‚   β”œβ”€β”€ claude_desktop_config.json
β”‚   β”œβ”€β”€ cursor_mcp.json
β”‚   β”œβ”€β”€ vscode_mcp.json
β”‚   β”œβ”€β”€ windsurf_mcp.json
β”‚   └── http_mode_config.json
β”œβ”€β”€ TOOLS.md               # Full tool schema reference
β”œβ”€β”€ INSTALL.md             # Detailed installation guide
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ docker-compose.yml
└── pyproject.toml

Testing

24 passed in 7s
pytest tests/unit/test_mcp_server.py -v

All 24 unit tests cover: save/update/search/FTS/vector/decisions/maintenance/init/review/schema.


Requirements

  • Python 3.10+

  • mcp >= 1.6.0

  • python-dotenv >= 1.0.0

Optional (vector search):

  • chromadb >= 0.6.0

  • sentence-transformers >= 3.0.0


License

MIT Β© AI Memory Team

Install Server
A
license - permissive license
A
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zhanpu89/ai-memory-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server