Skip to main content
Glama
skylarng89

CogMemory MCP Server

by skylarng89

CogMemory MCP Server

Ein einheitlicher Model Context Protocol-Server, der vier Kontext-Subsysteme für KI-Coding-Agenten bereitstellt:

  1. Memory — Entscheidungen, Konventionen, Fehler, aktiver Kontext, Änderungsprotokoll, Plan, Aufgaben, Sitzungen

  2. Knowledge Graph — Entitäten, Beziehungen, Beobachtungen

  3. Specs — Langdokumente (PRD/SRS), optional mit einer KG-Entität verknüpft

  4. Code Graph — statischer Strukturgraph (Symbole/Kanten) + benannte Ausführungsspuren + KI-generierte Annotationen

Speicher: SQLite über better-sqlite3. Eine .db-Datei pro Bereich.


Schnellstart

Installation

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

Konfiguration in VS Code

Fügen Sie zu .vscode/mcp.json hinzu (workspace-bezogen):

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

Oder fügen Sie es zu Ihrem Benutzer-mcp.json hinzu, um es global verfügbar zu machen.

Ausführen mit MCP Inspector (Entwicklung)

pnpm run inspect

Related MCP server: LumenCore

Bereichskonfiguration

CogMemory löst den Bereich in folgender Prioritätsreihenfolge auf:

  1. .cogmemory/config.json im Workspace-Root:

    { "scope": "global" }
  2. Umgebungsvariable: COGMEMORY_SCOPE=global

  3. Standard: workspace

Pfade

Bereich

Datenbankpfad

workspace

<workspace_root>/.cogmemory/memory.db

global

~/.cogmemory/global.db


Workspace-Auflösung und Multi-Root-Unterstützung

CogMemory löst das Workspace-Root (wo .cogmemory/memory.db liegt) in dieser Prioritätsreihenfolge auf:

  1. --workspace <path> CLI-Argument (höchste Priorität)

  2. COGMEMORY_WORKSPACE Umgebungsvariable

  3. Gehe vom CWD nach oben und suche nach dem nächsten übergeordneten Verzeichnis, das ein .cogmemory/-Verzeichnis enthält

  4. Fallback auf CWD

Multi-Root-VS-Code-Workspaces

In einem VS-Code-Multi-Root-Workspace ist jeder Ordner ein separates Workspace-Root. CogMemory behandelt dies wie folgt:

  • Single-Root — Funktioniert automatisch. VS Code setzt CWD auf den Workspace-Ordner, und --workspace wird über mcp.json übergeben.

  • Multi-Root — Jeder Workspace-Ordner kann ein eigenes .cogmemory/ haben. Weisen Sie jeden mit unterschiedlichen --workspace-Pfaden auf CogMemory zu, oder platzieren Sie ein gemeinsames .cogmemory/ in einem übergeordneten Verzeichnis.

Empfohlenes Multi-Root-mcp.json (pro Ordner):

{
  "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"
      ]
    }
  }
}

Oder verwenden Sie eine gemeinsame Datenbank (alle Roots an einem Ort):

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

Oder verwenden Sie den globalen Bereich, um über alle Workspaces zu teilen:

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

Tool-Referenz

Memory-Tools

Tool

Beschreibung

start_session

Eine Arbeitssitzung beginnen (gibt Sitzungs-ID zurück)

end_session

Sitzung schließen, Zusammenfassung speichern

get_session_summary

Sitzungsdetails abrufen, einschließlich Entscheidungen, Fehler, Changelog

remember_decision

Eine Entscheidung mit Begründung und Tags protokollieren

remember_convention

Eine Konvention protokollieren/aktualisieren (Design-Token, Muster, Stil, Benennung)

log_error

Einen Fehler mit Signatur und Lösung aufzeichnen

set_active_context

Aktuellen Fokus/Aufgabe per Schlüssel einfügen oder aktualisieren

get_active_context

Aktuellen Fokus per Schlüssel lesen

log_change

Changelog-Eintrag anhängen

add_plan_item

Roadmap-Element hinzufügen

update_plan_status

Status des Planelements ändern

create_task

Eine Aufgabe erstellen, optional mit einem Plan verknüpft

update_task_status

Aufgabenstatus ändern

recall

Einheitliche Suche über Entscheidungen/Konventionen/Fehler/Changelog

Knowledge-Graph-Tools

Tool

Beschreibung

create_entity

Entität hinzufügen (dedupliziert nach Name+Typ)

create_relation

Zwei Entitäten mit einer typisierten Beziehung verknüpfen

add_observation

Eine Tatsache an eine Entität anhängen

search_knowledge

Entitäten, Beziehungen, Beobachtungen abfragen

Specs-Tools

Tool

Beschreibung

create_spec

Ein Langdokument speichern

get_spec

Per ID oder exaktem Titel abrufen

update_spec

Inhalt/Titel aktualisieren, Version automatisch erhöhen

Code-Graph-Tools

Tool

Beschreibung

index_codebase

Workspace durchlaufen, Symbole + Kanten über ts-morph extrahieren (JS/TS)

query_code_graph

Aufrufer/Aufgerufene/Importe eines Symbols nachschlagen (1-Hop)

generate_codemap

BFS vom Einstiegssymbol, begrenzter Teilgraph mit optionalen Spuren + Annotationen

annotate_symbol

Erzählenden Text an ein Symbol oder eine Spur anhängen


Architektur

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

Schema (15 Tabellen)

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

  • Knowledge Graph (3): entities, relations, observations

  • Specs (1): specs

  • Code Graph (4): symbols, edges, execution_traces, codemap_annotations


Pragmas

Bei jeder Verbindungsöffnung gesetzt:

PRAGMA journal_mode = WAL;
PRAGMA foreign_keys = ON;

Entwicklung

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

Lizenz

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