Skip to main content
Glama

Mem0 MCP Server

by ryaker
README.md7.05 kB
# Mem0 MCP Server A Model Context Protocol (MCP) server for integrating AI assistants with Mem0.ai's persistent memory system. ## Overview This server provides MCP-compatible tools that let any compatible AI assistant access and manage persistent memories stored in Mem0. It acts as a bridge between AI models and the Mem0 memory system, enabling assistants to: - Store and retrieve memories - Search memories with semantic similarity - Manage different memory types (episodic, semantic, procedural) - Utilize short-term memory for conversation context - Apply selective memory patterns - Create knowledge graphs from memories ## Project Structure The project code is located within the `src/mcp_mem0_general/` directory. ## Installation Methods ### Method 1: DXT Extension (Recommended) The easiest way to install this MCP server is using the DXT extension format in Claude Desktop. **Download**: [`mem0-mcp-server-0.1.0.dxt`](releases/mem0-mcp-server-0.1.0.dxt) For detailed DXT installation instructions, see [CLAUDE_DESKTOP_INSTALL.md](CLAUDE_DESKTOP_INSTALL.md). ### Method 2: Direct Installation (Current) This server can be run directly from GitHub using `uvx` without needing to clone the repository or install it locally. ### Running the Server Ensure you have `uv` installed (`pipx install uv` or `brew install uv`). You can test the server directly in your terminal: ```bash # Make sure MEM0_API_KEY is set in your environment export MEM0_API_KEY="your-mem0-api-key-here" # Run the server using uvx uvx git+https://github.com/ryaker/mcp-mem0-general.git mcp-mem0-general ``` The server should start and log its initialization steps. ### Method 3: Manual Configuration in Claude Desktop/Cursor 1. **Find `uvx` Path:** GUI applications like Claude Desktop often don't use the same `PATH` as your terminal. Find the full path to your `uvx` executable by running this in your terminal: ```bash which uvx ``` Copy the output path (e.g., `/Users/yourname/.local/bin/uvx` or `/opt/homebrew/bin/uvx`). 2. **Configure MCP:** Add the following configuration to your MCP configuration file, **replacing `/full/path/to/uvx`** with the actual path you found in step 1. * **Cursor:** Add/update in `~/.cursor/mcp.json`: * **Claude Desktop:** Add/update a similar configuration in your settings. ```json "mem0-memory-general": { "command": "/full/path/to/uvx", # <-- IMPORTANT: Use the full path from 'which uvx' "args": [ "git+https://github.com/ryaker/mcp-mem0-general.git", "mcp-mem0-general" ], "env": { "MEM0_API_KEY": "your-mem0-api-key-here" } } ``` 3. **Restart:** Restart Cursor or Claude Desktop to apply the changes. The server should now start correctly within the application. For detailed Claude Desktop installation instructions and troubleshooting, see [CLAUDE_DESKTOP_INSTALL.md](CLAUDE_DESKTOP_INSTALL.md). ### Note on `mem0ai[neo4j]` Warning You might see a warning like `warning: The package mem0ai==0.1.96 does not have an extra named neo4j` during startup. * **If using the managed Mem0.ai platform:** This warning can be safely ignored. The necessary graph processing happens server-side on the Mem0 platform. * **If self-hosting Mem0 with Neo4j:** This warning indicates that the specific `mem0ai` version didn't automatically install Neo4j-related Python libraries (`langchain-neo4j`, `neo4j`). You would need to ensure these are installed manually in your self-hosted environment if using graph features. ## Loading the Usage Guide into Memory (Recommended) To make it easy for your AI assistant to reference the server's capabilities, you can load the `USAGE_GUIDE.md` content into Mem0. Follow these steps: **Prerequisite:** Ensure the Mem0 MCP server is running and configured correctly in your AI assistant (Claude/Cursor) as described in the "Getting Started" section above. 1. **Copy the Guide Content:** Open the [USAGE_GUIDE.md](USAGE_GUIDE.md) file. Select and copy its *entire* text content. 2. **Ask Assistant to Add Memory:** Go to your AI assistant (Claude/Cursor) and use a prompt similar to this, pasting the guide content you copied where indicated. Make sure to use your consistent `user_id` (e.g., "default_user"). ``` Please remember the following usage guide for the Mem0 MCP server. Use user_id "default_user" and add metadata `{"title": "Mem0 MCP Usage Guide", "source": "README Instruction"}`: [--- PASTE THE ENTIRE USAGE_GUIDE.md CONTENT HERE ---] ``` The assistant should call the `mem0_add_memory` tool. 3. **Find the Memory ID:** Once the assistant confirms the memory is added, ask it to find the specific ID for that memory: ``` Please search my memories for user_id "default_user" using the query "Mem0 MCP Usage Guide" and tell me the exact memory ID of that guide memory you just added. ``` The assistant should use the `mem0_search_memory` tool and provide you with an ID string (e.g., `76100ac4-896e-488b-90ad-036c0dfaaa80`). **Note down this ID!** 4. **Retrieve the Guide Later:** Now that you have the ID, you can quickly ask your assistant to recall the full guide anytime using a prompt like this: ``` First execute Retrieve memory ID *your-guide-id-here* using mem0_get_memory_by_id. Then return control to me. ``` (Replace *`your-guide-id-here`* with the actual ID you noted down in step 3). ## Memory Types The server supports different memory types organized by duration and function: ### Short-Term Memories - **Conversation Memory**: Recall of recent message exchanges - **Working Memory**: Temporary information being actively used - **Attention Memory**: Information currently in focus ### Long-Term Memories - **Episodic Memory**: Specific events and experiences - **Semantic Memory**: Facts, concepts, and knowledge - **Procedural Memory**: Skills and how-to information ## Advanced Features - **Custom Categories**: Define and manage your own memory categories - **Memory Instructions**: Set guidelines for how memories should be processed - **Graph Relations**: Access knowledge graph relationships between entities - **Selective Memory**: Filter text with include/exclude patterns before storing - **Feedback Mechanism**: Provide feedback on memory quality ## Usage All memories in the system use "default_user" as the default user_id. For detailed usage examples, see the [USAGE_GUIDE.md](USAGE_GUIDE.md). ## Documentation - [Getting Started](docs/getting-started.md) - [API Reference](docs/api-reference.md) - [Memory Types](docs/memory-types.md) - [Advanced Features](docs/advanced-features.md) - [Configuration](docs/configuration.md) ## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ## Acknowledgments - [Mem0.ai](https://mem0.ai) for their excellent memory API - [Model Context Protocol](https://modelcontextprotocol.io/) (and its Python SDK `mcp`) for the server implementation - All contributors to this project

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/ryaker/mcp-mem0-general'

If you have feedback or need assistance with the MCP directory API, please join our Discord server