Skip to main content
Glama
GennoBou

GNB MemoryMCP

by GennoBou

GNB MemoryMCP

Независимый от вендора персональный слой памяти (MCP-сервер), доступный для совместного использования и обновления из нескольких LLM и AI-агентов (ChatGPT, Claude, Claude Code, Gemini, Antigravity и др.).

Этот проект реализован на Go и спроектирован для бесшовной работы как в локальной среде (SQLite), так и в продакшене (AWS Lambda + Turso / libSQL).


Особенности

  • Общая память между несколькими LLM: ваши настройки, контекст проекта и знания передаются всем AI без привязки к конкретному вендору.

  • Поддержка двух типов локального подключения:

    1. Режим HTTP-сервера: запускается на указанном порту, доступен для нескольких клиентов. Аутентификация через Authorization: Bearer <API_KEY>.

    2. Режим стандартного ввода/вывода (stdio): без открытия порта, бинарник напрямую запускается и общается с MCP-клиентами, такими как Claude Desktop.

  • Полнотекстовый поиск (FTS5): быстрый и лёгкий полнотекстовый поиск с использованием SQLite FTS5.

  • Постоянство схемы: tags и metadata хранятся в формате JSON, что позволяет в будущем развивать внутреннюю реализацию (векторный поиск, пакетное извлечение и т.д.) без изменения API.


Структура каталогов

  • cmd/gnb-memorymcp/: точка входа для локального интегрированного бинарника (режимы server / stdio)

  • cmd/lambda/: точка входа для запуска в AWS Lambda

  • pkg/auth/: аутентификация Bearer, проверка JWT и определение клиентского ID CIMD

  • pkg/domain/: модель памяти и определение интерфейса хранилища базы данных

  • pkg/infra/sqlite/: реализация хранения в SQLite / libSQL, полнотекстового поиска (FTS5) и синхронизации триггеров

  • pkg/mcp/: обработчик выполнения MCP-инструментов, соответствующий JSON-RPC 2.0


Установка

Установка через Scoop (рекомендуется для Windows)

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

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

Сборка из исходного кода

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

Использование

1. Пример настройки режима стандартного ввода/вывода (stdio)

Самый простой способ запустить MCP локально. Зарегистрируйте бинарник напрямую в файле конфигурации клиента (Claude Desktop, Antigravity, OpenCode и др.). Явно передайте stdio в качестве первого аргумента для запуска в режиме стандартного ввода/вывода.

A. Для Claude Desktop

Файл конфигурации: 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. Для Antigravity

Файл конфигурации: ~/.gemini/antigravity-cli/settings.json (для Windows: C:\Users\<имя_пользователя>\.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. Для OpenCode

Файл конфигурации: ~/.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"
      ]
    }
  }
}

После применения конфигурации перезапустите соответствующий клиент. Инструменты памяти (например, memory_create) автоматически загрузятся и станут доступны.


2. Режим HTTP-сервера (локальный SQLite)

Запустите HTTP-сервер локально или на другом устройстве, используя локальную базу данных SQLite. Передайте server в качестве первого аргумента. По соображениям безопасности по умолчанию сервер привязывается к локальному хосту (127.0.0.1).

Способ запуска (PowerShell)

  • Способ 1: указание параметров в командной строке

    # ローカルホストからのみ接続可能として起動 (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"
  • Способ 2: указание через переменные окружения

    $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

Как отправлять запросы от клиента

  • URL: http://localhost:8080/

  • Метод: POST

  • Обязательный заголовок: Authorization: Bearer your-secret-key

  • Тело запроса (JSON-RPC 2.0):

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

3. Локальный HTTP + режим Turso (облачная БД)

Запустите локальный HTTP-сервер, но используйте удалённую базу данных Turso (libSQL).

Способ запуска (PowerShell)

  • Способ 1: указание параметров в командной строке ※ Рекомендуется устанавливать DB_TOKEN через переменную окружения для безопасности.

    $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"
  • Способ 2: указание через переменные окружения

    $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 (облачный продакшн)

Разверните бессерверное решение на AWS Lambda, взаимодействующее с Turso.

  • Точка входа: cmd/lambda/main.go

  • Поддерживаются скрипт сборки и развёртывания одной командой (npm run build-and-deploy-lambda) и шаблон SAM (template.yaml).

Подробные инструкции по развёртыванию см. в документации по развёртыванию AWS Lambda + Turso.


Спецификация предоставляемых MCP-инструментов

GNB MemoryMCP предоставляет следующие 10 инструментов.

Имя инструмента

Описание

Основные аргументы

memory_create

Сохраняет новую память (максимум 10 000 символов, до 10 тегов, важность от 0 до 10).

content, source_tool, tags, importance, metadata

memory_search

Гибридный поиск с использованием японского FTS5 trigram и LIKE. Повторное ранжирование по важности и свежести.

query, top_k (максимум 50)

memory_list

Получение списка памяти. Поддерживает сортировку и пагинацию.

source_tool, tag, limit (максимум 100), offset, sort_by, order

memory_get

Получение одной записи памяти по ID.

id

memory_update

Обновляет существующую память (поддерживает удаление пустыми значениями, оптимистичную блокировку).

id, content, source_tool, tags, importance, metadata

memory_delete

Физически удаляет ненужную память по ID.

id

memory_status

Проверяет общее количество записей в БД и необходимость очистки.

Нет

memory_consolidate

Выполняет лёгкое извлечение пар потенциально дублирующихся или противоречивых записей (ускоряет обход по схожести).

limit (максимум 50), offset

memory_cleanup_complete

Записывает завершение очистки и обновляет дату последней очистки.

Нет

tags_list

Получает список уникальных тегов, зарегистрированных до сих пор.

Нет

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.

  • Your memory, everywhere AI goes. Build knowledge once, access it via MCP anywhere.

  • Person-owned, portable AI memory as a remote MCP server, readable and writable by any MCP client.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/GennoBou/gnb-memorymcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server