Skip to main content
Glama
skylarng89

CogMemory MCP Server

by skylarng89

Servidor MCP de CogMemory

Un servidor unificado del Model Context Protocol que proporciona cuatro subsistemas de contexto para agentes de codificación de IA:

  1. Memoria — decisiones, convenciones, errores, contexto activo, changelog, plan, tareas, sesiones

  2. Grafo de conocimiento — entidades, relaciones, observaciones

  3. Especificaciones — documentos extensos (PRD/SRS), opcionalmente vinculados a una entidad del grafo de conocimiento

  4. Grafo de código — grafo estructural estático (símbolos/aristas) + trazas de ejecución con nombre + anotaciones generadas por IA

Almacenamiento: SQLite mediante better-sqlite3. Un archivo .db por ámbito.


Inicio rápido

Instalación

git clone <repo> && cd cogmemory-mcp
pnpm install
pnpm run build

Configuración en VS Code

Añade a .vscode/mcp.json (con ámbito de espacio de trabajo):

{
  "servers": {
    "cogmemory": {
      "command": "node",
      "args": ["/absolute/path/to/cogmemory-mcp/dist/index.js"]
    }
  }
}

O añádelo a tu mcp.json de usuario para disponibilidad global.

Ejecutar con MCP Inspector (dev)

pnpm run inspect

Related MCP server: LumenCore

Configuración del ámbito

CogMemory resuelve el ámbito en orden de prioridad:

  1. .cogmemory/config.json en la raíz del espacio de trabajo:

    { "scope": "global" }
  2. Variable de entorno: COGMEMORY_SCOPE=global

  3. Predeterminado: workspace

Rutas

Ámbito

Ruta de la base de datos

workspace

<workspace_root>/.cogmemory/memory.db

global

~/.cogmemory/global.db


Resolución del espacio de trabajo y soporte multi-raíz

CogMemory resuelve la raíz del espacio de trabajo (donde reside .cogmemory/memory.db) en este orden de prioridad:

  1. Argumento de CLI --workspace <path> (prioridad más alta)

  2. Variable de entorno COGMEMORY_WORKSPACE

  3. Sube desde el CWD buscando el padre más cercano que contenga un directorio .cogmemory/

  4. Respaldo al CWD

Espacios de trabajo multi-raíz de VS Code

En un espacio de trabajo multi-raíz de VS Code, cada carpeta es una raíz de espacio de trabajo independiente. CogMemory gestiona esto:

  • Raíz única — Funciona automáticamente. VS Code establece el CWD en la carpeta del espacio de trabajo y --workspace se pasa mediante mcp.json.

  • Multi-raíz — Cada carpeta del espacio de trabajo puede tener su propio .cogmemory/. Apunta cada una a CogMemory con diferentes rutas --workspace, o coloca un .cogmemory/ compartido en un directorio padre.

mcp.json multi-raíz recomendado (por carpeta):

{
  "servers": {
    "cogmemory-frontend": {
      "command": "node",
      "args": [
        "/path/to/cogmemory-mcp/dist/index.js",
        "--workspace",
        "/path/to/frontend"
      ]
    },
    "cogmemory-backend": {
      "command": "node",
      "args": [
        "/path/to/cogmemory-mcp/dist/index.js",
        "--workspace",
        "/path/to/backend"
      ]
    }
  }
}

O usa una base de datos compartida (todas las raíces en un solo lugar):

{
  "servers": {
    "cogmemory": {
      "command": "node",
      "args": [
        "/path/to/cogmemory-mcp/dist/index.js",
        "--workspace",
        "/shared/root"
      ]
    }
  }
}

O usa el ámbito global para compartir entre todos los espacios de trabajo:

{
  "servers": {
    "cogmemory": {
      "command": "node",
      "args": ["/path/to/cogmemory-mcp/dist/index.js"]
    }
  }
}
export COGMEMORY_SCOPE=global

Referencia de herramientas

Herramientas de memoria

Herramienta

Descripción

start_session

Inicia una sesión de trabajo (devuelve el ID de sesión)

end_session

Cierra la sesión y almacena el resumen

get_session_summary

Recupera los detalles de la sesión, incluidas decisiones, errores y changelog

