Memory-Man
MCP server that provides persistent long-term memory for Claude Code, enabling storage, search, and retrieval of project knowledge across sessions.
README
Memory-Man 🧠
A persistent memory system for Claude Code that solves the context window problem by storing and retrieving project knowledge across sessions.
What is Memory-Man?
Memory-Man is an MCP (Model Context Protocol) server that acts as Claude's long-term memory. Instead of losing context when the conversation window fills up, Claude can now:
- Store important information about your projects
- Search through past conversations and decisions
- Retrieve relevant context when working on similar problems
- Track patterns across multiple projects
Features
- 🗂️ Project-Aware Storage - Memories are organized by project
- 🔍 Smart Search - Find relevant memories by content, tags, or category
- 📊 Usage Analytics - Track which memories are most valuable
- 🏷️ Intelligent Tagging - Categorize memories for easy retrieval
- ⚡ Fast SQLite Backend - Efficient local storage
- 🔧 Easy Integration - Works with Claude Code out of the box
Quick Start
-
Install Dependencies:
source venv/bin/activate pip install -r requirements-core.txt -
Test the Server:
python test_server.py -
Configure Claude Code (see Integration Guide below)
Memory Categories
- architecture - System design decisions and patterns
- setup - Project configuration and environment
- bug_fix - Solutions to bugs and issues
- todo - Future work and planned features
- pattern - Reusable code patterns and best practices
- command - Useful commands and scripts
Integration with Claude Code
Method 1: Global MCP Configuration
Add to your global Claude Code config (~/.claude/mcp_servers.json):
{
"mcpServers": {
"memory-man": {
"command": "python",
"args": ["-m", "memory_man"],
"env": {
"PYTHONPATH": "/home/beano/DevProjects/python/memory-man/src"
}
}
}
}
Method 2: Project-Specific Configuration
Add mcp_config.json to any project:
{
"mcpServers": {
"memory-man": {
"command": "python",
"args": ["-m", "memory_man"],
"env": {
"PYTHONPATH": "/home/beano/DevProjects/python/memory-man/src"
}
}
}
}
Usage Examples
🚀 Smart Auto-Store (Recommended)
# Just provide the content - everything else is auto-detected!
memory_auto_store(
content="We use JWT tokens with Redis for session management. Tokens expire after 24 hours."
)
# Auto-detects:
# - Project: current directory name
# - Category: architecture (based on content)
# - Tags: ["jwt", "redis", "auth", "database"]
# - Framework: detected from project files
🔍 Smart Project Detection
# Analyze your current project
project_detect()
# Returns project info + suggestions:
# - Technology stack (Python, JavaScript, etc.)
# - Framework (Django, React, FastAPI, etc.)
# - Recommended memory categories
# - Setup suggestions
🧠 Context-Aware Suggestions
# Get relevant memories for current work
memory_suggest_related(context="authentication setup")
# Returns:
# - Related memories from current project
# - Similar patterns from other projects
# - Smart suggestions based on context
📝 Manual Storage (When You Need Control)
# Store architecture decision manually
memory_store(
content="We use Redis for session storage with 24-hour TTL",
category="architecture",
project="my-web-app",
tags=["redis", "sessions", "auth"],
importance=8
)
# Search memories
memory_search(query="authentication", project="my-web-app")
# Get project overview
project_summary(project="my-web-app")
Available Tools
Core Tools
| Tool | Description |
|---|---|
memory_store |
Store new memories with project context |
memory_search |
Search memories by query, project, or category |
memory_retrieve |
Get a specific memory by ID |
memory_update |
Update existing memories |
memory_delete |
Delete memories |
project_summary |
Get summary of a project's memories |
memory_list_projects |
List all projects with memories |
Smart Tools ✨
| Tool | Description |
|---|---|
memory_auto_store |
Auto-detect project, category, and tags |
project_detect |
Analyze current project and get suggestions |
memory_suggest_related |
Find relevant memories for current context |
Advanced Tools 🔧
| Tool | Description |
|---|---|
memory_summarize_project |
Generate intelligent project summaries |
memory_analyze_storage |
Analyze and optimize memory usage |
memory_suggest_archival |
Find memories ready for archival |
memory_archive |
Archive memories manually |
memory_unarchive |
Restore archived memories |
memory_cleanup |
Automatic memory lifecycle management |
Configuration
Environment variables (optional):
# Database location
MEMORY_MAN_DATABASE_URL=sqlite+aiosqlite:///./data/memories.db
# Storage directory
MEMORY_MAN_DATA_DIR=./data
# Search settings
MEMORY_MAN_SEARCH_LIMIT=20
MEMORY_MAN_MAX_MEMORY_SIZE=10000
# Logging
MEMORY_MAN_LOG_LEVEL=INFO
MEMORY_MAN_DEBUG=false
Development
Running Tests
python test_server.py
Code Quality
# Format code
black src/
# Lint code
ruff check src/
# Type checking
mypy src/
Adding New Features
- Models: Add to
src/memory_man/models/ - Tools: Add to
src/memory_man/server.py - Config: Update
src/memory_man/config.py
Troubleshooting
Server Won't Start
- Check Python path in MCP configuration
- Ensure virtual environment is properly set up
- Verify all dependencies are installed
Memory Search Issues
- Check if database exists in
data/memories.db - Verify project names match exactly
- Try broader search terms
Performance Issues
- Database will be created automatically on first run
- Consider adding indexes for large datasets
- Use importance levels to prioritize memories
Contributing
This is designed as a personal tool for your Claude Code workflow. Feel free to modify:
- Add new memory categories
- Implement semantic search
- Add memory expiration
- Create backup/sync features
License
MIT License - Feel free to use and modify as needed.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.