Persistent memory across Claude conversations with multi-project support, automatic importance scoring, and tag-based organization. Production-ready with 400+ tests.
Extended Memory MCP is a Model Context Protocol (MCP) tool that provides cross-session memory storage for Claude Desktop app.
This tool solves a fundamental problem: when your Claude conversation reaches token limits or you start a new chat, all context is lost. Claude forgets your project details, previous decisions, and working relationships. You have to re-explain everything from scratch.
Extended Memory MCP automatically saves and restores:
This is specifically designed for Desktop Claude app users who want persistent memory across conversation sessions. It's not a CLI tool - it runs as an MCP server that integrates directly with the Desktop Claude app through the Model Context Protocol.
pip install extended-memory-mcp
git clone https://github.com/ssmirnovpro/extended-memory-mcp.git
cd extended-memory-mcp
pip install -e ".[dev]"
Edit your Desktop Claude app MCP configuration:
Configuration:
{
"mcpServers": {
"extended-memory": {
"command": "python3",
"args": ["-m", "extended_memory_mcp.server"],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}
Configuration for source installation (if you installed from GitHub):
{
"mcpServers": {
"extended-memory": {
"command": "python3",
"args": ["/path/to/extended-memory-mcp/mcp-server/server.py"],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}
If you already have other MCP servers configured, add the extended-memory
entry to your existing mcpServers
section.
pip install extended-memory-mcp[redis]
pip install extended-memory-mcp[dev]
Parameter | Purpose | Default Value |
---|---|---|
STORAGE_CONNECTION_STRING |
Database location | ~/.local/share/extended-memory-mcp/memory.db (macOS/Linux) |
LOG_LEVEL |
Logging verbosity | INFO |
macOS & Linux: Can use default storage location (auto-created in user data directory)
Windows: Recommended to set explicit STORAGE_CONNECTION_STRING
path:
"env": {
"STORAGE_CONNECTION_STRING": "sqlite:///C:/Users/YourName/extended-memory/memory.db"
}
For advanced users wanting Redis instead of SQLite:
"env": {
"STORAGE_CONNECTION_STRING": "redis://localhost:6379/0"
}
Note: Redis support is experimental. Performance characteristics are not fully tested.
Extended Memory MCP is a "dumb" storage client - your data remains completely local and private:
Memory is organized by projects with strict isolation between them. Each project maintains its own separate context, decisions, and history.
Default behavior: All conversations use the general
project scope unless explicitly specified.
For proper project isolation: Include the project identifier in your Claude custom instructions:
You have external memory; follow its instructions for effective usage. When working with external memory, always specify that this is project "<your-short-project-id-here>" as its project_id for read and write operations.
Replace <your-short-project-id-here>
with your actual project identifier (e.g., mobile_app
, blog_redesign
, work_project
).
Important: Projects are not auto-detected. Without explicit project_id specification, all conversations use the general
scope.
Extended Memory provides Claude with memory management tools, but Claude decides when and how to use them. The AI may choose not to load memory automatically, especially for general conversations that don't seem memory-related.
If Claude doesn't recall previous context, you can prompt:
Claude has several memory tools available:
save_context
- Save important information with tagsload_contexts
- Load previous context and conversationsforget_context
- Remove outdated informationlist_all_projects
- View all your projectsget_popular_tags
- Find commonly used tagsThis project is licensed under the MIT License.
For Everyone: Free to use, modify, and distribute without restrictions. Use it in commercial or personal projects - no strings attached.
See LICENSE for full details.
Made with ❤️ for the AI community
Extended Memory MCP - Because your AI assistant should remember.