使用说明

项目简介

Knowledge Graph Memory Server 是一个基于 Model Context Protocol (MCP) 的服务器实现,它使用本地知识图谱来为大型语言模型(LLM)提供持久化的记忆功能。该服务器不仅能够存储和检索用户的对话信息,还能通过 Lesson 系统帮助 LLM 从过去的错误中学习和改进,从而提升 LLM 在跨会话场景下的用户体验和问题解决能力。

主要功能点

  • 持久化记忆: 使用本地知识图谱存储实体、关系和观察,实现用户和信息的长期记忆。
  • 知识图谱管理: 提供丰富的工具 (Tools) 用于创建、读取、更新和删除知识图谱中的实体和关系。
  • 错误学习 (Lesson): 引入 Lesson 概念,允许 LLM 记录和学习错误模式、解决方案以及验证步骤,提升错误处理能力。
  • Lesson 推荐: 能够根据上下文推荐相关的 Lessons,帮助 LLM 快速找到并应用已学习的解决方案。
  • 文件管理: 自动处理和分割 'memory.json' 和 'lesson.json' 数据文件,优化性能和可维护性。
  • 事务管理: 支持事务操作,确保数据读写的一致性和可靠性。
  • 缓存机制: 内置缓存管理,提高数据访问效率。

安装步骤

  1. 克隆仓库
    git clone https://github.com/T1nker-1220/memories-with-lessons-mcp-server
    cd memories-with-lessons-mcp-server
  2. 安装依赖
    pnpm install
  3. 构建项目
    pnpm build
  4. 启动服务器
    node /path/to/仓库目录/dist/index.js
    请将 '/path/to/仓库目录/dist/index.js' 替换为实际的 'index.js' 文件路径。

服务器配置

MCP客户端 (如 Cursor 或 Claude) 需要配置 MCP 服务器的启动命令才能连接。以下是一些常用的配置示例,您可以根据需要选择合适的配置添加到客户端的配置文件中(例如 Claude 桌面应用的 'claude_desktop_config.json'):

使用 Node.js 直接启动 (需要指定 'index.js' 的绝对路径)

{
  "mcpServers": {
    "memory": {
      "command": "node",
      "args": ["/path/to/仓库目录/dist/index.js"] // 请替换为 index.js 文件的实际路径
    }
  }
}

使用 NPX 启动 (简化启动命令,但可能需要预先全局安装 '@modelcontextprotocol/server-memory')

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}

使用 NPX 启动并自定义数据文件路径

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ],
      "env": {
        "MEMORY_FILE_PATH": "/path/to/custom/memory.json" // 可选:自定义 memory.json 文件路径
      }
    }
  }
}

配置参数说明:

  • 'server name': "memory" (服务器名称,可以自定义)
  • 'command': 服务器启动命令,例如 "node" 或 "npx"。
  • 'args': 启动参数,根据 'command' 不同而变化。
    • 使用 "node" 时,需要指定 'index.js' 文件的绝对路径。
    • 使用 "npx" 时,通常使用 '["-y", "@modelcontextprotocol/server-memory"]'。
  • 'env': (可选) 环境变量,用于配置服务器行为。例如,'MEMORY_FILE_PATH' 可以自定义数据文件的存储路径。

注意: 请根据您的实际环境和需求选择合适的配置,并确保路径配置正确。

基本使用方法

配置完成后,MCP客户端(如 Cursor 或 Claude)即可连接到此服务器。LLM 可以通过调用预设的工具 (Tools) 来操作知识图谱,例如:

  • 存储用户偏好: 使用 'create_entities', 'create_relations', 'add_observations' 等工具记录用户的兴趣、习惯等信息。
  • 查询相关信息: 使用 'search_nodes', 'open_nodes', 'read_graph' 等工具检索知识图谱中的信息,为 LLM 提供上下文。
  • 学习错误解决方案: 使用 'create_lesson', 'find_similar_errors', 'get_lesson_recommendations' 等工具,让 LLM 学习和应用错误解决方案。

具体的工具调用和使用方式取决于客户端的功能设计以及 Prompt 的引导。您可以参考仓库 'README.md' 文件中 "API" 和 "New Tools" 部分,了解每个工具的详细功能和使用方法。

提示: 为了充分利用记忆服务器的功能,您可能需要在 Prompt 中引导 LLM 如何有效地使用这些工具进行记忆存储和检索。仓库 'README.md' 文件中 "System Prompt" 部分提供了一个用于聊天个性化的 Prompt 示例,您可以参考并根据自己的应用场景进行调整。

信息

分类

AI与计算