GNB MemoryMCP
GNB MemoryMCP
Независимый от вендора персональный слой памяти (MCP-сервер), доступный для совместного использования и обновления из нескольких LLM и AI-агентов (ChatGPT, Claude, Claude Code, Gemini, Antigravity и др.).
Этот проект реализован на Go и спроектирован для бесшовной работы как в локальной среде (SQLite), так и в продакшене (AWS Lambda + Turso / libSQL).
Особенности
Общая память между несколькими LLM: ваши настройки, контекст проекта и знания передаются всем AI без привязки к конкретному вендору.
Поддержка двух типов локального подключения:
Режим HTTP-сервера: запускается на указанном порту, доступен для нескольких клиентов. Аутентификация через
Authorization: Bearer <API_KEY>.Режим стандартного ввода/вывода (stdio): без открытия порта, бинарник напрямую запускается и общается с MCP-клиентами, такими как Claude Desktop.
Полнотекстовый поиск (FTS5): быстрый и лёгкий полнотекстовый поиск с использованием SQLite FTS5.
Постоянство схемы:
tagsиmetadataхранятся в формате JSON, что позволяет в будущем развивать внутреннюю реализацию (векторный поиск, пакетное извлечение и т.д.) без изменения API.
Related MCP server: engram
Структура каталогов
cmd/gnb-memorymcp/: точка входа для локального интегрированного бинарника (режимыserver/stdio)cmd/lambda/: точка входа для запуска в AWS Lambdapkg/auth/: аутентификация Bearer, проверка JWT и определение клиентского ID CIMDpkg/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 инструментов.
Имя инструмента | Описание | Основные аргументы |
| Сохраняет новую память (максимум 10 000 символов, до 10 тегов, важность от 0 до 10). |
|
| Гибридный поиск с использованием японского FTS5 trigram и LIKE. Повторное ранжирование по важности и свежести. |
|
| Получение списка памяти. Поддерживает сортировку и пагинацию. |
|
| Получение одной записи памяти по ID. |
|
| Обновляет существующую память (поддерживает удаление пустыми значениями, оптимистичную блокировку). |
|
| Физически удаляет ненужную память по ID. |
|
| Проверяет общее количество записей в БД и необходимость очистки. | Нет |
| Выполняет лёгкое извлечение пар потенциально дублирующихся или противоречивых записей (ускоряет обход по схожести). |
|
| Записывает завершение очистки и обновляет дату последней очистки. | Нет |
| Получает список уникальных тегов, зарегистрированных до сих пор. | Нет |
This server cannot be deployed
Maintenance
Related MCP Connectors
An MCP memory server. One memory your agents share — across models, devices and apps.
Persistent memory, knowledge graph, task management and more for AI agents via MCP.
Persistent personal memory for AI assistants — save, search, and recall across every MCP client.
Persistent memory for AI agents to retain, retrieve, and recall conversation context through MCP.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn 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.1832 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceA 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
- AlicenseNot gradedqualityCmaintenanceA 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.12MIT
- FlicenseNot gradedqualityBmaintenanceA persistent memory server for AI agents using MCP protocol, enabling semantic storage and retrieval of dialogues, documents, and agent states.-