使用说明
存储库MCP服务器
生产准备就绪 模型上下文协议(MCP) 该服务器为AI代理提供了一个强大的矢量原生内存库。与 协议格子Go代理框架,此服务器通过多个数据库后端提供持久、可搜索和可共享的内存。
- 服务器名称:
memory-bank-mcp - 版本:
0.1.0
特性
-
多个矢量存储后端:将记忆保存在您喜欢的数据库中。
- 在存储器中:用于快速测试和临时存储。
- PostgreSQL:使用
pgvector扩展。 - Qdrant:一个专门的矢量数据库。
- MongoDB:使用Atlas矢量搜索。
-
丰富的内存管理:
- 短期缓冲:在将记忆提交长期存储之前,暂时存储会话的记忆。
- 长期持久性:嵌入和存储记忆,以便跨会话进行语义检索。
- 上下文检索:根据查询提取相关记忆,结合短期和长期结果。
-
共享内存与“空间”:
- 创建共享内存“空间”,多个代理或用户可以在其中协作。
- 细粒度访问控制(ACL)
reader,writer,以及admin角色。 - 为赠款和空间提供生存时间(TTL)支持。
-
动态嵌入:用途
AutoEmbedder从Go代理框架中,允许您通过环境变量(例如OpenAI、Gemini、本地模型)配置嵌入模型。
配置
使用环境变量配置服务器。
存储器
集 MEMORY_STORE 到其中一个 inmemory, postgres, qdrant,或 mongo.
- PostgreSQL:
export MEMORY_STORE="postgres" export POSTGRES_DSN="postgres://user:pass@host:port/db?sslmode=disable" - Qdrant:
export MEMORY_STORE="qdrant" export QDRANT_URL="http://localhost:6333" export QDRANT_COLLECTION="memories" export QDRANT_API_KEY="..." # Optional - MongoDB:
export MEMORY_STORE="mongo" export MONGO_URI="mongodb+srv://..." export MONGO_DATABASE="main" export MONGO_COLLECTION="memories"
其他设置
SHORT_TERM_SIZE:每个会话的短期缓冲区中的最大项目数。(默认值:20)DEFAULT_SPACE_TTL_SEC:空格的默认TTL(秒)。(默认值:86400/24小时)
嵌入模型
服务器使用 AutoEmbedder,尊重 ADK_EMBED_* Go Agent框架中的环境变量。例如,要使用Gemini:
export ADK_EMBED_PROVIDER="gemini"
export ADK_EMBED_MODEL="text-embedding-004"
export GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
快速开始
go install github.com/Protocol-Lattice/memory-bank-mcp@latest
# Run the server (defaults to stdio transport)
memory-bank-mcp
可用的MCP工具
服务器提供了一套全面的内存操作工具。
磁心存储器
health.ping:检查服务器是否正在运行。memory.embed:获取一段文本的向量嵌入。memory.add_short:向会话的短期缓冲区添加内存。memory.flush:将会话的短期缓冲区持久化到长期向量存储中。memory.store_long:直接将内存嵌入并存储在长期存储中。memory.retrieve_context:从会话中检索查询的相关记忆。
空间(共享内存)
spaces.upsert:使用TTL和ACL创建或更新共享空间。spaces.grant:授予角色(reader,writer,admin)给校长一个空间。spaces.revoke:撤销校长对空间的访问权限。spaces.list:列出主体可以访问的所有空间。
共享会话
shared.join:使校长的会话视图包含特定空间。shared.leave:从主体的会话视图中删除空格。shared.add_short_to:将短期记忆直接添加到共享空间。shared.retrieve:从主体的合并视图(本地+连接空间)中检索记忆。
MCP配置:
{
"servers": {
"memory-bank": {
"command": "/usr/local/bin/memory-bank-mcp",
"args": ["-transport", "http", "-addr", ":8080"]
}
},
"inputs": []
}
诊断
engine.metrics:获取内存引擎性能指标的快照。