项目简介
Jakey MCP Memory Server 是 Jakey AI 助手的核心记忆组件。它提供了一个独立的HTTP服务,用于存储和检索用户的持久化记忆(如偏好、事实等),并管理LLM可以调用的各种外部工具。它通过HTTP API进行通信,确保LLM客户端可以获取必要的上下文信息并执行外部功能。这个服务器是为支持大型语言模型(LLM)实现记忆能力和外部功能扩展而设计的。
主要功能点
- 用户记忆存储与检索: 安全地存储和检索特定用户的偏好、对话上下文、重要事实等信息。
- 记忆搜索功能: 支持对用户记忆进行关键词搜索,帮助LLM快速定位相关信息。
- 记忆删除功能: 允许删除特定类型或全部用户记忆,便于隐私管理和数据清理。
- 健康检查: 提供 '/health' 端点,确保服务正常运行和可达性。
- 工具管理: 提供了LLM可以调用的丰富工具集,包括网络搜索、加密货币价格查询、数学计算、图像生成和分析、设置提醒以及多种Discord操作等。这些工具通过函数调用的方式向LLM客户端暴露。
- API鉴权: 采用Bearer Token进行身份验证,确保记忆数据和工具调用的安全。
安装步骤
- 克隆仓库: 打开您的终端或命令行工具,执行以下命令将Jakey仓库克隆到本地:
git clone https://github.com/brokechubb/Jakey.git cd Jakey - 安装依赖: 进入项目目录后,安装所需的Python依赖包:
pip install -r requirements.txt - 配置环境变量:
复制 '.env.example' 文件并将其重命名为 '.env'。然后,使用文本编辑器打开 '.env' 文件,并确保将 'MCP_MEMORY_ENABLED' 设置为 'true'。您还可以根据需要配置其他API密钥,例如用于加密货币查询、AI模型等。
cp .env.example .env # 编辑 .env 文件,设置 MCP_MEMORY_ENABLED=true
服务器配置
MCP服务器会自动选择一个可用端口并生成一个认证令牌。MCP客户端需要这些信息才能连接。以下是MCP客户端可以使用的配置示例(此JSON格式仅供参考,您的MCP客户端可能需要以不同的方式处理这些信息):
{ "server_name": "Jakey_MCP_Memory_Server", "command": "python", "args": [ "tools/mcp_memory_server.py" ], "env": { "MCP_MEMORY_ENABLED": "true" }, "description": "Jakey AI助手的记忆与工具服务。它提供HTTP API,管理LLM的会话上下文、用户偏好和可调用的外部工具。", "notes": "启动MCP服务器后,它会在运行目录下(即Jakey仓库的根目录)自动生成两个文件:.mcp_port(包含服务器正在监听的端口号,如8501)和.mcp_token(包含用于API调用的Bearer认证令牌)。MCP客户端需要从这些文件中读取端口和令牌,或者通过环境变量(MCP_MEMORY_TOKEN)获取令牌,以便正确地连接和认证。请确保客户端具备访问这些文件或环境变量的权限。如果使用Docker或PM2部署,请查阅Jakey仓库的部署文档以获取更详细的配置和管理说明。" }
基本使用方法
- 启动MCP Memory Server:
在项目根目录下,您可以运行以下脚本来启动MCP Memory Server:
服务器启动后,会在终端显示其监听的端口号和认证令牌。同时,它会将端口号写入项目根目录下的 '.mcp_port' 文件,并将认证令牌写入 '.mcp_token' 文件。./scripts/start_mcp_server.sh # 或者直接运行 Python 脚本 python tools/mcp_memory_server.py - MCP客户端连接:
您的MCP客户端(例如 Jakey Discord Bot 或其他基于LLM的应用)将读取 '.mcp_port' 和 '.mcp_token' 文件来获取服务器地址和认证信息。客户端将使用这些信息向 MCP 服务器的 HTTP API 发送请求,例如:
- 向 'http://localhost:<port>/memories' 发送带有 'Authorization: Bearer <token>' 头部的 'POST' 请求来存储用户记忆。
- 向 'http://localhost:<port>/memories?user_id=<user_id>' 发送 'GET' 请求来检索用户记忆。
- 通过工具调用机制,触发 MCP 服务器中定义的各种外部工具,从而扩展LLM的能力。
- (可选)停止服务器: 在运行服务器的终端中,您可以按下 'Ctrl+C' 来优雅地停止服务器。服务器关闭时,会自动清理生成的 '.mcp_port' 和 '.mcp_token' 文件。
信息
分类
AI与计算