Optimized Memory Mcp Server

Optimized Memory Mcp Server

🚀 优化内存 MCP 服务器

本项目旨在测试和演示 Claude AI 的编程能力,以及展示良好的 AI 工作流程和提示设计。它是一个基于 Python 的本地知识图谱记忆 MCP 服务器(官方实现采用 Java 编写)的分支版本,使用 SQLite 作为后端数据库。

🚀 快速开始

在聊天开始时,Claude 会主动检索所有相关记忆,并以“正在回忆...”开头提示用户。在整个对话过程中,Claude 会注意收集新信息,并将其更新到知识图谱中。

✨ 主要特性

知识图谱内存服务器

实现了基本的知识图谱持久化内存功能,让 Claude 能够记住用户在聊天中的信息。

📦 安装指南

使用 Docker 进行构建:

docker build -t mcp/memory -f src/memory/Dockerfile .

💻 使用示例

基础用法

建议根据具体的使用场景调整提示内容,以便模型决定记忆的频率和类型。以下是一个用于聊天个性化的示例提示:

按照以下步骤进行每次交互:

1. 用户识别:
- 您应假设与 default_user 对话
- 如果尚未确定 default_user,请主动尝试识别。

2. 记忆检索:
- 总是从“正在回忆...”开始,从知识图谱中检索所有相关信息。
- 将知识图谱称为您的“记忆”。

3. 记忆内容:
- 在与用户交流时,注意收集以下类别的新信息:
a) 基本人格(年龄、性别、位置、职位、教育水平等)
b) 行为(兴趣、习惯等)
c) 偏好(沟通风格、首选语言等)
d) 目标(目标、目标、抱负等)
e) 关系(个人和专业关系,直到三度分离)

4. 更新记忆:
- 如果在交互中收集到任何新信息,请按照以下方式更新您的记忆:
a) 为反复出现的组织、人物和重要事件创建实体
b) 使用关系将它们与当前实体连接
c) 将有关它们的事实存储为观察结果

📚 详细文档

核心概念

实体

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

  • 唯一名称(标识符)
  • 实体型(例如,“人”,“组织”,“事件”)
  • 观察结果列表

示例:

{
"name": "John_Smith",
"entityType": "person",
"observations": ["会说流利的西班牙语"]
}

关系

关系定义了实体之间的定向连接。它们始终以主动语态存储,并描述实体如何相互作用或关联。

示例:

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

观察结果

观察结果是对实体的离散信息片段。它们是:

  • 以字符串形式存储
  • 附加到特定实体
  • 可以独立添加或删除
  • 应该是原子化的(每个观察结果表示一个事实)

示例:

{
"entityName": "John_Smith",
"observations": [
"会说流利的西班牙语",
"2019年毕业",
"喜欢早晨会议"
]
}

API

工具

实体管理
  • getEntities(): 获取所有实体。
  • addEntity(entity): 添加新实体。
  • updateEntity(entityId, updates): 更新指定实体的属性。
关系管理
  • getRelations(): 获取所有关系。
  • addRelation(relation): 添加新关系。
  • removeRelation(relationId): 删除指定关系。
观察结果管理
  • getObservations entityId: 获取指定实体的所有观察结果。
  • addObservation(entityId, observation): 添加新的观察结果到指定实体。
  • updateObservation(observationId, updates): 更新指定的观察结果。

📄 许可证

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

  • 0 关注
  • 0 收藏,31 浏览
  • system 提出于 2025-09-19 06:00

相似服务问题

相关AI产品