Knowledge Graph Memory Server

Knowledge Graph Memory Server

增强 MCP 内存服务器,通过实施 PouchDB 实现强大的文档存储,并支持创建和管理知识图谱,该知识图谱捕获通过语言模型进行的交互。

Category
访问服务器

README

Memory Custom : PouchDB 🧠

smithery badge

本项目为 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

安装 🛠️

  1. 克隆存储库:

    git clone git@github.com:bneil/mcp-memory-pouchdb.git
    cd mcp-memory-pouchdb
    
  2. 安装依赖项:

    npm install
    

配置 ⚙️

服务器需要设置两个环境变量:

  1. MEMORY_FILE_PATH:memory 备份文件将存储的绝对路径
  2. 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

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选