MCP OpenMemory Server
baryhuang/mcp-openmemory · 71 stars · JavaScript · MIT
MCP server Simple standalone MCP server giving Claude the ability to remember your conversations and learn from them over time.
Install
The repo has no one-line install. Follow its README.
Files
MCP OpenMemory Server
Gives Claude the ability to remember your conversations and learn from them over time.
openmemory.demo.0605.mp4
Features
- Memory Storage: Save and recall conversation messages
- Memory Abstracts: Maintain summarized memory context across conversations
- Recent History: Access recent conversations within configurable time windows
- Local Database: Uses SQLite for persistent storage without external dependencies
⚠️ Important
You must configure MEMORY_DB_PATH to a persistent location to avoid losing your conversation history when Claude Desktop closes. If not configured, the database defaults to ./memory.sqlite in a temporary location that may be cleared when the application restarts.
Configuration
Prerequisites
-
Node.js: Required to run the MCP server. Verify installation with:
node --version
If not installed, download from nodejs.org
-
Claude Desktop: Download the latest version for macOS or Windows
Claude Desktop Integration
Configuration File Location
The Claude Desktop configuration file is located at:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
To access: Open Claude Desktop → Claude menu → Settings → Developer → Edit Config
macOS/Linux
Run directly using npm
{
"mcpServers": {
"mcp-openmemory": {
"command": "npx",
"args": [
"@peakmojo/mcp-openmemory@latest"
],
"env": {
"MEMORY_DB_PATH": "/Users/username/mcp-memory.sqlite"
}
}
}
}
Windows
Run directly using npm
{
"mcpServers": {
"mcp-openmemory": {
"command": "npx",
"args": [
"@peakmojo/mcp-openmemory@latest"
],
"env": {
"MEMORY_DB_PATH": "C:\\Users\\username\\mcp-memory.sqlite"
}
}
}
}
Run from source (all platforms)
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["/path/to/your/repo/server.js"],
"env": {
"MEMORY_DB_PATH": "/path/to/your/memory.sqlite"
}
}
}
}
Environment Variables
MEMORY_DB_PATH: Path to SQLite database file (default:./memory.sqlite)
Verification
After configuring and restarting Claude Desktop, you should see:
- Slider Icon (🔧) in the bottom left of the input box
- Available Tools when clicking the slider:
save_memoryrecall_memory_abstractupdate_memory_abstractget_recent_memories
Troubleshooting
Server Not Showing Up
- Restart Claude Desktop completely
- Check JSON syntax in your configuration file
- Verify paths are absolute (not relative) and exist
- Test manual server start:
# Test if the server runs correctly npx @peakmojo/mcp-openmemory@latest
Check Logs
Log Locations:
- macOS:
~/Library/Logs/Claude/ - Windows:
%APPDATA%\Claude\logs\
View recent logs:
# macOS/Linux tail -n 20 -f ~/Library/Logs/Claude/mcp*.log # Windows type "%APPDATA%\Claude\logs\mcp*.log"
Common Issues
- ENOENT errors on Windows: Add
APPDATAto your env configuration - Tool calls failing: Check server logs for errors
- NPM not found: Install NPM globally with
npm install -g npm
For detailed troubleshooting, see the official MCP documentation.
Security Note
⚠️ Claude Desktop runs MCP servers with your user account permissions. Only install servers from trusted sources.
Available Tools
- save_memory: Store individual conversation messages
- recall_memory_abstract: Get current memory summary
- update_memory_abstract: Update the memory summary
- get_recent_memories: Retrieve recent conversation history
Usage
The server starts automatically when configured with Claude Desktop. The database will be created automatically on first use.
Example System Prompt
# Memory Usage Guidelines
You should use memory tools thoughtfully to enhance conversation continuity and context retention:
## When to Save Memory
- **save_memory**: Store significant conversation exchanges, important decisions, user preferences, or key context that would be valuable to remember in future conversations
- Focus on information that has lasting relevance rather than temporary details
- Save when users share important personal information, project details, or ongoing work context
## When to Update Memory Abstract
- **update_memory_abstract**: After processing recent conversations, combine new important information with existing context to create an improved summary
- Update when there are meaningful developments in ongoing projects or relationships
- Consolidate related information to maintain coherent context over time
## When to Recall Memory
- **recall_memory_abstract**: Use at the beginning of conversations to understand previous context, or when you need background information to better assist the user
- **get_recent_memories**: Access when you need specific details from recent exchanges that aren't captured in the abstract
- Recall when the user references previous conversations or when context would significantly improve your assistance
## What Constitutes Critical Information
- User preferences and working styles
- Ongoing projects and their current status
- Important personal or professional context
- Decisions made and their rationale
- Key relationships or collaborations mentioned
- Technical specifications or requirements for recurring tasks
Use these tools to build continuity and provide more personalized assistance, not as error-prevention mechanisms or intent-guessing systems.
🔀 Namespacing Memory by Project
You can separate memory per project in two ways:
1. Hard Separation (Claude vs Cursor)
Use different MEMORY_DB_PATH in each app's config:
- Claude (
claude_desktop_config.json):
"mcpServers": {
"claude-memory": {
"command": "npx",
"args": ["@peakmojo/mcp-openmemory@latest"],
"env": {
"MEMORY_DB_PATH": "/Users/you/claude-memory.sqlite"
}
}
}
- Cursor (.cursor/config.json or tool config):
"mcpServers": {
"cursor-memory": {
"command": "npx",
"args": ["@peakmojo/mcp-openmemory@latest"],
"env": {
"MEMORY_DB_PATH": "/Users/you/cursor-memory.sqlite"
}
}
}
Each app runs its own instance, storing to its own DB.
2. Soft Namespacing via context
When calling memory tools, pass a custom "context":
{ "context": "project-x", "message": "Notes from project X." }
Use this to segment memory logically within the same database.
🔍 Semantic search is not supported yet. Open a GitHub issue if needed.
References
- Model Context Protocol (MCP) Official Documentation - Complete MCP specification and guides
- MCP Quickstart for Claude Desktop Users - Step-by-step setup guide
- MCP Server Development Guide - For building custom MCP servers
- MCP GitHub Repository - Official MCP implementation and examples
- Claude Desktop - Download Claude Desktop application
- Node.js - Required runtime for MCP servers
License
MIT License
Facts
- Kind
- MCP server
- Group
- Uncategorized
- Stars
- 71
- License
- MIT
- Language
- JavaScript
- Last push
- 2025-06-06
- Forks
- 9
- Topics
- agent-memory, mcp, mcp-server, openmemory
- 1REAio.github.morluto/reaReverse engineer anything from your terminal or agent with one CLI and MCP server.125.3k
- 2com.browser-use/browser-usecom.browser-use/browser-useControl a real Chrome browser to complete any task: fill forms, extract data, book flights.117.7k
- 3World Monitorapp.worldmonitor/mcpLive markets, conflicts, country risk, chokepoints, energy, and China decision signals. 93 tools.88.3k
- 4Scrapling MCP Serverd4vinci/scrapling🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scraplingdev86.9k
- 5Everythingmodelcontextprotocol/serversThis MCP server attempts to exercise all the features of the MCP protocol. It is not intended to be a useful server, but rather a test server for builders of MCP clients. It implements prompts, tools, resources, sampling, and more to showcase MCP capabilities.85.8k
- 6Fetchmodelcontextprotocol/serversA Model Context Protocol server that provides web content fetching capabilities. This server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.85.8k