C

Claude本地知识图谱持久记忆

@itseasy21/mcp-knowledge-graph
0 Stars 568 次浏览 itseasy21 更新于 2026-08-23

为克劳德实现了一个使用本地知识图谱的持久内存,允许人工智能在对话之间记住有关用户的信息,并且可以自定义存储位置。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "memory": {
      "args": [
        "-y",
        "@itseasy21/mcp-knowledge-graph"
      ],
      "command": "npx",
      "env": {
        "MEMORY_FILE_PATH": "/path/to/your/memory.jsonl"
      }
    }
  }
}

该服务需要配置环境变量:MEMORY_FILE_PATH

服务介绍

知识图谱内存服务器

smithery 徽章

这是一个改进的持久化内存实现,使用本地知识图谱,并且可以自定义内存路径。

这使得 Claude 能够在多次聊天中记住用户的信息。

[!NOTE]
这是原始 内存服务器 的一个分支版本,并且不打算使用临时内存 npx 安装方法。

服务器名称

mcp-knowledge-graph

服务器名称屏幕截图

读取功能

核心概念

实体

实体是知识图谱中的主要节点。每个实体包含:

  • 唯一的名称(标识符)
  • 实体类型(例如,“人”、“组织”、“事件”)
  • 观察列表
  • 创建日期和版本跟踪

版本跟踪功能有助于维护知识随时间演变的历史上下文。

示例:

{
  "name": "John_Smith",
  "entityType": "person",
  "observations": ["Speaks fluent Spanish"]
}

关系

关系定义了实体之间的有向连接。它们总是以主动语态存储,并描述实体之间如何相互作用或关联。每个关系包括:

  • 源实体和目标实体
  • 关系类型
  • 创建日期和版本信息

此版本控制系统有助于跟踪实体间关系随时间的变化。

示例:

{
  "from": "John_Smith",
  "to": "Anthropic",
  "relationType": "works_at"
}

观察

观察是对实体的具体信息片段。它们:

  • 以字符串形式存储
  • 附加到特定实体
  • 可以独立添加或移除
  • 应该是原子性的(每条观察只包含一个事实)

示例:

{
  "entityName": "John_Smith",
  "observations": [
    "Speaks fluent Spanish",
    "Graduated in 2019",
    "Prefers morning meetings"
  ]
}

API

工具


- **create_entities**
  - 在知识图谱中创建多个新实体
  - 输入: `entities` (对象数组)
    - 每个对象包含:
      - `name` (字符串): 实体标识符
      - `entityType` (字符串): 类型分类
      - `observations` (字符串数组): 关联的观察
  - 忽略已存在的实体名称

- **create_relations**
  - 在实体之间创建多个新的关系
  - 输入: `relations` (对象数组)
    - 每个对象包含:
      - `from` (字符串): 源实体名称
      - `to` (字符串): 目标实体名称
      - `relationType` (字符串): 主动语态的关系类型
  - 跳过重复的关系

- **add_observations**
  - 向现有实体添加新的观察
  - 输入: `observations` (对象数组)
    - 每个对象包含:
      - `entityName` (字符串): 目标实体
      - `contents` (字符串数组): 要添加的新观察
  - 返回每个实体添加的观察
  - 如果实体不存在则失败

- **delete_entities**
  - 删除实体及其关系
  - 输入: `entityNames` (字符串数组)
  - 级联删除关联的关系
  - 如果实体不存在则静默操作

- **delete_observations**
  - 从实体中移除特定的观察
  - 输入: `deletions` (对象数组)
    - 每个对象包含:
      - `entityName` (字符串): 目标实体
      - `observations` (字符串数组): 要移除的观察
  - 如果观察不存在则静默操作

- **delete_relations**
  - 从图中移除特定的关系
  - 输入: `relations` (对象数组)
    - 每个对象包含:
      - `from` (字符串): 源实体名称
      - `to` (字符串): 目标实体名称
      - `relationType` (字符串): 关系类型
  - 如果关系不存在则静默操作

- **read_graph**
  - 读取整个知识图谱
  - 不需要输入
  - 返回包含所有实体和关系的完整图结构

- **search_nodes**
  - 根据查询搜索节点
  - 输入: `query` (字符串)
  - 搜索范围:
    - 实体名称
    - 实体类型
    - 观察内容
  - 返回匹配的实体及其关系

- **open_nodes**
  - 按名称检索特定节点
  - 输入: `names` (字符串数组)
  - 返回:
    - 请求的实体
    - 请求实体之间的关系
  - 静默跳过不存在的节点

## 使用 Cursor、Cline 或 Claude Desktop

### 设置

将以下内容添加到您的 mcp.json 或 claude_desktop_config.json 中:

#4



### 通过 Smithery 安装

要通过 [Smithery](https://link.1) 自动为 Claude Desktop 安装 Knowledge Graph Memory Server:

#5



### 自定义内存路径

您可以使用两种方式指定内存文件的自定义路径:

1. 使用命令行参数:

#6



2. 使用环境变量:

#7



如果未指定路径,默认会使用服务器安装目录中的 memory.jsonl。

### 系统提示

利用记忆的提示取决于使用场景。更改提示将有助于模型确定创建的记忆的频率和类型。

这里是一个用于聊天个性化的示例提示。您可以在[Claude.ai 项目](https://link.2)的“自定义指令”字段中使用此提示。

#8



## 许可

本MCP服务器根据MIT许可证授权。这意味着您可以自由地使用、修改和分发该软件,但需遵守MIT许可证的条款和条件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。

相关 MCP 服务