mcp-knowledge-graph
知识图谱记忆服务器
这是一种改进的持久化内存实现,使用本地知识图谱,并且支持自定义 --memory-path
。
这使得AI模型能够在不同的聊天中记住用户的信息。它适用于任何支持Model Context Protocol (MCP) 或函数调用功能的AI模型。
[!NOTE]
这是原始 Memory Server 的一个分支,旨在不使用临时内存的npx安装方法。
mcp-knowledge-graph
实体是知识图谱中的主要节点。每个实体具有:
示例:
{
"name": "John_Smith",
"entityType": "person",
"observations": ["会说流利的西班牙语"]
}

关系定义了实体之间的有向连接。它们始终以主动语态存储,描述实体如何互动或相关。
示例:
{
"from": "John_Smith",
"to": "ExampleCorp",
"relationType": "works_at"
}

观察是关于实体的离散信息。它们是:
示例:
{
"entityName": "John_Smith",
"observations": [
"会说流利的西班牙语",
"2019年毕业",
"喜欢早上的会议"
]
}

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
(字符串数组)此服务器可与任何支持Model Context Protocol (MCP)或函数调用功能的AI平台一起使用,包括Claude、GPT、Llama等。
将此添加到您的claude_desktop_config.json中:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": [
"-y",
"mcp-knowledge-graph",
"--memory-path",
"/Users/shaneholloman/Dropbox/shane/db/memory.jsonl"
],
"autoapprove": [
"create_entities",
"create_relations",
"add_observations",
"delete_entities",
"delete_observations",
"delete_relations",
"read_graph",
"search_nodes",
"open_nodes"
]
},
}
}

任何支持函数调用或MCP标准的AI平台都可以连接到此服务器。具体配置取决于平台,但服务器通过MCP接口公开标准工具。
您可以指定内存文件的自定义路径:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": [
"-y",
"mcp-knowledge-graph",
"--memory-path",
"/Users/shaneholloman/Dropbox/shane/db/memory.jsonl"
],
"autoapprove": [
"create_entities",
"create_relations",
"add_observations",
"delete_entities",
"delete_observations",
"delete_relations",
"read_graph",
"search_nodes",
"open_nodes"
]
},
}
}

如果未指定路径,则默认为服务器安装目录中的memory.jsonl。
利用内存的提示取决于使用案例和您使用的AI模型。更改提示将帮助模型确定创建记忆的频率和类型。
以下是一个可以适应任何AI模型的聊天个性化提示示例。对于Claude用户,您可以在Claude.ai项目的“自定义指令”字段中使用此提示。对于其他模型,请将其适应各自的指令格式。
对于每次互动,请按照以下步骤操作: 1. 用户识别: - 您应假设您正在与default_user进行交互 - 如果尚未识别default_user,请主动尝试识别。 2. 记忆检索: - 始终以“Remembering...”开始聊天,并从知识图谱中检索所有相关信息 - 始终将您的知识图谱称为“memory” 3. 记忆收集: - 在与用户交谈时,注意任何属于以下类别的新信息: a) 基本身份(年龄、性别、位置、职位、教育水平等) b) 行为(兴趣、习惯等) c) 偏好(沟通风格、首选语言等) d) 目标(目标、靶向、抱负等) e) 关系(个人和职业关系,最多3度分离) 4. 记忆更新: - 如果在互动期间收集到任何新信息,请按以下方式更新记忆: a) 为重复出现的组织、人员和重大事件创建实体 b) 使用关系将它们与当前实体连接 c) 将关于它们的事实存储为观察
此服务器实现了Model Context Protocol (MCP)标准,使其与任何支持函数调用的AI模型兼容。知识图谱结构和API与模型无关,允许与各种AI平台灵活集成。
要与其他模型集成:
此MCP服务器根据MIT许可证授权。这意味着您可以自由使用、修改和分发软件,但需遵守MIT许可证的条款和条件。有关更多详情,请参阅项目存储库中的LICENSE文件。