Memory Bank MCP

by movibe
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Displays GitHub Actions workflow status for tests through a badge in the README

  • Uses Markdown files to store structured information in Memory Banks, including product context, active context, progress, decisions, and system patterns

  • Allows installation and distribution of the Memory Bank MCP package through npm

Banco de memoria MCP 🧠

Un servidor de Protocolo de Contexto de Modelo (MCP) para administrar bancos de memoria, lo que permite a los asistentes de IA almacenar y recuperar información en todas las sesiones.

Descripción general 📋

El Servidor de Bancos de Memoria proporciona un conjunto de herramientas y recursos para que los asistentes de IA interactúen con los Bancos de Memoria. Estos son repositorios estructurados de información que ayudan a mantener el contexto y a monitorizar el progreso en múltiples sesiones.

Características ✨

  • Gestión del banco de memoria : inicializar, buscar y gestionar bancos de memoria
  • Operaciones de archivos : leer y escribir archivos en bancos de memoria
  • Seguimiento del progreso : realice un seguimiento del progreso y actualice los archivos del banco de memoria
  • Registro de decisiones : registre decisiones importantes con contexto y alternativas
  • Gestión del contexto activo : mantener y actualizar la información del contexto activo
  • Compatibilidad de modo : Detecta y utiliza archivos .clinerules para el comportamiento específico del modo
  • Comando UMB : Actualice temporalmente los archivos del banco de memoria con el comando UMB
  • Manejo robusto de errores : gestione los errores con elegancia y continúe la operación cuando sea posible
  • Sistema de prefijo de estado : visibilidad inmediata del estado operativo del banco de memoria

Estructura del directorio 📁

De forma predeterminada, el banco de memory-bank utiliza un directorio en la raíz del proyecto. Al especificar una ruta de proyecto con la opción --path , el banco de memoria se creará o accederá a él en <project_path>/memory-bank .

Puede personalizar el nombre de la carpeta del Banco de Memoria con la opción --folder . Por ejemplo, si define --folder custom-memory , el Banco de Memoria se creará o accederá a él en <project_path>/custom-memory .

Para obtener más detalles sobre cómo personalizar el nombre de la carpeta, consulte Nombre de carpeta del banco de memoria personalizado .

Mejoras recientes 🛠️

  • Nombre de carpeta personalizable : ahora puede especificar un nombre de carpeta personalizado para el banco de memoria
  • Estructura de directorio consistente : Memory Bank ahora siempre usa el nombre de carpeta configurado en la raíz del proyecto
  • Inicialización mejorada : el banco de memoria ahora funciona incluso cuando no existen archivos .clinerules
  • Mejor manejo de rutas : manejo mejorado de rutas absolutas y relativas
  • Detección de directorios mejorada : mejor detección de directorios existentes en el banco de memoria
  • Manejo de errores más robusto : manejo elegante de errores relacionados con archivos .clinerules

Para obtener más detalles, consulte Corrección de errores del banco de memoria .

Instalación 🚀

# Install from npm npm install @movibe/memory-bank-mcp # Or install globally npm install -g @movibe/memory-bank-mcp # Or run directly with npx (no installation required) npx @movibe/memory-bank-mcp

Uso con npx 💻

Puede ejecutar Memory Bank MCP directamente sin instalación usando npx:

# Run with default settings npx @movibe/memory-bank-mcp # Run with specific mode npx @movibe/memory-bank-mcp --mode code # Run with custom project path npx @movibe/memory-bank-mcp --path /path/to/project # Run with custom folder name npx @movibe/memory-bank-mcp --folder custom-memory-bank # Show help npx @movibe/memory-bank-mcp --help

Para obtener información más detallada sobre el uso de npx, consulte npx-usage.md .

Configuración en Cursor 🖱️

Cursor es un editor de código basado en IA compatible con el Protocolo de Contexto de Modelo (MCP). Para configurar el MCP del Banco de Memoria en Cursor:

  1. Utilice el banco de memoria MCP con npx :No es necesario instalar el paquete globalmente. Puedes usar npx directamente:
    # Verify npx is working correctly npx @movibe/memory-bank-mcp --help
  2. Abrir configuración del cursor :
    • Vaya a Configuración (⚙️) > Extensiones > MCP
    • Haga clic en "Agregar servidor MCP"
  3. Configurar el servidor MCP :
    • Nombre : Banco de memoria MCP
    • Comando : npx
    • Argumentos : @movibe/memory-bank-mcp --mode code (u otro modo según sea necesario)
  4. Guardar y activar :
    • Haga clic en "Guardar"
    • Habilite el servidor MCP activándolo
  5. Verificar conexión :
    • Abrir un proyecto en Cursor
    • El MCP del Banco de Memoria ahora debería estar activo y disponible en tus interacciones con IA

