MCP ExplorerExplorer

Mem0 Server

@mem0aion 11 days ago
311 MIT
FreeCommunity
Dev Tools
#coding preferences#mem0
A Model Context Protocol server for Mem0, which helps with managing coding preferences.

Overview

What is Mem0 Server

The MCP server with mem0 provides a structured solution for managing coding preferences. It allows users to store, retrieve, and search through coding snippets, implementation details, and best practices using the Model Context Protocol.

Use cases

This system is ideal for developers and teams looking to maintain a library of code snippets and coding patterns. It helps in tracking coding preferences, improving code quality, and facilitating knowledge sharing across projects.

How to use

To use the MCP server, start by cloning the repository and setting up the environment. After configuring your mem0 API key, you can run the server and connect to it via Cursor using the provided SSE endpoint. You can then add, retrieve, or search coding preferences through the tools offered by the server.

Key features

Key features include the ability to add comprehensive coding preferences with detailed context, retrieve all stored preferences for pattern analysis, and semantically search through entries for relevant solutions and best practices.

Where to use

The server is suitable for cloud-native scenarios where decoupled processes are essential, allowing agents to connect and disconnect from the server as needed. It can be utilized in various development environments, ensuring accessibility and organization of coding resources.

Content

MCP Server with Mem0 for Managing Coding Preferences

This demonstrates a structured approach for using an MCP server with mem0 to manage coding preferences efficiently. The server can be used with Cursor and provides essential tools for storing, retrieving, and searching coding preferences.

Installation

  1. Clone this repository
  2. Initialize the uv environment:
uv venv
  1. Activate the virtual environment:
source .venv/bin/activate
  1. Install the dependencies using uv:
# Install in editable mode from pyproject.toml
uv pip install -e .
  1. Update .env file in the root directory with your mem0 API key:
MEM0_API_KEY=your_api_key_here

Usage

  1. Start the MCP server:
uv run main.py
  1. In Cursor, connect to the SSE endpoint, follow this doc for reference:
http://0.0.0.0:8080/sse
  1. Open the Composer in Cursor and switch to Agent mode.

Demo with Cursor

https://github.com/user-attachments/assets/56670550-fb11-4850-9905-692d3496231c

Features

The server provides three main tools for managing code preferences:

  1. add_coding_preference: Store code snippets, implementation details, and coding patterns with comprehensive context including:

    • Complete code with dependencies
    • Language/framework versions
    • Setup instructions
    • Documentation and comments
    • Example usage
    • Best practices
  2. get_all_coding_preferences: Retrieve all stored coding preferences to analyze patterns, review implementations, and ensure no relevant information is missed.

  3. search_coding_preferences: Semantically search through stored coding preferences to find relevant:

    • Code implementations
    • Programming solutions
    • Best practices
    • Setup guides
    • Technical documentation

Why?

This implementation allows for a persistent coding preferences system that can be accessed via MCP. The SSE-based server can run as a process that agents connect to, use, and disconnect from whenever needed. This pattern fits well with “cloud-native” use cases where the server and clients can be decoupled processes on different nodes.

Server

By default, the server runs on 0.0.0.0:8080 but is configurable with command line arguments like:

uv run main.py --host <your host> --port <your port>

The server exposes an SSE endpoint at /sse that MCP clients can connect to for accessing the coding preferences management tools.

Tools

No tools

Comments