mem0 MCP Server for Project Management

by KunihiroS
Verified

Integrations

  • Manages environment variables for the MCP server, allowing secure storage of API keys and configuration settings for the mem0 cloud service.

  • Provides version control capabilities for project management, referenced in the configuration setup for tracking project changes.

  • Supports structured data formatting for project management information using JavaScript object notation, enhancing searchability and organization of project data.

Servidor MCP mem0 para gestión de proyectos

mem0 MCP Server es un puente entre las aplicaciones de MCP Host y el servicio en la nube mem0, que proporciona capacidades de memoria para MCP Host AI.

Esta bifurcación busca cambiar el alcance de la codificación a la gestión de proyectos. Esta bifurcación aborda un contexto de nivel superior relacionado con temas de gestión de proyectos.

Además, esta bifurcación integra experimentalmente el formato de grabación en un contexto de alto nivel como el protocolo humano.

Características

  • Se bifurcó para cambiar el uso del ámbito de codificación original al ámbito de gestión de proyectos.
  • Almacenamiento y recuperación de memoria del proyecto
  • Búsqueda semántica para encontrar información relevante del proyecto
  • Manejo estructurado de datos de gestión de proyectos

Instalación y uso

Precondición y requisito

  • Python 12.0 o más reciente,
  • mcp-proxy (en caso de código Cline o Roo)

Detalles

  1. Clonar el repositorio y moverlo a él.
  2. Configurar entorno virtual usando uv .
uv venv --python 3.12
  1. Activar entorno virtual usando uv .
source .venv/bin/activate
  1. Instale las dependencias usando uv .
# Install in editable mode from pyproject.toml uv pip install -e .
  1. Crea .gitignore en la raíz del repositorio.
touch .gitignore
  1. Actualizar .gitignore
# Python __pycache__/ *.py[cod] *.egg-info/ # Environment variables .env # Egg info mem0_mcp.egg-info/
  1. Crea .env en la raíz del repositorio.
touch .env
  1. Actualizar .env
MEM0_API_KEY={your API Key}
  1. Clonar e instalar el siguiente OSS.

https://github.com/sparfenyuk/mcp-proxy

  1. Agregar configuración del servidor MCP.
  • Cline
