Claude本地知识图谱持久记忆
为克劳德实现了一个使用本地知识图谱的持久内存,允许人工智能在对话之间记住有关用户的信息,并且可以自定义存储位置。
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
服务介绍
知识图谱内存服务器
这是一个改进的持久化内存实现,使用本地知识图谱,并且可以自定义内存路径。
这使得 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文件。