使用说明
项目简介
Knowledge Graph Memory Server 是一个 MCP (Model Context Protocol) 服务器的实现,它使用本地知识图谱来提供持久化记忆功能。这意味着它可以让像 Claude 这样的 LLM 应用记住用户在多次对话中的信息。该服务器基于 Model Context Protocol 标准构建,可以与任何兼容 MCP 协议的客户端(如 Claude)配合使用。
主要功能点
- 持久化知识存储: 使用本地文件存储知识图谱,实现跨会话的记忆保持。
- 实体、关系和观测: 使用知识图谱的基本概念来组织和存储信息,支持实体、关系和观测的创建、删除和查询。
- 结构化数据: 以结构化的方式存储信息,方便 LLM 理解和利用上下文。
- 工具化API: 提供一系列工具 (Tools) API,例如 'create_entities', 'create_relations', 'add_observations', 'read_graph', 'search_nodes' 等,允许 LLM 通过调用这些工具来操作知识图谱。
- 可定制的存储路径: 允许用户自定义知识图谱数据存储的路径。
安装步骤
该项目可以直接通过 'npx' 运行,无需复杂的安装步骤。您只需要确保安装了 Node.js 和 npm (或 npx)。
服务器配置
要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)连接,您需要在客户端的配置文件中指定服务器的启动命令和参数。以下是针对 'claude_desktop_config.json' 的配置示例:
{ "mcpServers": { "memory": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-memory" ] } } }
配置参数说明:
- server name: 'memory' (服务器名称,可以自定义,用于在客户端配置中引用)
- command: 'npx' (Node Package Execute,用于执行 npm 包)
- args: 启动参数,是一个字符串数组,包含以下内容:
- '-y': (参数) 自动确认执行 npm 包
- '@modelcontextprotocol/server-memory': (参数) 实际执行的 npm 包名,这里使用了官方 Memory Server 的包名,但实际上该仓库代码是基于 'index.ts' 文件运行,而不是依赖 '@modelcontextprotocol/server-memory' 包。 因此,更准确的配置应该指向仓库的入口文件。 为了更贴合实际仓库,并假设用户希望直接运行该仓库的代码,应修改为直接运行 'index.ts' 文件,但这通常需要用户先下载仓库代码并进入目录,使用 'node index.js' 命令启动。 然而,按照仓库 README 中的配置,它仍然沿用了 '@modelcontextprotocol/server-memory' 的配置方式。 为了符合仓库提供的 Usage with Claude Desktop 部分的配置,并考虑到用户可能期望直接使用 'npx' 运行,我们仍然保留 '@modelcontextprotocol/server-memory' 的配置,但需要用户注意,这实际上可能需要一些调整才能真正运行该仓库的代码,因为该仓库的代码结构与 '@modelcontextprotocol/server-memory' 可能不完全一致。 最佳实践是,用户应该首先下载仓库代码,然后在仓库目录下使用 'node index.js' 运行服务器,并根据实际情况调整 'claude_desktop_config.json' 中的配置,例如将 'command' 设置为 'node', 'args' 设置为 'index.js'。
自定义 Memory Path:
如果您想自定义知识图谱数据存储的路径,可以使用 '--memory-path' 参数:
{ "mcpServers": { "memory": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-memory", "--memory-path", "/path/to/your/memory.jsonl" ] } } }
- '--memory-path': (可选参数) 指定 'memory.jsonl' 文件的存储路径,默认为服务器安装目录。 请将 '/path/to/your/memory.jsonl' 替换为您希望的实际路径。
请注意: 以上配置是基于仓库提供的 'README.md' 中的 "Usage with Claude Desktop" 部分生成的。 实际使用时,可能需要根据您的具体环境和需求进行调整。 特别是关于 'command' 和 'args' 的配置,如果直接使用 'npx @modelcontextprotocol/server-memory' 可能无法直接运行该仓库的代码。 最稳妥的方式是先下载该仓库代码,然后在本地运行 'node index.js',并相应地调整客户端配置以连接到本地运行的服务器。 例如,如果本地运行 'node index.js', 客户端配置可以尝试修改为 '"command": "node"', '"args": ["index.js"]'。
基本使用方法
- 启动服务器: 根据上述配置,启动 MCP 服务器。 如果使用 'npx' 方式,客户端会自动启动服务器。 如果手动运行 'node index.js', 则需要先手动启动服务器。
- 配置 MCP 客户端: 在 MCP 客户端(如 Claude Desktop)的配置文件中,添加上述服务器配置。
- 在 LLM 应用中使用: 在您的 LLM 应用(例如 Claude 的 Custom Instructions 中),您可以编写 Prompt 指示 LLM 使用 'memory' 服务器提供的工具来存储和检索信息。 例如,可以使用 'read_graph' 工具来获取当前知识图谱的内容,使用 'create_entities' 或 'create_relations' 工具来更新知识图谱。 仓库的 'README.md' 中提供了 System Prompt 的示例,您可以参考该示例来指导 LLM 如何使用 memory server。
示例 Prompt (参考 README.md):
Follow these steps for each interaction: 1. User Identification: ... 2. Memory Retrieval: - Always begin your chat by saying only "Remembering..." and retrieve all relevant information from your knowledge graph - Always refer to your knowledge graph as your "memory" 3. Memory: ... (定义需要记忆的信息类别) 4. Memory Update: ... (指导 LLM 如何更新记忆)
通过以上步骤,您就可以使用 Knowledge Graph Memory Server 为您的 LLM 应用提供持久化的知识记忆能力。
信息
分类
数据库与文件