io.github.chenxiaofie/memory-mcp MCP Server
io.github.chenxiaofie/memory-mcp
Persistent memory for Claude Code—automatically saves conversations and recalls relevant context across sessions.
What is the io.github.chenxiaofie/memory-mcp MCP server?
The Memory MCP Service is a persistent memory system for Claude Code that automatically saves conversation context and retrieves relevant history across sessions. It uses semantic search and entity extraction to maintain project-level and user-level knowledge, so Claude always has the background it needs for informed decisions.
This MCP server adds long-term memory to Claude Code by automatically capturing conversations, decisions, and preferences. It stores episodes (conversation sessions) and entities (key knowledge like decisions, architecture, preferences) in a vector database, then injects relevant past context into new sessions via semantic search. Useful for multi-session projects where Claude needs continuity and context.
How to install io.github.chenxiaofie/memory-mcp
Copy-paste configuration for popular MCP clients.
CLAUDE_PROJECT_ROOT项目根目录路径
Tools & capabilities
Tools this server exposes to the agent.
memory_start_episode— Start a new episode for a conversation sessionmemory_close_episode— Close and archive the current episodememory_get_current_episode— Get the currently active episodememory_add_entity— Add a knowledge entity (Decision, Architecture, File, Preference, Concept, or Habit)memory_confirm_entity— Confirm a detected entity candidatememory_reject_candidate— Reject a false entity detectionmemory_deprecate_entity— Mark an entity as outdatedmemory_get_pending— List pending entity candidates for reviewmemory_recall— Semantic search across episodes and entitiesmemory_search_by_type— Search entities by typememory_get_episode_detail— Get full details of a specific episodememory_list_episodes— List all episodes chronologicallymemory_stats— Get system statisticsmemory_encoder_status— Check vector encoder statusmemory_cache_message— Manually cache a messagememory_clear_cache— Clear message cachememory_cleanup_messages— Clean up old cached messages
Use cases
- Maintain project context across multiple Claude Code sessions without manual recap
- Automatically recall past decisions and architecture choices when working on related tasks
- Track personal preferences and work habits that apply across different projects
- Search conversation history semantically to find relevant past discussions and solutions
- Build a knowledge base of technical decisions and entity relationships for long-running projects
io.github.chenxiaofie/memory-mcp MCP server FAQ
It's an MCP server that gives Claude Code persistent memory by automatically saving conversations and retrieving relevant context from past sessions using semantic search.
Yes, it's open-source under the MIT License and available on PyPI.
Run `claude mcp add memory-mcp -s user -- uvx --from chenxiaofie-memory-mcp memory-mcp` after installing the vector model with `uvx --from chenxiaofie-memory-mcp memory-mcp-init`.
Optionally add hooks to `~/.claude/settings.json` for fully automatic saving; without hooks you can call memory tools manually.
Python 3.10–3.13 (chromadb is not compatible with Python 3.14+).
User-level memory in `~/.claude-memory/` (shared across projects) and project-level memory in `{project-root}/.claude/memory/` (isolated per project).
README (reference)
Source of truth, from the repository.
Memory MCP Service
<!-- mcp-name: io.github.chenxiaofie/memory-mcp -->A persistent memory MCP service for Claude Code. Automatically saves conversations and retrieves relevant history across sessions.
What it does: Every time you chat with Claude Code, your conversation context (decisions, preferences, key discussions) is saved and automatically recalled in future sessions — so Claude always has the background it needs.