Para obtener instrucciones detalladas y uso avanzado con Cursor, consulte cursor-integration.md .

Usando con el cursor 🤖

Una vez configurado, puedes interactuar con Memory Bank MCP en Cursor a través de comandos AI:

  • Inicializar un banco de memoria : /mcp memory-bank-mcp initialize_memory_bank path=./memory-bank
  • Progreso de seguimiento : /mcp memory-bank-mcp track_progress action="Feature Implementation" description="Implemented feature X"
  • Decisión de registro : /mcp memory-bank-mcp log_decision title="API Design" context="..." decision="..."
  • Modo de conmutación : /mcp memory-bank-mcp switch_mode mode=code

Modos MCP y su uso 🔄

Memory Bank MCP admite diferentes modos operativos para optimizar las interacciones de IA para tareas específicas:

Modos disponibles

  1. Modo Código 👨‍💻
    • Enfoque: Implementación y desarrollo de código
    • Uso: npx @movibe/memory-bank-mcp --mode code
    • Ideal para: escribir, refactorizar y optimizar código.
  2. Modo Arquitecto 🏗️
    • Enfoque: Diseño y arquitectura del sistema
    • Uso: npx @movibe/memory-bank-mcp --mode architect
    • Ideal para: planificar la estructura del proyecto, diseñar componentes y tomar decisiones arquitectónicas.
  3. Modo Preguntar
    • Enfoque: Responder preguntas y proporcionar información.
    • Uso: npx @movibe/memory-bank-mcp --mode ask
    • Ideal para: Obtener explicaciones, aclaraciones e información.
  4. Modo de depuración 🐛
    • Enfoque: Solución de problemas y resolución de problemas
    • Uso: npx @movibe/memory-bank-mcp --mode debug
    • Ideal para: encontrar y corregir errores, analizar problemas
  5. Modo de prueba
    • Enfoque: Pruebas y garantía de calidad
    • Uso: npx @movibe/memory-bank-mcp --mode test
    • Ideal para: escribir pruebas y desarrollo basado en pruebas.

Modos de conmutación

Puedes cambiar de modo de varias maneras:

  1. Al iniciar el servidor :
    npx @movibe/memory-bank-mcp --mode architect
  2. Durante una sesión :
    memory-bank-mcp switch_mode mode=debug
  3. En el cursor :
    /mcp memory-bank-mcp switch_mode mode=test
  4. Uso de archivos .clinerules : cree un archivo .clinerules-[mode] en su proyecto para cambiar automáticamente a ese modo cuando se detecte el archivo.

Cómo funciona el Banco de Memoria MCP 🧠

Memory Bank MCP se basa en el Protocolo de Contexto de Modelo (MCP), que permite a los asistentes de IA interactuar con herramientas y recursos externos. Así funciona:

Componentes principales 🧩

  1. Banco de memoria : un repositorio estructurado de información almacenada como archivos Markdown:
    • product-context.md : Información general y objetivos del proyecto
    • active-context.md : Estado actual, tareas en curso y próximos pasos
    • progress.md : Historial de actualizaciones y hitos del proyecto
    • decision-log.md : Registro de decisiones importantes con contexto y justificación
    • system-patterns.md : Arquitectura y patrones de código utilizados en el proyecto
  2. Servidor MCP : proporciona herramientas y recursos para que los asistentes de IA interactúen con los bancos de memoria:
    • Se ejecuta como un proceso independiente
    • Se comunica con asistentes de IA a través del protocolo MCP
    • Proporciona un conjunto de herramientas para gestionar bancos de memoria.
  3. Sistema de modos : admite diferentes modos operativos:
    • code : Centrarse en la implementación del código
    • ask : centrarse en responder preguntas
    • architect : Enfoque en el diseño del sistema
    • debug : centrarse en los problemas de depuración
    • test : centrarse en las pruebas

