Knowledge Graph Memory Server
增强 MCP 内存服务器,通过实施 PouchDB 实现强大的文档存储,并支持创建和管理知识图谱,该知识图谱捕获通过语言模型进行的交互。
README
Memory Custom : PouchDB 🧠
本项目为 MCP 团队提供的 Memory 服务器添加了新功能。它允许创建和管理知识图谱,该图谱通过语言模型 (LLM) 捕获交互。🚀
此仓库 fork 自 https://github.com/BRO3886/mcp-memory-custom,这是一个很好的起点,再次感谢修复时间戳。此仓库的目标更多的是解决上下文 JSON 文件不断增大的问题。
新功能 ✨
1. PouchDB 集成 💾
- 服务器现在使用 PouchDB 进行强大的基于文档的存储
- 原因:更好的数据一致性、内置版本控制以及针对大型数据集的改进性能
- 维护文件备份以实现兼容性
2. 自定义 Memory 路径 📁
- 用户现在可以为不同的项目指定不同的 memory 文件路径
- 原因:此功能增强了 memory 数据的组织和管理,允许项目特定的 memory 存储
3. 时间戳 ⏰
- 服务器现在为交互生成时间戳
- 原因:时间戳能够跟踪每个 memory 的创建或修改时间,为存储的数据提供更好的上下文和历史记录
快速开始 🚀
前提条件 🔧
- Node.js(版本 16 或更高版本)
- PouchDB(自动安装为依赖项)
通过 Smithery 安装 📦
要通过 Smithery 为 Claude Desktop 自动安装 Knowledge Graph Memory Server:
npx -y @smithery/cli install @bneil/mcp-memory-pouchdb --client claude
安装 🛠️
-
克隆存储库:
git clone git@github.com:bneil/mcp-memory-pouchdb.git cd mcp-memory-pouchdb -
安装依赖项:
npm install
配置 ⚙️
服务器需要设置两个环境变量:
MEMORY_FILE_PATH:memory 备份文件将存储的绝对路径POUCHDB_PATH:PouchDB 数据库将存储的绝对路径
在您的 claude_desktop_config.json / .cursor/mcp.json 中的配置示例:
{
"mcpServers": {
"memory": {
"command": "node",
"args": ["/path/to/mcp-memory-pouchdb/dist/index.js"],
"env": {
"MEMORY_FILE_PATH": "/path/to/custom/memory.json",
"POUCHDB_PATH": "/path/to/custom/pouchdb_directory",
"DISABLE_MEMORY_FILE": "true"
}
}
}
}
如果未设置任何一个环境变量,服务器将无法启动。🚫
可选环境变量:
POUCHDB_OPTIONS:附加 PouchDB 配置选项的 JSON 字符串DISABLE_MEMORY_FILE:设置为 "true" 以禁用保存到 memory.json 文件(仅使用 PouchDB 进行存储)
运行服务器 🚀
更新 mcp 服务器 json 文件 📝
将其添加到您的 claude_desktop_config.json / .cursor/mcp.json 文件中:
{
"mcpServers": {
"memory": {
"command": "node",
"args": ["/path/to/mcp-memory-pouchdb/dist/index.js"],
"env" : {
"MEMORY_FILE_PATH":"/home/.../local_dbs/memory.json",
"POUCHDB_PATH":"/home/.../local_dbs/pouchdb"
}
}
}
}
系统提示更改:
按照以下步骤进行每次交互:
0. Memory 初始化:
- 在启动时,执行 read_graph 函数以初始化 memory 访问
- 如果 memory 为空,则为用户创建一个具有基本占位符信息的默认实体
- 运行初始化序列:read_graph → create_entities → read_graph
1. 用户识别:
- 您应该假设您正在与 default_user 交互
- 如果您尚未识别 default_user,请主动尝试这样做
2. Memory 检索:
- 始终以仅说“Remembering...”开始您的聊天,并从您的知识图谱中检索所有相关信息
- 始终将您的知识图谱称为您的“memory”
- 验证 memory 访问是否正常运行
3. Memory 注意力:
- 在与用户交谈时,请注意属于以下类别的任何新信息:
a) 基本身份(年龄、性别、位置、职称、教育程度等)
b) 行为(兴趣、习惯等)
c) 偏好(沟通方式、首选语言等)
d) 目标(目标、指标、愿望等)
e) 关系(个人和专业关系,最多 3 度分离)
4. Memory 更新:
- 如果在交互期间收集到任何新信息,请按如下方式更新您的 memory:
a) 为重复出现的组织、人员和重大事件创建实体,并在需要的地方添加时间戳。您可以通过 get_current_time 获取当前时间戳
b) 使用关系将它们连接到当前实体
c) 将有关它们的事实存储为观察结果,并通过 get_current_time 将时间戳添加到观察结果
5. 错误恢复:
- 如果 memory 检索失败,请立即执行 read_graph 函数
- 记录任何 memory 访问失败以进行调试
- 使用最佳可用信息继续对话
6. Memory 验证:
- 定期验证 memory 访问是否正常运行,方法是检查核心实体
- 如果验证失败,请尝试通过 read_graph 重新连接
重要提示:提供有帮助且引人入胜的回复,提出相关问题以鼓励用户参与。如果需要,根据收集到的新信息(第 3 点)在交互期间更新 memory。
在本地运行服务器 💻
要启动 Knowledge Graph Memory Server,请运行:
npm run build
node dist/index.js
服务器将通过标准输入/输出侦听请求。
API 端点 🔌
服务器公开了几个可以使用特定参数调用的工具:
- 获取当前时间 ⏰
- 设置 Memory 文件路径 📁
- 创建实体 ➕
- 创建关系 🔗
- 添加观察结果 📝
- 删除实体 ❌
- 删除观察结果 🗑️
- 删除关系 🔗
- 读取图谱 📖
- 搜索节点 🔍
- 打开节点 🔓
致谢 🙏
- 灵感来自 Anthropic 的 Memory 服务器
- 由 PouchDB 提供支持,实现强大的数据存储 💾
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。