项目简介
AutoMem是一个强大的图向量记忆服务,旨在为AI助手提供类似于人类的长期记忆能力。它结合了知识图谱和向量数据库的优势,能够存储具有丰富元数据、重要性评分和时间上下文的记忆,并通过混合搜索(向量相似度、关键词、标签、时间)进行高效召回,并自动构建知识图谱、学习模式。
此仓库包含一个使用Node.js实现的MCP SSE服务器,作为AutoMem核心服务(一个Python Flask应用)与LLM客户端之间的桥梁,使得大语言模型能够通过标准MCP协议访问AutoMem的记忆能力。
主要功能点
- 记忆存储 (store_memory): 将新的上下文信息、决策、模式等作为记忆存储到AutoMem核心服务中。
- 记忆召回 (recall_memory): 根据查询内容(文本、嵌入向量)、时间范围或标签,从AutoMem核心服务中检索相关记忆。支持混合语义搜索和关键词搜索。
- 记忆关联 (associate_memories): 在AutoMem核心服务中的记忆之间创建特定类型的关系,如“导致”、“偏好于”、“发生于之前”等,以构建丰富的知识图谱。
- 记忆更新 (update_memory): 修改AutoMem核心服务中现有记忆的内容、标签、元数据或重要性。
- 记忆删除 (delete_memory): 从AutoMem核心服务中移除不再需要的记忆。
- 数据库健康检查 (check_database_health): 查询AutoMem核心服务的运行状态和数据存储情况。
安装步骤
在配置和启动AutoMem MCP SSE服务器之前,您需要先部署AutoMem核心服务。
-
克隆仓库:
git clone https://github.com/verygoodplugins/automem.git cd automem -
部署 AutoMem 核心服务 (推荐二选一):
-
Option 1: 使用 Railway (云部署) 这是推荐的部署方式,可以在60秒内将AutoMem核心服务及其依赖(FalkorDB, Qdrant)部署到云端。
npm i -g @railway/cli railway login railway init railway up部署完成后,您将获得一个可公开访问的AutoMem核心服务URL和一个API认证令牌。请记下这些信息,稍后配置MCP SSE服务器时会用到。
-
Option 2: 本地使用 Docker Compose 在本地启动AutoMem核心服务及其依赖(FalkorDB, Qdrant)。
make dev这将启动所有服务。AutoMem核心服务的API地址通常为 'http://localhost:8001'。
-
-
配置和启动 MCP SSE 服务器:
- 进入MCP SSE服务器目录:
cd mcp-sse-server - 安装 Node.js 依赖:
npm install - 配置环境变量:
MCP SSE服务器需要知道AutoMem核心服务的地址和认证信息。创建一个名为 '.env' 的文件在 'mcp-sse-server' 目录下,并填写以下内容。请务必替换为您的实际值。
# AutoMem核心服务的HTTP端点。例如:http://localhost:8001 或 Railway部署的URL。 AUTOMEM_ENDPOINT="http://127.0.0.1:8001" # AutoMem核心服务的API认证令牌。这是访问AutoMem核心服务所必需的。 # 例如:AUTOMEM_API_TOKEN="your_automem_api_token"。 AUTOMEM_API_TOKEN="your_automem_api_token" # MCP SSE服务器将监听的端口。默认通常为8080。 PORT=8080 - 启动 MCP SSE 服务器:
服务器将默认在 'http://localhost:8080' 上运行。如果需要更改端口,请修改 '.env' 文件中的 'PORT' 变量。node server.js
- 进入MCP SSE服务器目录:
MCP客户端配置 (JSON格式)
为了让LLM客户端能够连接并使用AutoMem MCP SSE服务器,您需要在LLM客户端中进行如下配置。请根据您的实际部署情况替换 'command' 路径、'AUTOMEM_ENDPOINT'、'AUTOMEM_API_TOKEN' 和 'http_endpoint'。
{ "server_name": "AutoMem MCP Server", "command": "node", "args": [ "/path/to/your/automem/mcp-sse-server/server.js" ], "env": { "AUTOMEM_ENDPOINT": "http://127.0.0.1:8001", "AUTOMEM_API_TOKEN": "YOUR_AUTOMEM_API_TOKEN", "PORT": "8080" }, "http_endpoint": "http://127.0.0.1:8080/mcp/sse", "description": "通过MCP SSE协议与AutoMem记忆服务通信,提供记忆存储、召回、关联等工具。" }
配置参数注释:
- 'server_name': 在MCP客户端界面中显示的服务器名称,便于识别。
- 'command': 用于启动MCP SSE服务器进程的命令。此处为 'node'。
- 'args': 传递给 'command' 的参数列表。这里是 'mcp-sse-server/server.js' 脚本的绝对路径。请确保路径与您的实际部署一致。
- 'env': 环境变量,用于配置MCP SSE服务器在启动时连接到AutoMem核心服务和监听端口。
- 'AUTOMEM_ENDPOINT': AutoMem核心服务的HTTP地址。如果AutoMem核心服务部署在本地,通常为 'http://127.0.0.1:8001'。如果是云端部署,则是对应的URL。
- 'AUTOMEM_API_TOKEN': AutoMem核心服务所需的API认证令牌。
- 'PORT': MCP SSE服务器将监听的端口。确保该端口在防火墙中开放。
- 'http_endpoint': MCP客户端连接到MCP SSE服务器的入口URL。格式为 'http://<服务器IP或域名>:<端口>/mcp/sse'。
- 'description': 对该MCP服务器功能的简要描述,帮助LLM客户端用户理解其用途。
基本使用方法
一旦MCP客户端成功配置并与AutoMem MCP SSE服务器建立连接,大语言模型就可以通过MCP协议与AutoMem进行交互。LLM将根据服务器声明的工具定义(例如 'store_memory'、'recall_memory')自动生成调用这些工具的指令。用户可以通过与LLM的对话,间接利用AutoMem的强大记忆能力。
信息
分类
AI与计算