mem0-open-mcp
Experimental graph store integration with Neo4j for knowledge graph relationship extraction and persistence.
Integrates with Ollama for local LLM inference, enabling memory extraction and embedding using locally hosted models.
Integrates with OpenAI-compatible APIs for LLM and embedding services, allowing use of models like GPT-4.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mem0-open-mcpsearch my memories for meeting notes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mem0-open-mcp
Open-source MCP server for mem0 — local LLMs, self-hosted, Docker-free.
Created because the official mem0-mcp configuration wasn't working properly for my setup.
Features
Local LLMs: Ollama (recommended), LMStudio*, or any OpenAI-compatible API
Self-hosted: Your data stays on your infrastructure
Docker-free: Simple
pip install+ CLIFlexible: YAML config with environment variable support
Multiple Vector Stores: Qdrant, Chroma, Pinecone, and more
*LMStudio requires JSON mode compatible models
Related MCP server: MemHeaven
Quick Start
Installation
pip install mem0-open-mcpOr install from source:
git clone https://github.com/wonseoko/mem0-open-mcp.git
cd mem0-open-mcp
pip install -e .Usage
# Create default config
mem0-open-mcp init
# Interactive configuration wizard
mem0-open-mcp configure
# Test configuration (recommended for initial setup)
mem0-open-mcp test
# Start the server
mem0-open-mcp serve
# With options
mem0-open-mcp serve --port 8765 --user-id aliceThe test command verifies your configuration without starting the server:
Checks Vector Store, LLM, and Embedder connections
Performs actual memory add/search operations
Cleans up test data automatically
Modes
stdio Mode (for mcp-proxy or Claude Desktop)
Run the server in stdio mode when integrating with mcp-proxy or Claude Desktop:
mem0-open-mcp stdio
mem0-open-mcp stdio --config ./config.yamlUse this mode when:
Running via mcp-proxy
Claude Desktop subprocess integration
Process spawns on demand
Performance: Optimized for v0.2.1+ with lightweight manager startup
serve Mode (HTTP/SSE server)
Run a persistent HTTP server for remote access or multiple concurrent clients:
mem0-open-mcp serve --port 8765Use this mode when:
Remote access needed
Multiple concurrent clients
Always-on server preferred
Custom port configuration required
mcp-proxy Integration
Use mcp-proxy to route MCP protocol between tools and Claude Desktop. Configure your mcp-servers.json:
{
"mcpServers": {
"mem0": {
"command": "mem0-open-mcp",
"args": ["stdio"]
}
}
}Or with a custom config:
{
"mcpServers": {
"mem0": {
"command": "mem0-open-mcp",
"args": ["stdio", "--config", "/path/to/config.yaml"]
}
}
}The stdio mode communicates via stdin/stdout, making it ideal for process-spawned integrations.
Update Command
Keep mem0-open-mcp up to date with the self-update feature:
# Check for available updates
mem0-open-mcp update --check
# Force update to latest version
mem0-open-mcp update --force
# Update and exit on success
mem0-open-mcp updateOptions:
--check: Only check for available updates without installing--force: Force reinstall even if already at latest version
Configuration
Create mem0-open-mcp.yaml:
server:
host: "0.0.0.0"
port: 8765
user_id: "default"
llm:
provider: "ollama"
config:
model: "llama3.2"
base_url: "http://localhost:11434"
embedder:
provider: "ollama"
config:
model: "nomic-embed-text"
base_url: "http://localhost:11434"
embedding_dims: 768
vector_store:
provider: "qdrant"
config:
collection_name: "mem0_memories"
host: "localhost"
port: 6333
embedding_model_dims: 768With LMStudio
⚠️ Note: LMStudio requires a model that supports
response_format: json_object. mem0 uses structured JSON output for memory extraction. If you getresponse_formaterrors, use Ollama instead or select a model with JSON mode support in LMStudio.
llm:
provider: "openai"
config:
model: "your-model-name"
base_url: "http://localhost:1234/v1"
embedder:
provider: "openai"
config:
model: "your-embedding-model"
base_url: "http://localhost:1234/v1"MCP Integration
Connect your MCP client to:
http://localhost:8765/mcp/<client-name>/sse/<user-id>Claude Desktop
{
"mcpServers": {
"mem0": {
"url": "http://localhost:8765/mcp/claude/sse/default"
}
}
}Available MCP Tools
Tool | Description |
| Store new memories from text |
| Search memories by query |
| List all user memories |
| Get a specific memory by ID |
| Delete memories by IDs |
| Delete all user memories |
API Endpoints
Endpoint | Method | Description |
| GET | Health check |
| GET | Server status |
| GET/PUT | Configuration |
| GET/POST/DELETE | Memory operations |
| POST | Search memories |
Requirements
Python 3.10+
Vector store (Qdrant recommended)
LLM server (Ollama, LMStudio, etc.)
Performance Optimizations
stdio Mode Optimizations (v0.2.1+)
The stdio mode is optimized for performance:
Lightweight Manager: Reduced startup overhead compared to HTTP server
On-Demand Spawning: Process spawns only when needed for MCP requests
No Server Overhead: Eliminates HTTP/SSE connection management
Ideal for Claude Desktop: Minimal resource footprint when integrated via mcp-proxy
Use stdio mode for optimal performance in Claude Desktop or mcp-proxy integrations.
Performance Tips
Use Qdrant vector store for best performance (recommended)
Keep embedding dimensions consistent (768 or 1536)
For large memory operations, increase vector store batch size in configuration
Monitor Ollama performance with local models (llama3.2 recommended for speed)
Graph Store (Experimental)
Graph store enables knowledge graph capabilities for relationship extraction between entities.
Configuration
graph_store:
provider: "neo4j"
config:
url: "bolt://localhost:7687"
username: "neo4j"
password: "your-password"Installation
pip install mem0-open-mcp[neo4j]
# or
pip install mem0-open-mcp[kuzu]Limitations
⚠️ Important: Graph store requires LLMs with proper tool calling support.
OpenAI models: Full support (recommended for graph store)
Ollama models: Limited support - most models (llama3.2, llama3.1) do not follow tool schemas accurately, resulting in empty graph relations
If you need graph capabilities with local LLMs, consider using the
graph_store.llmsetting to specify a different LLM provider for graph operations only.
# Example: Use OpenAI for graph, Ollama for everything else
llm:
provider: "ollama"
config:
model: "llama3.2"
graph_store:
provider: "neo4j"
config:
url: "bolt://localhost:7687"
username: "neo4j"
password: "password"
llm:
provider: "openai"
config:
model: "gpt-4o-mini"License
Apache 2.0
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/wonseoko/mem0-open-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server