This privacy-first, self-hosted MCP server helps you organize chat history, summarize messages, search across past chats with AI β and keeps everything secure and fully under your control.
Transform your Claude conversations into a searchable, organized knowledge base that grows with you
What's new in v4.2.0 β Per-slot
custom_storage_pathnow shares the slot's full settings (not just data) across devices via a local storage-links registry.
- Core Benefits
- Prerequisites
- Quick Start
- Keeping Memcord Updated
- Using Memcord
- Custom Storage Path
- Summarizer Backends
- IDE Configuration
- Documentation
- Infinite Memory - Claude remembers everything across unlimited conversations with intelligent auto-summarization
- Your Data, Your Control - 100% local storage with zero cloud dependencies or privacy concerns
- Effortless Organization - Per-project memory slots with timeline navigation and smart tagging
- Intelligent Merging - Automatically combines related conversations while eliminating duplicates
Python 3.10+ and uv are required. The installer handles both β click to expand manual instructions.
-
Python 3.10+ β python.org
-
uv (Python package manager) β install with:
macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | shWindows (PowerShell):
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
macOS / Linux:
curl -fsSL https://github.com/ukkit/memcord/raw/main/install.sh | bashWindows (PowerShell):
irm https://github.com/ukkit/memcord/raw/main/install.ps1 | iexThis will:
- β Download and setup memcord
- β Set up Python virtual environment using uv
- β Generate platform-specific MCP configuration files
- β Configure Claude Desktop, Claude Code, VSCode, and Antigravity IDE
cd /path/to/memcord
git pull
uv pip install -e .
uv run python scripts/generate-config.py # Regenerate configs
# Optional: Enable auto-save hooks (new in v2.5.0)
uv run python scripts/generate-config.py --install-hooksThe --install-hooks flag is idempotent β it merges into existing .claude/settings.json without overwriting other settings or hooks.
# 1. Once you are in claude code, initialize the project with a memory slot (one-time setup)
memcord_init "." "my-project-name"
# OR
memcord_init "my_project_name"
# Creates .memcord file containing "my-project-name"
# 2. Start saving your conversations
/memcord-save-progress # Auto-detects slot from .memcord file# Just use slash commands - no slot name needed!
/memcord-read # Reads from bound slot
/memcord-save # Saves to bound slot
/memcord-save-progress # Summarizes and savesmemcord_name "project_meeting" # Create or select a slot (outside a bound project)
memcord_save "Our discussion about..." # Save exact text
memcord_save_progress # Save a compressed summary
memcord_read # Read the slot
memcord_select_entry "2 hours ago" # Jump to a point in the timeline
memcord_list # List all slots
memcord_search "API design" # Full-text search
memcord_query "What did we decide?" # Natural language query
memcord_zero # Privacy mode β nothing gets savedSee Complete Tools Reference for all 23 tools with full parameters and examples.
uv run python scripts/generate-config.py --install-hooksAutomatically saves conversation progress before context compaction and on session end. See config-templates/README.md for details.
All read and write operations follow the same slot resolution priority:
- Explicit
slot_nameargument (always wins) - Currently active slot (set by
memcord_useormemcord_name) .memcordbinding file in the current working directory
When the .memcord binding is used and the slot already exists, it is also auto-activated for the rest of the session β so subsequent operations skip re-detection automatically.
This means after memcord_init, a fresh session (no memcord_use call needed) will correctly route memcord_save, memcord_save_progress, memcord_configure, and memcord_read to the bound slot.
Point a slot's data file at any directory β e.g. a Dropbox/OneDrive folder β to share it across devices, via memcord_configure. Once linked, the slot's settings (summarizer backend, etc.) travel with the data too, so every device sharing the folder sees the same configuration.
New memory in an external path:
memcord_name "shared_slot"
memcord_configure action="set" key="custom_storage_path" value="D:\Dropbox\shared"
memcord_save "..." # writes directly to the external pathMigrate an existing memory:
memcord_configure action="set" key="custom_storage_path" value="D:\Dropbox\shared"
# Existing data is moved automatically β memcord_read/memcord_list keep workingEach device needs to run the set command once with its own local path to the shared folder. See Tools Reference β memcord_configure for migration/collision details.
Memcord supports four pluggable summarizer backends (nltk, sumy, semantic, transformers), switchable per slot via memcord_configure action="set" key="summarizer_backend" value="..." β no restart required. New slots default to sumy (no downloads); existing slots keep nltk for backward compatibility.
See Tools Reference β memcord_configure and Features Guide for the full backend comparison, install instructions, and the MEMCORD_SUMMARIZER env var override.
The installer auto-configures all supported IDEs. For manual setup or troubleshooting, see the detailed guides:
| IDE / Client | Guide |
|---|---|
| Claude Code CLI | Installation Guide β Claude Code |
| Claude Desktop | Installation Guide β Claude Desktop |
| VSCode + GitHub Copilot | VSCode Setup Guide |
| Google Antigravity | Installation Guide β Other MCP Apps |
| Configuration templates | config-templates/ (README) |
git clone https://github.com/ukkit/memcord.git
cd memcord
uv venv && uv pip install -e .
uv run python scripts/generate-config.pySee the Complete Installation Guide for updating, advanced options, and custom commands.
| Guide | Description |
|---|---|
| Installation Guide | Complete setup instructions for all MCP applications |
| Feature Guide | Complete list of features |
| Tools Reference | Detailed documentation for all 23 tools |
| Import & Merge Guide | Comprehensive guide for Phase 3 features |
| Search & Query Guide | Advanced search features and natural language queries |
| Usage Examples | Real-world workflows and practical use cases |
| Data Format Specification | Technical details and file formats |
| Troubleshooting | Common issues and solutions |
| Version History | Changelog for all releases |
If you find this project helpful, consider:
- β Starring the repository on GitHub
- β Support Development
- π Reporting bugs and suggesting features
MIT License - see LICENSE file for details.