Skip to main content
Glama
GennoBou

GNB MemoryMCP

by GennoBou

GNB MemoryMCP

从多个LLM和AI代理(ChatGPT、Claude、Claude Code、Gemini、Antigravity等)共通引用和更新的、供应商无关的个人记忆层(MCP服务器)。

本项目使用Go实现,设计为在本地环境(SQLite)和生产环境(AWS Lambda + Turso / libSQL)之间无缝切换运行。


特点

  • 跨多个LLM共享记忆:不会被特定供应商锁定,您可以在所有AI之间延续您的设置、项目上下文和知识。

  • 支持两种本地连接方式

    1. HTTP服务器模式:指定端口启动,多个客户端可访问。认证使用 Authorization: Bearer <API_KEY>

    2. 标准输入输出(stdio)模式:不打开端口,直接通过Claude Desktop等MCP客户端执行二进制文件并进行通信。

  • 全文搜索(FTS5):使用SQLite的FTS5实现高速轻量文本全文搜索。

  • 模式持久性tagsmetadata以JSON格式存储,因此无需更改API规范即可在将来演进向量搜索或摘要批处理等内部实现。


目录结构

  • cmd/gnb-memorymcp/:本地集成二进制文件(server / stdio模式)的入口点

  • cmd/lambda/:AWS Lambda启动入口点

  • pkg/auth/:Bearer认证、JWT验证以及CIMD客户端ID判定

  • pkg/domain/:记忆模型和数据库存储的接口定义

  • pkg/infra/sqlite/:SQLite / libSQL实现的数据库存储、全文搜索(FTS5)、触发器同步

  • pkg/mcp/:符合JSON-RPC 2.0的MCP工具执行处理程序


安装方法

通过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