forked https://github.com/modelcontextprotocol/servers/tree/main
使用本地知识图谱实现的一种持久化内存的基本实现。这使得Claude能够在多个聊天中记住关于用户的信息。
实体是知识图谱中的主要节点。每个实体包含:
示例:
{
"name": "John_Smith",
"entityType": "person",
"observations": ["讲流利的西班牙语"]
}
关系定义了实体之间的有向连接。它们总是以主动语态存储,并描述实体之间如何交互或关联。
示例:
{
"from": "John_Smith",
"to": "Anthropic",
"relationType": "在...工作"
}
观察是对实体的离散信息片段。它们:
示例:
{
"entityName": "John_Smith",
"observations": [
"讲流利的西班牙语",
"于2019年毕业",
"喜欢早晨会议"
]
}
创建实体
entities(对象数组)
name(字符串):实体标识符entityType(字符串):类型分类observations(字符串数组):相关观察创建关系
relations(对象数组)
from(字符串):源实体名称to(字符串):目标实体名称relationType(字符串):主动语态的关系类型添加观察
observations(对象数组)
entityName(字符串):目标实体contents(字符串数组):要添加的新观察删除实体
entityNames(字符串数组)删除观察
deletions(对象数组)
entityName(字符串):目标实体observations(字符串数组):要删除的观察删除关系
relations(对象数组)
from(字符串):源实体名称to(字符串):目标实体名称relationType(字符串):关系类型读取图谱
搜索节点
query(字符串)
打开节点
names(字符串数组)将以下内容添加到您的claude_desktop_config.json:
{
"mcpServers": {
"memory": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/memory"]
}
}
}
{
"mcpServers": {
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}
服务器可以通过以下环境变量进行配置:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
],
"env": {
"MEMORY_FILE_PATH": "/path/to/custom/memory.json"
}
}
}
}
MEMORY_FILE_PATH:内存存储JSON文件的路径(默认:服务器目录中的memory.json)利用记忆的提示取决于使用场景。更改提示有助于模型确定创建记忆的频率和类型。
这是一个用于聊天个性化示例提示。您可以在Claude.ai项目的“自定义指令”字段中使用此提示。
遵循以下步骤进行每次互动:
1. 用户识别:
- 您应假设与default_user交互
- 如果尚未识别default_user,请积极尝试识别。
2. 记忆检索:
- 开始聊天时,仅说“正在回忆...”并从您的知识图谱中检索所有相关信息
- 总是将您的知识图谱称为您的“记忆”
- 当搜索您的记忆时,您可以使用多个关键词来查找相关信息
- 示例搜索:
* 单一概念:“编程”
* 相关概念:“编程 Python”
* 具体领域及角色:“工作 工程师”
3. 记忆创建:
- 在与用户的对话中,注意任何符合以下类别的新信息:
a) 基本身份(年龄、性别、位置、职位、教育水平等)
b) 行为(兴趣、习惯等)
c) 偏好(沟通风格、首选语言等)
d) 目标(目标、目标、抱负等)
e) 关系(个人和职业关系,最多三度分离)
- 存储信息时,使用具体的描述性关键词,以便未来搜索
4. 记忆更新:
- 如果在互动期间收集了任何新信息,请按以下方式更新您的记忆:
a) 为反复出现的组织、人员和重要事件创建实体
b) 使用关系将它们连接到当前实体
c) 将有关他们的事实作为观察存储
d) 使用清晰且可搜索的术语在实体名称和观察中,以便未来检索
Docker:
docker build -t mcp/memory -f src/memory/Dockerfile .
此MCP服务器根据MIT许可证授权。这意味着您可以自由地使用、修改和分发软件,但需遵守MIT许可证的条款和条件。更多详情,请参阅项目仓库中的LICENSE文件。