"mem0": { "command": "PATH_TO/mcp-proxy", # ex: /home/{user}/.local/bin/mcp-proxy "args": [ "http://127.0.0.1:6789/sse" # configure port as you need ] }
  1. Iniciar servidor MCP (se requiere entorno virtual activado)
python main.py --host 127.0.0.1 --port 6789
  1. Verifique la funcionalidad mediante MCP Host (como Cline)
Hey, can you get all memories on mem0?

Operación

  • Asegúrese de que el servidor MCP se ejecute rápidamente.
  • Hay varias formas de ejecutar automáticamente el servidor, como agregar el script .bashrc
  • Configure de forma automática según sea su entorno de uso más sencillo.

Herramientas disponibles

  • add_project_memory: Agregar nueva información de gestión del proyecto
  • get_all_project_memories: recupera toda la información del proyecto almacenada
  • search_project_memories: busca información específica del proyecto

Detalles técnicos

La singularidad de esta bifurcación reside en que el formato estructurado entre el host MCP y mem0 se espera en un formato de codificación similar al de un objeto Javascript. Asegúrese de configurar la instrucción personalizada para una mejor gestión.

Instrucciones personalizadas

Para que mem0 funcione de manera adecuada para el propósito de gestión de proyectos, esta bifurcación tiene la siguiente instrucción para IA.

Para mem0

  • Compruebe el código fuente.

Para el host MCP

  • Lo siguiente es solo una muestra, ¡encuentra lo mejor tú mismo!

Guía mem0 para una memoria de proyecto eficaz (mejorada)

Esta guía describe estrategias y plantillas para gestionar eficazmente la información del proyecto con mem0. El objetivo es mejorar la capacidad de búsqueda y reutilización de los datos del proyecto mediante plantillas estructuradas y la gestión de metadatos.

Estructura de la información y plantillas

mem0 puede gestionar eficazmente los siguientes tipos de información. El uso de plantillas estructuradas mejora la capacidad de búsqueda y la reutilización. Tenga en cuenta que las plantillas proporcionadas son ejemplos y deben adaptarse a las necesidades específicas del proyecto.

1. Gestión del estado del proyecto

Plantilla :

// [PROJECT: project-name] [TIMESTAMP: yyyy-MM-ddTHH:mm:ss+09:00] [TYPE: Project Status] const projectStatus = { overview: { name: "Project Name", // Required purpose: "Project Purpose", // Required version: "1.2.0", // Optional phase: "development" // Optional }, progress: { completionLevel: 0.65, // Completion rate (value between 0 and 1) milestones: [ { name: "Planning Phase", status: "completed", date: "2025-02-15" }, { name: "Development Phase", status: "in-progress", progress: 0.70 } ] }, currentFocus: ["Implementing Feature X", "Optimizing Component Y"], risks: ["Concerns about API stability", "Resource shortage"] };

2. Gestión de tareas

Plantilla :

// [PROJECT: project-name] [TIMESTAMP: yyyy-MM-ddTHH:mm:ss+09:00] [TYPE: Task Management] const taskManagement = { highPriority: [ { description: "Implement Feature X", // Required status: "in-progress", // Required deadline: "2025-03-15", // Optional assignee: "Team A", // Optional dependencies: "Component Y" // Optional } ], mediumPriority: [], completedTasks: [ { description: "Setup Development Environment", status: "completed" } ] };

3. Resumen de la reunión

Plantilla :

// [PROJECT: project-name] [TIMESTAMP: yyyy-MM-ddTHH:mm:ss+09:00] [TYPE: Meeting Summary] const meetingMinutes = { title: "Weekly Progress Meeting", date: "2025-03-23", attendees: [ { department: "Development", members: ["Sato", "Suzuki"] }, { department: "Design", members: ["Tanaka"] } ], topics: ["Progress Report", "Risk Management", "Next Week's Plan"], decisions: [ "Approve additional resource allocation", "Delay release date by one week" ], actionItems: [ { description: "Procedure for adding resources", assignee: "Sato", dueDate: "2025-03-25" }, { description: "Revise test plan", assignee: "Suzuki", dueDate: "2025-03-24" } ] };

Técnicas eficaces de gestión de la información

1. Gestión de contexto (run_id)

Usando el parámetro run_id de mem0, puedes agrupar lógicamente la información relacionada. Esto ayuda a mantener flujos de conversación o contextos de proyecto específicos.

Formato recomendado :

project:project-name:category:subcategory

Ejemplo de uso :

// Managing information related to a specific feature add_project_memory( "// [PROJECT: Member System] [TYPE: Technical Specification]\nconst authSpec = {...};", run_id="project:member-system:feature:authentication", metadata={"type": "specification"} ); // Adding a task for the same feature add_project_memory( "// [PROJECT: Member System] [TYPE: Task Management]\nconst authTasks = {...};", run_id="project:member-system:feature:authentication", metadata={"type": "task"} ); // Searching for related information search_project_memories("authentication", { "run_id": "project:member-system:feature:authentication" });

2. Uso eficaz de los metadatos

El uso de metadatos puede mejorar la búsqueda de información. Recomendamos usar el siguiente esquema:

{ "type": "meeting|task|decision|status|risk", // Type of information "priority": "high|medium|low", // Priority "tags": ["frontend", "backend", "design"], // Related tags "status": "pending|in-progress|completed" // Status }

Ejemplo de uso :

// Registering a high-priority task add_project_memory( "// [PROJECT: Member System] [TYPE: Task Management]\nconst task = {...};", metadata={ "type": "task", "priority": "high", "tags": ["frontend", "authentication"] } ); // Searching for tasks with a specific tag search_project_memories("task", { "metadata": { "tags": ["frontend"] } });

3. Gestión del ciclo de vida de la información

Utilizando los parámetros immutable y expiration_date , puede administrar el ciclo de vida de la información.

Ejemplo de uso :

// Recording an immutable decision add_project_memory( "// [PROJECT: Member System] [TYPE: Decision Record]\nconst decision = {...};", immutable=True, // Set as immutable metadata={"type": "decision"} ); // Information with an expiration date add_project_memory( "// [PROJECT: Member System] [TYPE: Meeting Summary]\nconst meeting = {...};", expiration_date="2025-06-30", // Expires on this date metadata={"type": "meeting"} );

Patrones de uso práctico

1. Ejemplo de gestión de sprints

// Registering the sprint plan at the start add_project_memory( "// [PROJECT: Member System] [TIMESTAMP: 2025-05-01T10:00:00+09:00] [TYPE: Project Status]\n" + "const sprintPlan = {\n" + " sprint: \"Sprint-2025-05\",\n" + " duration: \"2 weeks\",\n" + " goals: [\"Implement authentication feature\", \"Improve UI\"],\n" + " tasks: [\n" + " { description: \"Implement login screen\", assignee: \"Tanaka\", estimate: \"3 days\" },\n" + " { description: \"API integration\", assignee: \"Sato\", estimate: \"2 days\" }\n" + " ]\n" + "};", run_id="project:member-system:sprint:2025-05", metadata={"type": "status", "tags": ["sprint-planning"]} ); // Mid-sprint progress report add_project_memory( "// [PROJECT: Member System] [TIMESTAMP: 2025-05-08T15:00:00+09:00] [TYPE: Project Status]\n" + "const progress = {\n" + " sprint: \"Sprint-2025-05\",\n" + " completionLevel: 0.4,\n" + " status: [\n" + " { task: \"Implement login screen\", progress: 0.7, status: \"in-progress\" },\n" + " { task: \"API integration\", progress: 0.2, status: \"in-progress\" }\n" + " ],\n" + " blockers: [\"Change in API response specification\"]\n" + "};", run_id="project:member-system:sprint:2025-05", metadata={"type": "status", "tags": ["sprint-progress"]} );

2. Ejemplo de gestión de riesgos

// Registering a risk add_project_memory( "// [PROJECT: Member System] [TIMESTAMP: 2025-05-03T11:00:00+09:00] [TYPE: Risk Assessment]\n" + "const risk = {\n" + " description: \"Concerns about external API stability\",\n" + " impact: \"High\",\n" + " probability: \"Medium\",\n" + " mitigation: \"Implement fallback mechanism\",\n" + " owner: \"Development Lead\"\n" + "};", run_id="project:member-system:risk:api-stability", metadata={"type": "risk", "priority": "high"} ); // Updating the risk status add_project_memory( "// [PROJECT: Member System] [TIMESTAMP: 2025-05-10T16:30:00+09:00] [TYPE: Risk Assessment]\n" + "const riskUpdate = {\n" + " description: \"Concerns about external API stability\",\n" + " status: \"Resolved\",\n" + " resolution: \"Fallback mechanism implementation completed\"\n" + "};", run_id="project:member-system:risk:api-stability", metadata={"type": "risk", "priority": "medium"} );

Puntos importantes

  • Metadatos estándar : incluya siempre el nombre del proyecto y la marca de tiempo.
  • Formato de datos : utilice datos estructurados (objetos JavaScript, JSON, YAML).
  • Gestión del contexto : utilice run_id de forma jerárquica para mantener la relevancia de la información.
  • Eficiencia de búsqueda : los metadatos y la estructura consistentes mejoran la eficiencia de la búsqueda.

4. Estrategia de implementación

Para implementar las mejoras anteriores, recomendamos los siguientes pasos:

  1. Mejorar el método add_project_memory :
    • Actualizar las cadenas de documentación: mejorar los ejemplos de uso y las descripciones de los parámetros.
    • Manejo de errores: proporcione información de error más detallada.
    • Formato de respuesta: Indique explícitamente los parámetros utilizados.
  2. Actualizar instrucciones personalizadas :
    • Enriquecer ejemplos de plantillas.
    • Aclarar el uso recomendado de run_id (introducir estructura jerárquica).
    • Estandarizar el esquema de metadatos.
    • Proporcionar ejemplos de uso práctico.

Estas mejoras mejorarán la usabilidad y la eficiencia de la gestión de la información manteniendo la compatibilidad con las API existentes.

5. Resumen

Las mejoras propuestas aportan valor de las siguientes maneras al tiempo que mantienen la compatibilidad con las funciones del servidor MCP mem0 existentes:

  1. Gestión mejorada de información estructurada : las plantillas y los metadatos estandarizados promueven una estructura de información consistente.
  2. Gestión de contexto mejorada : el uso jerárquico de run_id facilita la gestión de la información relacionada.
  3. Usabilidad mejorada : la documentación detallada y los ejemplos prácticos reducen la curva de aprendizaje.

Estas mejoras aumentarán aún más la eficacia del servidor MCP mem0 como herramienta de gestión de proyectos.

-
security - not tested
F
license - not found
-
quality - not tested

Un puente entre las aplicaciones MCP Host y el servicio en nube mem0, especializado para la gestión de proyectos con capacidades para almacenar, recuperar y buscar información del proyecto dentro de un formato estructurado.

  1. Features
    1. Installation and usage
      1. Pre-condition and requirement
      2. Details
    2. Operation
      1. Available Tools
        1. Technical details
          1. Custom instruction
            1. For mem0
            2. For MCP Host
          2. mem0 Guide for Effective Project Memory (Enhanced)
            1. Information Structure and Templates
            2. Effective Information Management Techniques
            3. Practical Usage Patterns
            4. Important Points
            5. 4. Implementation Strategy
            6. 5. Summary
          ID: ii5u2sijvv