首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
首页
学习
活动
专区
圈层
工具
MCP广场
MCP广场 >详情页
mcp-knowledge-graph2025-05-300分享
github
一种改进的持久内存实现方法,使用带有可定制 --memory-path 的本地知识图谱。这使得 Claude 能够在多次聊天中记住用户的信息。
By shaneholloman
2025-05-300
github
详情内容

mcp-knowledge-graph

知识图谱记忆服务器

这是一种改进的持久化内存实现,使用本地知识图谱,并且支持自定义 --memory-path

这使得AI模型能够在不同的聊天中记住用户的信息。它适用于任何支持Model Context Protocol (MCP) 或函数调用功能的AI模型。

[!NOTE]
这是原始 Memory Server 的一个分支,旨在不使用临时内存的npx安装方法。

服务器名称

mcp-knowledge-graph

screen-of-server-name

read-function

核心概念

实体

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

  • 唯一名称(标识符)
  • 实体类型(如“person”、“organization”、“event”)
  • 观察列表

示例:

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

关系

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

示例:

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

观察

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

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

示例:

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

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

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

与MCP兼容平台的用法

此服务器可与任何支持Model Context Protocol (MCP)或函数调用功能的AI平台一起使用,包括Claude、GPT、Llama等。

与Claude Desktop的设置

将此添加到您的claude_desktop_config.json中:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-knowledge-graph",
        "--memory-path",
        "/Users/shaneholloman/Dropbox/shane/db/memory.jsonl"
      ],
      "autoapprove": [
        "create_entities",
        "create_relations",
        "add_observations",
        "delete_entities",
        "delete_observations",
        "delete_relations",
        "read_graph",
        "search_nodes",
        "open_nodes"
      ]
    },
  }
}

与其他AI平台的设置

任何支持函数调用或MCP标准的AI平台都可以连接到此服务器。具体配置取决于平台,但服务器通过MCP接口公开标准工具。

自定义内存路径

您可以指定内存文件的自定义路径:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-knowledge-graph",
        "--memory-path",
        "/Users/shaneholloman/Dropbox/shane/db/memory.jsonl"
      ],
      "autoapprove": [
        "create_entities",
        "create_relations",
        "add_observations",
        "delete_entities",
        "delete_observations",
        "delete_relations",
        "read_graph",
        "search_nodes",
        "open_nodes"
      ]
    },
  }
}

如果未指定路径,则默认为服务器安装目录中的memory.jsonl。

系统提示

利用内存的提示取决于使用案例和您使用的AI模型。更改提示将帮助模型确定创建记忆的频率和类型。

以下是一个可以适应任何AI模型的聊天个性化提示示例。对于Claude用户,您可以在Claude.ai项目的“自定义指令”字段中使用此提示。对于其他模型,请将其适应各自的指令格式。

对于每次互动,请按照以下步骤操作:

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

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

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

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

与其他AI模型的集成

此服务器实现了Model Context Protocol (MCP)标准,使其与任何支持函数调用的AI模型兼容。知识图谱结构和API与模型无关,允许与各种AI平台灵活集成。

要与其他模型集成:

  1. 配置模型以访问MCP服务器
  2. 确保模型可以调用公开的工具
  3. 将系统提示适应特定模型的指令格式
  4. 无论使用何种模型,都使用相同的知识图谱操作

许可证

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

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档