remember_decision

Registra una decisión con justificación y etiquetas

remember_convention

Registra/actualiza una convención (token de diseño, patrón, estilo, nomenclatura)

log_error

Registra un error con firma y resolución

set_active_context

Inserta o actualiza el enfoque/tarea actual por clave

get_active_context

Lee el enfoque actual por clave

log_change

Añade una entrada al changelog

add_plan_item

Añade un elemento a la hoja de ruta

update_plan_status

Cambia el estado del elemento del plan

create_task

Crea una tarea, opcionalmente vinculada a un plan

update_task_status

Cambia el estado de la tarea

recall

Búsqueda unificada en decisiones/convenciones/errores/changelog

Herramientas del grafo de conocimiento

Herramienta

Descripción

create_entity

Añade una entidad (deduplicada por nombre+tipo)

create_relation

Vincula dos entidades con una relación tipada

add_observation

Adjunta un hecho a una entidad

search_knowledge

Consulta entidades, relaciones y observaciones

Herramientas de especificaciones

Herramienta

Descripción

create_spec

Almacena un documento extenso

get_spec

Recupera por ID o título exacto

update_spec

Actualiza contenido/título, incrementa la versión automáticamente

Herramientas del grafo de código

Herramienta

Descripción

index_codebase

Recorre el espacio de trabajo, extrae símbolos + aristas mediante ts-morph (JS/TS)

query_code_graph

Consulta los llamadores/llamados/importaciones de un símbolo (1 salto)

generate_codemap

BFS desde el símbolo de entrada, subgrafo acotado con trazas y anotaciones opcionales

annotate_symbol

Adjunta texto narrativo a un símbolo o traza


Arquitectura

cogmemory-mcp/
├── src/
│   ├── index.ts                 # entry point, server bootstrap
│   ├── config.ts                # scope resolution, path resolution
│   ├── types.ts                 # shared TS types mirroring schema
│   ├── db/
│   │   ├── connection.ts        # DB open/close, pragma setup
│   │   ├── schema.sql           # full schema (reference)
│   │   └── migrate.ts           # idempotent schema application
│   ├── tools/
│   │   ├── memory.ts            # decisions/conventions/errors/context/changelog/recall
│   │   ├── plan-tasks.ts        # plan + tasks tools
│   │   ├── sessions.ts          # start/end session, summary
│   │   ├── knowledge-graph.ts   # entities/relations/observations
│   │   ├── specs.ts             # spec CRUD
│   │   ├── code-graph.ts        # index_codebase, query_code_graph
│   │   └── codemap.ts           # generate_codemap, annotate_symbol
│   └── indexing/
│       ├── ts-analyzer.ts       # ts-morph symbol/edge extraction
│       └── walker.ts            # file discovery, gitignore respect
├── schema.sql                   # reference copy
├── package.json
├── tsconfig.json
└── README.md

Esquema (15 tablas)

  • Memoria (8): sessions, decisions, conventions, errors, context, changelog, plan, tasks

  • Grafo de conocimiento (3): entities, relations, observations

  • Especificaciones (1): specs

  • Grafo de código (4): symbols, edges, execution_traces, codemap_annotations


Pragmas

Se establecen en cada apertura de conexión:

PRAGMA journal_mode = WAL;
PRAGMA foreign_keys = ON;

Desarrollo

pnpm run dev        # Run with tsx (no build step)
pnpm run build      # Compile TypeScript
pnpm run start      # Run compiled output
pnpm run inspect    # Launch MCP Inspector
pnpm run smoke-test # Run smoke test script

Licencia

MIT

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI coding assistants with persistent project memory to retain architectural decisions, code patterns, and domain knowledge across sessions. It stores data locally in a SQLite database, allowing agents to remember, recall, and manage project-specific context using full-text search.
    8 npm
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Provides persistent cross-session memory and full-text search for AI coding assistants, storing project context, decisions, and preferences while enabling searchable access to conversation history via local SQLite.
    8
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Acts as a persistent memory and cross-tool shared context store, and builds a queryable codebase knowledge graph to slash token usage via structural answers.
    9
    37 npm
    19
    MIT