Quick Start
Prerequisites
Install uv (Python package runner):
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Mac/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Requires Python 3.10 - 3.13 (chromadb is not compatible with Python 3.14+).
1. Initialize (First Time Only)
Download the vector model (~400MB, one-time):
uvx --from chenxiaofie-memory-mcp memory-mcp-init
2. Add MCP Server to Claude Code
claude mcp add memory-mcp -s user -- uvx --from chenxiaofie-memory-mcp memory-mcp
3. Configure Hooks (Recommended)
Hooks enable fully automatic message saving. Without hooks, you need to manually call memory tools.
Add the following to ~/.claude/settings.json:
{
"hooks": {
"SessionStart": [{
"matcher": ".*",
"hooks": [{ "type": "command", "command": "uvx --from chenxiaofie-memory-mcp memory-mcp-session-start" }]
}],
"UserPromptSubmit": [{
"matcher": ".*",
"hooks": [{ "type": "command", "command": "uvx --from chenxiaofie-memory-mcp memory-mcp-auto-save" }]
}],
"Stop": [{
"matcher": ".*",
"hooks": [{ "type": "command", "command": "uvx --from chenxiaofie-memory-mcp memory-mcp-save-response" }]
}],
"SessionEnd": [{
"matcher": ".*",
"hooks": [{ "type": "command", "command": "uvx --from chenxiaofie-memory-mcp memory-mcp-session-end" }]
}]
}
}
4. Verify
claude mcp list
You should see memory-mcp: ... - ✓ Connected.
That's it! Start a new Claude Code session and your conversations will be automatically saved and recalled.
How It Works
Session Start ──► Create Episode ──► Monitor Process (background)
│
User Message ──► Save Message ──► Recall Related Memories ──► Inject Context
│
Claude Reply ──► Save Response │
│
Session End ──► Close Signal ──► Archive Episode + Generate Summary
- Episodes: Each conversation session is an "episode" with auto-generated summaries
- Entities: Key knowledge extracted from conversations (decisions, preferences, concepts)
- Dual-layer storage: User-level (shared across projects) + Project-level (isolated per project)
- Semantic search: Vector-based retrieval finds relevant past context
Usage
Automatic Mode (With Hooks)
Once hooks are configured, everything is automatic. Claude will see relevant history from past sessions as context.
Manual Mode
You can also call memory tools directly in Claude Code:
# Start a new episode
memory_start_episode("Login Feature Development", ["auth"])
# Record a decision
memory_add_entity("Decision", "Use JWT + Redis", "For distributed deployment")
# Search history
memory_recall("login implementation")
# Close episode
memory_close_episode("Completed JWT login feature")
Hooks Reference
| Hook | What it does | Timing |
|---|---|---|
| SessionStart | Creates a new episode | ~50ms |
| UserPromptSubmit | Saves user message + retrieves related memories | ~1-2s |
| Stop | Saves assistant response | ~1s |
| SessionEnd | Signals episode closure | ~50ms |
Tools Reference
| Tool | Description |
|---|---|
memory_start_episode | Start a new episode |
memory_close_episode | Close and archive current episode |
memory_get_current_episode | Get current active episode |
memory_add_entity | Add a knowledge entity |
memory_confirm_entity | Confirm a detected entity candidate |
memory_reject_candidate | Reject a false detection |
memory_deprecate_entity | Mark an entity as outdated |
memory_get_pending | List pending entity candidates |
memory_recall | Semantic search across episodes and entities |
memory_search_by_type | Search entities by type |
memory_get_episode_detail | Get full episode details |
memory_list_episodes | List all episodes chronologically |
memory_stats | Get system statistics |
memory_encoder_status | Check vector encoder status |
memory_cache_message | Manually cache a message |
memory_clear_cache | Clear message cache |
memory_cleanup_messages | Clean up old cached messages |
Entity Types
| Type | Level | Description |
|---|---|---|
Decision | Project | Technical decisions for this project |
Architecture | Project | Architecture designs |
File | Project | Important file descriptions |
Preference | User | Personal preferences (shared across projects) |
Concept | User | General concepts |
Habit | User | Work habits |
Storage Locations
- User-level:
~/.claude-memory/ - Project-level:
{project-root}/.claude/memory/
If you need to run from source (e.g., for development):
git clone https://github.com/chenxiaofie/memory-mcp.git
cd memory-mcp
# Windows:
install.bat
# Mac/Linux:
chmod +x install.sh && ./install.sh
Then configure MCP server with the venv Python:
# Windows:
claude mcp add memory-mcp -s user -- "C:\path\to\memory-mcp\venv310\Scripts\python.exe" -m memory_mcp.server
# Mac/Linux:
claude mcp add memory-mcp -s user -- /path/to/memory-mcp/venv310/bin/python -m memory_mcp.server
</details>
Author
陈佳俊 (Jiajun Chen) — front-end engineer based in Hangzhou, China. GitHub @chenxiaofie · feifeichen1999@gmail.com
本项目由陈佳俊(GitHub: chenxiaofie)开发并维护。
License
MIT License - see LICENSE file for details.
Related MCP servers

Reasoning Commons
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.

io.github.chenyujing1234-netizen/trueai
Recommend and inspect AI SaaS apps from the TrueAI catalog (1,600+ apps) by need, name or URL.

MCP server for loading authenticated web pages using Chrome DevTools Protocol

MCP Browser
Browser automation using the user's Chromium session — JS execution, auth, and anti-bot support.

Connects the AI agents you use: your agent hands a task to another and gets the answer back

UK Data API
24 UK data endpoints — property, weather, companies, vehicles, finance. Paid via x402.