使用说明

项目简介

本项目 'mcp-knowledge-graph' 是一个 MCP (Model Context Protocol) 服务器的实现,它使用本地知识图谱来为大型语言模型(LLM)提供持久化记忆功能。通过构建实体、关系和观察,服务器能够存储和检索用户或会话相关的上下文信息,使得 LLM 可以在多次交互中记住用户的偏好、历史等,从而实现更个性化和连贯的对话体验。该服务器设计为与 MCP 客户端(如 Claude Desktop)配合使用。

主要功能点

  • 知识图谱存储: 使用本地 JSONL 文件 ('memory.jsonl') 持久化存储实体、关系和观察数据,构成知识图谱。
  • 实体和关系管理: 支持创建、删除和搜索实体,以及创建和删除实体之间的关系。
  • 观察记录: 允许为实体添加和删除观察信息,记录实体的属性和特征。
  • 多种操作工具: 提供丰富的 API 工具,包括创建实体 ('create_entities')、创建关系 ('create_relations')、添加观察 ('add_observations')、删除实体 ('delete_entities')、删除观察 ('delete_observations')、删除关系 ('delete_relations')、读取完整图谱 ('read_graph')、搜索节点 ('search_nodes') 和打开节点 ('open_nodes')。
  • 可定制的存储路径: 允许用户通过配置参数自定义知识图谱数据文件的存储路径。

安装步骤

由于这是一个基于 'npx' 运行的 MCP 服务器,通常无需显式安装步骤。您需要确保已安装 Node.js 和 npm 环境。当 MCP 客户端(如 Claude Desktop)尝试连接此服务器时,'npx' 会自动下载并运行 '@modelcontextprotocol/server-memory' 包。

服务器配置

要将此 MCP 服务器配置到 MCP 客户端(例如 Claude Desktop),您需要在客户端的配置文件中指定服务器的启动命令和参数。以下是针对 Claude Desktop 的 'claude_desktop_config.json' 文件的配置示例:

基础配置:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory"
      ]
    }
  }
}
  • 'command': 启动服务器的命令,这里使用 'npx'。
  • 'args': 传递给 'npx' 的参数列表。
    • '-y': 自动确认 'npx' 的安装提示。
    • '@modelcontextprotocol/server-memory': 指定要执行的 npm 包,实际上仓库代码是fork自 '@modelcontextprotocol/server-memory' 并进行了知识图谱的改进,仓库名称为 'mcp-knowledge-graph',但配置中仍然沿用了原始的包名。

自定义存储路径配置: 如果您想自定义 'memory.jsonl' 文件的存储路径,可以使用 '--memory-path' 参数:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-memory",
        "--",
        "--memory-path",
        "/path/to/your/custom/memory.jsonl"
      ]
    }
  }
}
  • '--memory-path /path/to/your/custom/memory.jsonl': 指定自定义的 'memory.jsonl' 文件路径。请将 '/path/to/your/custom/memory.jsonl' 替换为您希望使用的实际路径。

基本使用方法

  1. 配置 MCP 客户端: 根据上述“服务器配置”部分,将相应的 JSON 配置添加到您的 MCP 客户端配置文件中。
  2. 启动 MCP 客户端: 启动配置好的 MCP 客户端(例如 Claude Desktop)。客户端将根据配置自动连接到 'mcp-knowledge-graph' 服务器。
  3. 在 Prompt 中使用记忆: 在与 LLM 的交互过程中,您可以使用预设的 Prompt 指示 LLM 如何利用知识图谱记忆。仓库的 'README.md' 文件中提供了一个示例 Prompt,您可以参考该示例来指导 LLM 进行用户识别、记忆检索和记忆更新操作。例如,可以使用类似 "Remembering..." 的指令触发 LLM 从知识图谱中检索信息。

通过以上步骤,您就可以利用 'mcp-knowledge-graph' 服务器为您的 LLM 应用提供持久化的知识图谱记忆功能。

信息

分类

数据库与文件