Knowledge Graph Memory Server
这个 MCP 服务器通过利用本地知识图谱来记住用户在交互过程中的信息,从而为聊天应用程序提供持久性内存集成。
Tools
create_entities
Create multiple new entities in the knowledge graph
create_relations
Create multiple new relations between entities in the knowledge graph. Relations should be in active voice
add_observations
Add new observations to existing entities in the knowledge graph
delete_entities
Delete multiple entities and their associated relations from the knowledge graph
delete_observations
Delete specific observations from entities in the knowledge graph
delete_relations
Delete multiple relations from the knowledge graph
read_graph
Read the entire knowledge graph
search_nodes
Search for nodes in the knowledge graph based on one or more keywords. The search covers entity names, types, subdomains, and observation content. Multiple keywords are treated as OR conditions, where any keyword must match somewhere in the entity's fields.
open_nodes
Open specific nodes in the knowledge graph by their names. Returns the complete node information including subdomain and all metadata.
README
forked https://github.com/modelcontextprotocol/servers/tree/main
知识图谱记忆服务器
一个使用本地知识图谱实现的持久化记忆的基本实现。这使得 Claude 能够记住关于用户的跨会话信息。
核心概念
实体
实体是知识图谱中的主要节点。每个实体都有:
- 一个唯一的名称(标识符)
- 一个实体类型(例如,“人”、“组织”、“事件”)
- 一个观察列表
示例:
{
"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(字符串)- 空格分隔的关键字(例如,“预算 实用程序”)
- 多个关键字被视为 OR 条件
- 搜索范围:
- 实体名称
- 实体类型
- 子域
- 观察内容
- 匹配行为:
- 忽略大小写
- 部分单词匹配
- 任何关键字都可以匹配任何字段
- 返回匹配任何关键字的实体
- 返回匹配的实体及其关系
- 示例查询:
- 单个关键字:“预算”
- 多个关键字:“预算 实用程序”
- 带有特殊字符:“预算 & 实用程序”
-
open_nodes
- 按名称检索特定节点
- 输入:
names(字符串数组) - 返回:
- 请求的实体
- 请求的实体之间的关系
- 静默跳过不存在的节点
与 Claude Desktop 一起使用
设置
将其添加到您的 claude_desktop_config.json:
Docker
{
"mcpServers": {
"memory": {
"command": "docker",
"args": ["run", "-i", "--rm", "mcp/memory"]
}
}
}
NPX
{
"mcpServers": {
"memory": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-memory"
]
}
}
}
带有自定义设置的 NPX
可以使用以下环境变量配置服务器:
{
"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) 关系(个人和职业关系,最多 3 度分离)
- 在存储信息时,请使用特定且描述性的关键字,这将有助于将来的搜索
4. 记忆更新:
- 如果在互动期间收集到任何新信息,请按如下方式更新您的记忆:
a) 为经常出现的组织、人员和重大事件创建实体
b) 使用关系将它们连接到当前实体
c) 将关于它们的事实存储为观察
d) 在实体名称和观察中使用清晰且可搜索的术语,以方便将来检索
构建
Docker:
docker build -t mcp/memory -f src/memory/Dockerfile .
许可证
此 MCP 服务器已获得 MIT 许可证的许可。这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。有关更多详细信息,请参阅项目存储库中的 LICENSE 文件。
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
AIO-MCP Server
🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。
Knowledge Graph Memory Server
为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。
https://github.com/Streen9/react-mcp
react-mcp 与 Claude Desktop 集成,能够根据用户提示创建和修改 React 应用程序。
MCP Atlassian
适用于 Atlassian Cloud 产品(Confluence 和 Jira)的 Model Context Protocol (MCP) 服务器。此集成专为 Atlassian Cloud 实例设计,不支持 Atlassian Server 或 Data Center 部署。
any-chat-completions-mcp
将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。
MySQL MCP Server
允许人工智能助手通过受控界面列出表格、读取数据和执行 SQL 查询,从而使数据库探索和分析更安全、更有条理。
browser-use MCP server
一个由人工智能驱动的浏览器自动化服务器,它实现了模型上下文协议,从而能够使用自然语言控制网页浏览器,以执行诸如导航、表单填写和视觉交互等任务。