Mem0 Memory MCP Server
A Model Context Protocol (MCP) server that provides memory storage and retrieval capabilities using Mem0. This tool allows you to store and search through memories, making it useful for maintaining context and making informed decisions based on past interactions.
Features
- Store memories with user-specific context
- Search through stored memories with relevance scoring
- Simple and intuitive API
- Built on the Model Context Protocol
- Automatic error handling
- Support for multiple user contexts
Usage
This server now supports StreamableHTTP via Smithery CLI while retaining optional STDIO compatibility.
StreamableHTTP (recommended)
- Development (opens Smithery Playground and exposes HTTP transport):
npm run dev
- Build for HTTP/StreamableHTTP (Smithery):
npm run build
- Start the HTTP server locally (Smithery-built entrypoint):
npm run start:http
You can configure the server using Smithery’s generated form in the playground or by setting environment variables (e.g., MEM0_API_KEY).
STDIO (backward compatible)
Run the server over STDIO (useful for local clients that only support STDIO):
env MEM0_API_KEY=your-api-key-here npm run build:stdio && npm run start:stdio
Configuration for AI Tools
Running on Cursor (STDIO)
Configuring Cursor 🖥️
To configure Mem0 MCP in Cursor:
- Open Cursor Settings
- Go to Features > MCP Servers
- Click "+ Add New MCP Server"
- Enter the following:
- Name: "mem0-mcp" (or your preferred name)
- Type: "command"
- Command:
env MEM0_API_KEY=your-api-key-here npx -y @mem0/mcp(or usestart:stdiofrom this repo)
To configure Mem0 MCP using JSON configuration:
{
"mcpServers": {
"mem0-mcp": {
"command": "npx",
"args": ["-y", "@mem0/mcp"],
"env": {
"MEM0_API_KEY": "YOUR-API-KEY-HERE"
}
}
}
}
Running on VS Code (STDIO)
Add the following JSON block to your User Settings (JSON) file in VS Code:
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "apiKey",
"description": "Mem0 API Key",
"password": true
}
],
"servers": {
"mem0-memory": {
"command": "npx",
"args": ["-y", "@mem0/mcp"],
"env": {
"MEM0_API_KEY": "${input:apiKey}"
}
}
}
}
}
Available Tools
1. Add Memory Tool (add-memory)
Store new memories with user-specific context.
{
"name": "add-memory",
"arguments": {
"content": "User prefers dark mode interface",
"userId": "user123"
}
}
2. Search Memories Tool (search-memories)
Search through stored memories to retrieve relevant information.
{
"name": "search-memories",
"arguments": {
"query": "What are the user's interface preferences?",
"userId": "user123"
}
}
Response Format
Add Memory Response
{
"content": [
{
"type": "text",
"text": "Memory added successfully"
}
],
"isError": false
}
Search Memory Response
{
"content": [
{
"type": "text",
"text": "Memory: User prefers dark mode interface\nRelevance: 0.95\n---\nMemory: User mentioned liking minimal UI\nRelevance: 0.82\n---"
}
],
"isError": false
}
Configuration
Environment Variables
MEM0_API_KEY: Your Mem0 API key (required)- Required for operation
- Can be obtained from Mem0 Dashboard
Development
Prerequisites
- Node.js >= 18
- A Mem0 API key
Setup
- Install dependencies:
npm install
- Optionally create a
.envfile in the project directory and add your Mem0 API key:
MEM0_API_KEY=your-api-key-here
DEFAULT_USER_ID=mem0-mcp-user
HTTP/StreamableHTTP Dev
npm run dev
STDIO Dev
npm run build:stdio
npm run start:stdio
Error Handling
The server includes error handling for:
- API connection issues
- Invalid memory operations
- Search errors
- Authentication failures
Example error response:
{
"content": [
{
"type": "text",
"text": "Error: Failed to search memories: Invalid API key"
}
],
"isError": true
}
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT











