Skip to main content
Glama
GennoBou

GNB MemoryMCP

by GennoBou

GNB MemoryMCP

Ein anbieterunabhängiger, persönlicher Gedächtnisspeicher (MCP-Server), der von mehreren LLMs und KI-Agenten (ChatGPT, Claude, Claude Code, Gemini, Antigravity usw.) gemeinsam referenziert und aktualisiert werden kann.

Dieses Projekt ist in Go implementiert und wurde so konzipiert, dass es sowohl in lokalen Umgebungen (SQLite) als auch in Produktionsumgebungen (AWS Lambda + Turso / libSQL) nahtlos umschalten kann.


Merkmale

  • Gemeinsame Gedächtnisnutzung zwischen mehreren LLMs: Ohne an einen bestimmten Anbieter gebunden zu sein, können Ihre Einstellungen, Projektkontexte und Ihr Wissen an alle KIs weitergegeben werden.

  • Unterstützt zwei Arten lokaler Verbindungen:

    1. HTTP-Server-Modus: Startet auf einem bestimmten Port und ermöglicht den Zugriff mehrerer Clients. Die Authentifizierung erfolgt über Authorization: Bearer <API_KEY>.

    2. Standard-Ein-/Ausgabe (stdio)-Modus: Öffnet keinen Port, sondern führt die Binärdatei direkt aus und kommuniziert mit MCP-Clients wie Claude Desktop.

  • Volltextsuche (FTS5): Unterstützt schnelle und leichte Volltextsuche mit SQLites FTS5.

  • Schema-Persistenz: Da tags und metadata als JSON gespeichert werden, können zukünftige interne Implementierungen wie Vektorsuche oder Zusammenfassungs-Batches weiterentwickelt werden, ohne die API-Spezifikation zu ändern.


Related MCP server: engram

Verzeichnisstruktur

  • cmd/gnb-memorymcp/: Einstiegspunkt für die lokale integrierte Binärdatei (Modi server / stdio)

  • cmd/lambda/: Einstiegspunkt für den AWS Lambda-Start

  • pkg/auth/: Bearer-Authentifizierung, JWT-Validierung und CIMD-Client-ID-Erkennung

  • pkg/domain/: Schnittstellendefinitionen für das Gedächtnismodell und den Datenbankspeicher

  • pkg/infra/sqlite/: Implementierung der DB-Speicherung, Volltextsuche (FTS5) und Trigger-Synchronisation mit SQLite / libSQL

  • pkg/mcp/: Handler für die Ausführung von MCP-Tools gemäß JSON-RPC 2.0


Installationsmethoden

Installation mit Scoop (Windows empfohlen)

# バケットの追加
scoop bucket add gnb-bucket https://github.com/GennoBou/scoop-bucket

# インストール
scoop install gnb-memorymcp

Build aus dem Quellcode

# 全部入りバイナリ(ローカル用)のビルド
go build -o bin/gnb-memorymcp.exe ./cmd/gnb-memorymcp/main.go

Verwendung

1. Konfigurationsbeispiel für den Standard-Ein-/Ausgabe (stdio)-Modus

Dies ist die einfachste Methode, MCP lokal zu betreiben. Registrieren Sie die Binärdatei direkt in der Konfigurationsdatei des verbindenden Clients (Claude Desktop, Antigravity, OpenCode usw.). Durch explizites Übergeben von stdio als erstem Argument wird der Standard-Ein-/Ausgabe-Modus gestartet.

A. Für Claude Desktop

Konfigurationsdatei: AppData\Roaming\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "gnb-memorymcp": {
      "command": "gnb-memorymcp.exe",
      "args": ["stdio", "--db-url", "file:D:/Data/Projects/GitHub/gnb-memorymcp/data/local_v2.db"]
    }
  }
}

B. Für Antigravity

Konfigurationsdatei: ~/.gemini/antigravity-cli/settings.json (Windows: C:\Users\<Benutzername>\.gemini\antigravity-cli\settings.json)

{
  "mcpServers": {
    "gnb-memorymcp": {
      "command": "gnb-memorymcp.exe",
      "args": ["stdio", "--db-url", "file:D:/Data/Projects/GitHub/gnb-memorymcp/data/local_v2.db"]
    }
  }
}

C. Für OpenCode

Konfigurationsdatei: ~/.config/opencode/opencode.jsonc

{
  "mcp": {
    "gnb-memorymcp": {
      "type": "local",
      "enabled": true,
      "command": [
        "gnb-memorymcp.exe",
        "stdio",
        "--db-url",
        "file:D:/Data/Projects/GitHub/gnb-memorymcp/data/local_v2.db"
      ]
    }
  }
}

Nachdem die Konfiguration übernommen wurde, starten Sie den entsprechenden Client neu. Die Gedächtnis-Tools (z. B. memory_create) werden automatisch geladen und sind nutzbar.


2. HTTP-Server-Modus (lokales SQLite)

Starten Sie den HTTP-Server lokal oder auf einem anderen Gerät, um auf die lokale SQLite-Datenbank zuzugreifen. Übergeben Sie server als erstes Argument zum Starten. Aus Sicherheitsgründen wird standardmäßig an den lokalen Host (127.0.0.1) gebunden.

Startmethode (PowerShell)

  • Methode 1: Start mit Kommandozeilenargumenten

    # ローカルホストからのみ接続可能として起動 (APIキーが未指定の場合は自動的に 'dev-key' が使われます)
    ./bin/gnb-memorymcp.exe server --port 8080 --db-url "file:data/local_v2.db"
    
    # 外部ネットワークに公開して起動 (--host 0.0.0.0 指定時は、安全な独自の --api-key 設定が必須)
    ./bin/gnb-memorymcp.exe server --host 0.0.0.0 --port 8080 --api-key "your-secure-secret-key" --db-url "file:data/local_v2.db"
  • Methode 2: Start mit Umgebungsvariablen

    $env:HOST="127.0.0.1"
    $env:API_KEY="your-secret-key"
    $env:PORT="8080"
    $env:DB_URL="file:data/local_v2.db"
    ./bin/gnb-memorymcp.exe server

Anfragemethode vom Client

  • URL: http://localhost:8080/

  • Methode: POST

  • Erforderlicher Header: Authorization: Bearer your-secret-key

  • Anforderungstext (JSON-RPC 2.0):

    {
      "jsonrpc": "2.0",
      "method": "tools/list",
      "id": 1
    }

3. Lokaler HTTP + Turso-Modus (Cloud-DB-Verbindung)

Starten Sie den HTTP-Server lokal und lassen Sie die Datenbank nur auf das entfernte Turso (libSQL) verweisen.

Startmethode (PowerShell)

  • Methode 1: Start mit Kommandozeilenargumenten ※ Aus Sicherheitsgründen wird empfohlen, DB_TOKEN als Umgebungsvariable zu setzen.

    $env:DB_TOKEN="your-turso-auth-token"
    ./bin/gnb-memorymcp.exe server --port 8080 --api-key "your-secret-key" --db-url "libsql://your-database-name-username.turso.io"
  • Methode 2: Start mit Umgebungsvariablen

    $env:API_KEY="your-secret-key"
    $env:PORT="8080"
    $env:DB_URL="libsql://your-database-name-username.turso.io"
    $env:DB_TOKEN="your-turso-auth-token"
    ./bin/gnb-memorymcp.exe server

4. AWS Lambda + Turso-Modus (Produktions-Cloud-Betrieb)

Eine serverlose Bereitstellung auf AWS Lambda mit Verbindung zu Turso.

  • Einstiegspunkt: cmd/lambda/main.go

  • Unterstützt ein Ein-Kommando-Build- und Bereitstellungsskript (npm run build-and-deploy-lambda) und eine SAM-Vorlage (template.yaml).

Ausführliche Bereitstellungsschritte finden Sie im AWS Lambda + Turso-Bereitstellungshandbuch.


Spezifikation der bereitgestellten MCP-Tools

GNB MemoryMCP bietet die folgenden 10 Tools.

Toolname

Beschreibung

Hauptargumente

memory_create

Speichert eine neue Erinnerung (max. 10.000 Zeichen, max. 10 Tags, Wichtigkeit 0–10).

content, source_tool, tags, importance, metadata

memory_search

Hybride Abfrage mit japanischem FTS5-Trigramm und LIKE. Neubewertung nach Wichtigkeit und Aktualität.

query, top_k (max. 50)

memory_list

Ruft eine Liste der Erinnerungen ab. Unterstützt Sortierung und Paginierung.

source_tool, tag, limit (max. 100), offset, sort_by, order

memory_get

Ruft eine Erinnerung anhand der ID ab.

id

memory_update

Aktualisiert eine vorhandene Erinnerung differenziell (unterstützt Löschung durch leere Werte und optimistisches Sperren).

id, content, source_tool, tags, importance, metadata

memory_delete

Löscht eine nicht mehr benötigte Erinnerung physisch anhand der ID.

id

memory_status

Überprüft die Gesamtzahl der Datenbankeinträge und die Notwendigkeit einer Bereinigung.

Keine

memory_consolidate

Extrahiert leichtgewichtige Paare möglicherweise doppelter oder widersprüchlicher Erinnerungen (beschleunigte Ähnlichkeitssuche).

limit (max. 50), offset

memory_cleanup_complete

Zeichnet den Abschluss der Bereinigung auf und aktualisiert das Datum der letzten Bereinigung.

Keine

tags_list

Ruft eine Liste aller bisher registrierten eindeutigen Tags ab.

Keine

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides persistent memory capabilities for AI agents using Mem0, enabling storage, search, and management of contextual information across conversations with support for multiple backends and LLM providers.
    18
    32 PyPI
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A self-hosted MCP server that provides a personal semantic memory layer for AI tools. It enables storing, searching, and managing memories using hybrid vector and keyword search, allowing AI assistants to recall information by meaning.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A lightweight MCP server that provides long-term memory for LLMs by storing and retrieving important facts, decisions, and preferences through smart semantic search and automatic organization.
    12
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    A persistent memory server for AI agents using MCP protocol, enabling semantic storage and retrieval of dialogues, documents, and agent states.
    -