使用说明

项目简介

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"]'。

基本使用方法

  1. 启动服务器: 根据上述配置,启动 MCP 服务器。 如果使用 'npx' 方式,客户端会自动启动服务器。 如果手动运行 'node index.js', 则需要先手动启动服务器。
  2. 配置 MCP 客户端: 在 MCP 客户端(如 Claude Desktop)的配置文件中,添加上述服务器配置。
  3. 在 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 应用提供持久化的知识记忆能力。

信息

分类

数据库与文件