Knowledge Graph Memory Server

Knowledge Graph Memory Server

使用本地知识图谱实现的持久性记忆,可以让 Claude 记住用户在不同对话中的信息。

AI记忆系统
数据库交互
访问服务器

README

optimized-memory-mcp-server

这是一个用于测试和展示 Claude AI 编码能力,以及良好 AI 工作流程和提示设计的项目。 这是 Python Memory MCP Server 的一个分支(我相信官方版本是用 Java 编写的),它使用 SQLite 作为后端。

知识图谱记忆服务器

使用本地知识图谱实现的持久化记忆的基本实现。这使得 Claude 能够记住关于用户的信息,并在多次对话中保持记忆。

核心概念

实体 (Entities)

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

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

示例:

{
  "name": "John_Smith",
  "entityType": "person",
  "observations": ["Speaks fluent Spanish"]
}

关系 (Relations)

关系定义了实体之间有方向的连接。它们总是以主动语态存储,并描述实体如何交互或相互关联。

示例:

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

观察 (Observations)

观察是关于实体的离散信息片段。它们是:

  • 存储为字符串
  • 附加到特定实体
  • 可以独立添加或删除
  • 应该是原子性的(每个观察一个事实)

示例:

{
  "entityName": "John_Smith",
  "observations": [
    "Speaks fluent Spanish",
    "Graduated in 2019",
    "Prefers morning meetings"
  ]
}

API

工具 (Tools)

  • 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(字符串)
    • 搜索范围:
      • 实体名称
      • 实体类型
      • 观察内容
    • 返回匹配的实体及其关系
  • open_nodes

    • 按名称检索特定节点
    • 输入:names(字符串数组)
    • 返回:
      • 请求的实体
      • 请求的实体之间的关系
    • 静默跳过不存在的节点

与 Claude Desktop 一起使用

设置 (Setup)

将此添加到您的 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"
      ]
    }
  }
}

系统提示 (System Prompt)

利用记忆的提示取决于用例。更改提示将有助于模型确定创建记忆的频率和类型。

这是一个用于聊天个性化的示例提示。您可以在 Claude.ai 项目 的“自定义说明”字段中使用此提示。

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

1. 用户识别:
   - 您应该假设您正在与 default_user 交互
   - 如果您尚未识别 default_user,请主动尝试这样做。

2. 记忆检索:
   - 始终以仅说“Remembering...”开始您的聊天,并从您的知识图谱中检索所有相关信息
   - 始终将您的知识图谱称为您的“记忆”

3. 记忆
   - 在与用户交谈时,请注意属于以下任何类别的新信息:
     a) 基本身份(年龄、性别、地点、职称、教育程度等)
     b) 行为(兴趣、习惯等)
     c) 偏好(沟通方式、首选语言等)
     d) 目标(目标、指标、愿望等)
     e) 关系(个人和职业关系,最多 3 度分离)

4. 记忆更新:
   - 如果在交互过程中收集到任何新信息,请按如下方式更新您的记忆:
     a) 为经常出现的组织、人员和重大事件创建实体
     b) 使用关系将它们连接到当前实体
     b) 将关于它们的事实存储为观察

构建 (Building)

Docker:

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

许可证 (License)

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

推荐服务器

Neon MCP Server

Neon MCP Server

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

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
mcp-server-qdrant

mcp-server-qdrant

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

官方
精选
AIO-MCP Server

AIO-MCP Server

🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。

精选
本地
Knowledge Graph Memory Server

Knowledge Graph Memory Server

为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。

精选
本地
Hyperbrowser

Hyperbrowser

欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:

精选
本地
any-chat-completions-mcp

any-chat-completions-mcp

将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。

精选
Exa MCP Server

Exa MCP Server

一个模型上下文协议服务器,它使像 Claude 这样的人工智能助手能够以安全和受控的方式,使用 Exa AI 搜索 API 执行实时网络搜索。

精选
BigQuery MCP Server

BigQuery MCP Server

这是一个服务器,可以让你的大型语言模型(LLM,比如Claude)直接与你的BigQuery数据对话!可以把它想象成一个友好的翻译器,它位于你的AI助手和数据库之间,确保它们可以安全高效地进行交流。

精选
mcp-perplexity

mcp-perplexity

Perplexity API 的 MCP 服务器。

精选