Flujo de datos 🔄

  1. Inicialización : El asistente de IA se conecta al servidor MCP e inicializa un banco de memoria
  2. Llamadas de herramientas : el asistente de IA llama a las herramientas proporcionadas por el servidor MCP para leer/escribir archivos del banco de memoria
  3. Mantenimiento del contexto : el banco de memoria mantiene el contexto entre sesiones, lo que permite que la IA recuerde decisiones y avances anteriores.

Estructura del banco de memoria 📂

Los bancos de memoria utilizan una estructura estandarizada para organizar la información:

  • Contexto del producto : descripción general del proyecto, objetivos, tecnologías y arquitectura
  • Contexto activo : estado actual, tareas en curso, problemas conocidos y próximos pasos
  • Progreso : Registro cronológico de actualizaciones e hitos del proyecto
  • Registro de decisiones : Registro de decisiones importantes con contexto, alternativas y consecuencias.
  • Patrones del sistema : patrones de arquitectura, patrones de código y patrones de documentación

Funciones avanzadas 🚀

  • Comando UMB : Actualiza temporalmente los archivos del banco de memoria durante una sesión sin confirmar los cambios
  • Detección de modo : detecta y cambia automáticamente los modos según la entrada del usuario
  • Migración de archivos : herramientas para migrar entre diferentes convenciones de nombres de archivos
  • Estandarización del idioma : todos los archivos del banco de memoria se generan en inglés para mantener la coherencia.

Control de versiones 📌

Este proyecto sigue el control de versiones semántico y utiliza confirmaciones convencionales para los mensajes de confirmación. La versión se actualiza automáticamente y se genera un registro de cambios basado en los mensajes de confirmación cuando los cambios se fusionan en la rama principal.

  • La versión principal se actualiza cuando hay cambios importantes (mensajes de confirmación con BREAKING CHANGE o !: :)
  • La versión menor se actualiza cuando se agregan nuevas funciones (mensajes de confirmación con feat: o feat(scope): )
  • La versión del parche se actualiza con todos los demás cambios (corrección de errores, documentación, etc.)

Para ver el historial completo de cambios, consulte el archivo CHANGELOG.md .

Uso 📝

Como herramienta de línea de comandos 💻

# Initialize a Memory Bank memory-bank-mcp initialize_memory_bank path=./memory-bank # Track progress memory-bank-mcp track_progress action="Feature Implementation" description="Implemented feature X" # Log a decision memory-bank-mcp log_decision title="API Design" context="..." decision="..." # Switch mode memory-bank-mcp switch_mode mode=code

Como Biblioteca 📚

import { MemoryBankServer } from "@movibe/memory-bank-mcp"; // Create a new server instance const server = new MemoryBankServer(); // Start the server server.run().catch(console.error);

Contribuyendo 👥

Consulte CONTRIBUTING.md para obtener detalles sobre nuestro código de conducta y el proceso para enviar solicitudes de extracción.

Licencia 📄

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Sistema de estado del banco de memoria 🚦

El Banco de Memoria MCP implementa un sistema de prefijo de estado que proporciona visibilidad inmediata del estado operativo del Banco de Memoria:

Indicadores de estado

Cada respuesta de un asistente de IA que utiliza Memory Bank MCP comienza con uno de estos indicadores de estado:

  • [MEMORY BANK: ACTIVE] : El banco de memoria está disponible y se utiliza para proporcionar respuestas sensibles al contexto.
  • [MEMORY BANK: INACTIVE] : El banco de memoria no está disponible o no está configurado correctamente
  • [MEMORY BANK: UPDATING] : El banco de memoria se está actualizando actualmente (durante la ejecución del comando UMB)

Este sistema garantiza que los usuarios siempre sepan si el asistente de IA está operando con conocimiento total del contexto o con información limitada.

Beneficios

  • Transparencia : los usuarios siempre saben si la IA tiene acceso al contexto completo del proyecto.
  • Solución de problemas : hace que sea inmediatamente evidente cuando el banco de memoria no está configurado correctamente
  • Conciencia del contexto : ayuda a los usuarios a comprender por qué ciertas respuestas pueden carecer de contexto histórico.

Para obtener más detalles, consulte Sistema de prefijo de estado del banco de memoria .

ID: riei9a6dhx