memory-mcp-server
by Ahmedaltu
README.md
# memory-mcp-server
A FastMCP server that bridges Claude Code and Claude.ai by exposing Claude Code project memory files over MCP.
## Problem
Claude Code and Claude.ai are separate products with separate contexts. Claude Code stores project memory as markdown files locally under `~/.claude/projects/*/memory/`. Claude.ai has no access to these files, so you lose context every time you switch between the two.
## Solution
This server exposes those memory files via MCP over HTTPS, so Claude.ai can read and write them through a connector — giving both interfaces shared memory across all projects.
## Architecture
Claude.ai
└─→ Cloudflare Tunnel (https://memory.yourdomain.com/mcp)
└─→ FastMCP server (Ubuntu VM)
└─→ ~/.claude/projects//memory/.md
↕ rsync every 5 min
WSL ~/.claude/projects//memory/.md
↑
Claude Code
## MCP Tools
| Tool | Description |
|------|-------------|
| `list_projects` | List all Claude Code projects |
| `list_memories(project)` | List memory files in a project |
| `read_memory(project, file)` | Read a memory file |
| `read_index(project)` | Read the MEMORY.md index |
| `write_memory(project, file, content)` | Write a memory file |
| `delete_memory(project, file)` | Delete a memory file |
## Setup
### 1. Server (Ubuntu VM)
```bash
git clone https://github.com/Ahmedaltu/memory-mcp-server.git
cd memory-mcp-server
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python server.py
```
### 2. Systemd service
```bash
sudo cp memory-mcp.service /etc/systemd/system/
sudo systemctl enable memory-mcp
sudo systemctl start memory-mcp
```
### 3. Cloudflare Tunnel
```bash
cloudflared tunnel login
cloudflared tunnel create memory-mcp
cloudflared tunnel route dns memory-mcp memory.yourdomain.com
sudo cloudflared service install
sudo systemctl enable cloudflared
sudo systemctl start cloudflared
```
### 4. WSL auto-sync (add to crontab -e)
```bash
# Push WSL → VM (every 5 min)
*/5 * * * * rsync -az -e "ssh -i ~/.ssh/your-key.pem" --include="*/" --include="*/memory/" --include="*/memory/*.md" --exclude="*" ~/.claude/projects/ ubuntu@YOUR_VM_IP:~/.claude/projects/
# Pull VM → WSL (every 5 min)
*/5 * * * * rsync -az -e "ssh -i ~/.ssh/your-key.pem" --include="*/" --include="*/memory/" --include="*/memory/*.md" --exclude="*" ubuntu@YOUR_VM_IP:~/.claude/projects/ ~/.claude/projects/
```
### 5. Connect Claude.ai
Go to **Settings → Connectors → Add connector** and enter:
https://memory.yourdomain.com/mcp
## License
MIT
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues