项目简介
Memory MCP Server (Go) 是一个基于 Model Context Protocol (MCP) 构建的后端服务器,使用 Go 语言开发。它旨在为大型语言模型 (LLM) 应用提供持久化的知识图谱记忆能力。该服务器允许 LLM 客户端存储、检索和管理结构化的知识,从而在对话和会话之间保持上下文记忆。
主要功能点
- 知识图谱存储: 持久化存储实体及其关系,构建结构化知识库。
- 实体管理: 支持创建、读取、更新和删除实体,并可为实体添加类型和观测信息。
- 关系管理: 支持定义实体之间的关系,以主动语态描述关系类型。
- 观测记录: 记录关于实体的观测信息,随时间积累知识。
- 强大的搜索: 通过名称、类型或观测内容搜索相关实体。
- 持久化存储: 数据以 JSON 格式持久化存储在本地文件中。
- 灵活的传输模式: 支持 Stdio (标准输入/输出) 和 SSE (Server-Sent Events) 两种传输模式。
- 跨平台: 可在 Linux、macOS 和 Windows 上运行。
安装步骤
本服务器提供两种安装方式:下载预编译二进制文件或从源代码构建。
方式一:下载预编译二进制文件 (推荐)
- 访问 GitHub Releases 页面。
- 根据您的操作系统和处理器架构,下载对应的压缩包。
- 解压压缩包,您会得到一个名为 'memory-mcp-server-go' (或 'memory-mcp-server-go.exe' 在 Windows 上) 的可执行文件。
- 将该可执行文件移动到您系统的可执行路径中。例如,macOS/Linux 可以移动到 '~/.local/bin/',Windows 可以添加到系统环境变量 PATH 中。
方式二:从源代码构建
- 确保您的系统已安装 Go 1.20 或更高版本。
- 克隆仓库到本地:
git clone https://github.com/okooo5km/memory-mcp-server-go.git cd memory-mcp-server-go - 使用 'make' 命令构建项目:
构建成功后,可执行文件 'memory-mcp-server-go' (或 '.exe') 将在 '.build' 目录下生成。make build - 将 '.build' 目录下的可执行文件移动到您系统的可执行路径中,如 '~/.local/bin/'。
服务器配置
MCP 客户端需要配置服务器的启动命令才能连接到 Memory MCP Server。以下是配置示例 (JSON 格式),您需要将其添加到 MCP 客户端的配置文件中 (例如 Claude.app 或 Cursor):
{ "mcpServers": { "memory": { "command": "memory-mcp-server-go", "env": { "MEMORY_FILE_PATH": "/Path/Of/Your/memory.json" } } } }
配置参数说明:
- '"memory"': 服务器名称,可以自定义,用于在客户端中引用。
- '"command": "memory-mcp-server-go"': 服务器的启动命令,这里假设 'memory-mcp-server-go' 可执行文件已在系统的可执行路径中。
- '"env"': 环境变量配置。
- '"MEMORY_FILE_PATH": "/Path/Of/Your/memory.json"': 可选参数。知识图谱数据存储文件的路径。您可以自定义存储路径,例如 '/home/user/memory.json' 或 'C:\data\memory.json'。如果省略此参数,服务器将在可执行文件所在目录创建 'memory.json' 文件。
更多启动参数 (可选):
启动命令 'memory-mcp-server-go' 还支持以下命令行参数,您可以根据需要添加到客户端配置的 '"args"' 字段中:
- '-t sse' 或 '--transport sse': 使用 SSE (Server-Sent Events) 传输模式。默认使用 stdio 模式。 如果使用 SSE 模式,还需要配置端口号。
- '-p 9000' 或 '--port 9000': 指定 SSE 模式下的端口号,例如 '9000'。默认端口为 8080。
- '-m /custom/path/memory.json' 或 '--memory /custom/path/memory.json': 指定知识图谱数据存储文件的路径,与环境变量 'MEMORY_FILE_PATH' 作用相同,命令行参数优先级更高。
配置 SSE 传输模式示例:
如果您希望使用 SSE 传输模式,并自定义端口为 9000,可以将客户端配置修改为:
{ "mcpServers": { "memory": { "command": "memory-mcp-server-go", "args": ["-t", "sse", "-p", "9000"], "env": { "MEMORY_FILE_PATH": "/Path/Of/Your/memory.json" } } } }
基本使用方法
- 启动服务器: 在终端或命令提示符中运行 'memory-mcp-server-go' (或配置了参数的命令)。
- 配置客户端: 将上述提供的 JSON 配置添加到您的 MCP 客户端 (如 Claude.app 或 Cursor) 的配置文件中,确保 '"command"' 和 '"MEMORY_FILE_PATH"' 配置正确。
- 在 LLM 应用中使用: 在您的 LLM 应用中,通过 MCP 协议调用服务器提供的工具 (Tools) 来操作知识图谱。例如,使用 'create_entities' 工具创建实体,使用 'search_nodes' 工具搜索实体等。
详细的工具列表和参数说明请参考仓库 README 文档中的 "Available Tools" 部分。您可以在 System Prompt 中引导 LLM 使用这些工具,例如使用提供的 "Example System Prompt"。
信息
分类
数据库与文件