首页
学习
活动
专区
圈层
工具
发布
MCP广场 >详情页
Claude知识图谱云托管2026-02-10279分享添加福利群:解决AI开发者的「MCP实战痛点」
一种改进的持久内存实现方法,使用带有可定制 --memory-path 的本地知识图谱。这使得 Claude 能够在多次聊天中记住用户的信息。
By shaneholloman
2026-02-10279
github
详情内容
工具描述

MCP 知识图谱

通过本地知识图谱为 AI 模型提供持久记忆。

使用实体、关系和观察结果在对话中存储和检索信息。与 Claude Code/Desktop 和任何兼容 MCP 的 AI 平台一起使用。

为什么使用 ".aim" 和 "aim_" 前缀?

AIM 代表 AI 记忆 - 这是知识图谱系统的核心概念。三个 AIM 元素提供了清晰的组织和安全性:

  • .aim 目录:保持 AI 记忆文件的有序性,易于识别
  • aim_ 工具前缀:在多工具设置中将相关的记忆功能分组
  • _aim 安全标记:每个记忆文件都以 {"type":"_aim","source":"mcp-knowledge-graph"} 开头,以防止意外覆盖不相关的 JSONL 文件

这种一致的 AIM 命名使得哪些目录、工具和文件属于我们的 AI 记忆系统一目了然。

存储逻辑

文件位置优先级:

  1. 带有 .aim 的项目 - 使用 .aim/memory.jsonl(项目本地)
  2. 无项目/无 .aim - 使用配置的全局目录
  3. 上下文 - 添加后缀:memory-work.jsonl, memory-personal.jsonl

安全系统:

  • 每个记忆文件都以 {"type":"_aim","source":"mcp-knowledge-graph"} 开头
  • 系统拒绝写入没有此标记的文件
  • 防止意外覆盖不相关的 JSONL 文件

主数据库概念

主数据库是您的主要记忆存储 - 当未请求特定数据库时默认使用。它在列表中始终命名为 default,并存储为 memory.jsonl

  • 默认行为:除非您指定其他数据库,否则所有记忆操作都使用主数据库
  • 始终可用:在项目本地和全局位置都存在
  • 主要存储:您的主要知识图谱,在所有对话中持久存在
  • 命名数据库:用于组织特定主题的可选附加数据库(work, personal, health

主要功能

  • 主数据库:默认用于所有操作的主要记忆存储
  • 多个数据库:用于按主题组织记忆的可选命名数据库
  • 项目检测:使用 .aim 目录自动使用项目本地记忆
  • 位置覆盖:强制操作使用项目或全局存储
  • 安全操作:内置保护,防止覆盖不相关文件
  • 数据库发现:列出两个位置中所有可用的数据库

快速开始

全局记忆(推荐)

添加到您的 claude_desktop_config.json.claude.json

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-knowledge-graph",
        "--memory-path",
        "/Users/yourusername/.aim/"
      ]
    }
  }
}

这将在您指定的目录中创建记忆文件:

  • memory.jsonl - 主数据库(默认用于所有操作)
  • memory-work.jsonl - 工作数据库
  • memory-personal.jsonl - 个人数据库
  • 等等。

项目本地记忆

在任何项目中,创建一个 .aim 目录:

mkdir .aim

现在,记忆工具在从此项目运行时自动使用 .aim/memory.jsonl(项目本地主数据库),而不是全局存储。

AI 如何使用数据库

一旦配置完成,AI 模型默认使用主数据库,或者可以使用 context 参数指定命名数据库。新数据库会自动创建 - 无需设置:

// 主数据库(默认 - 无需上下文)
aim_create_entities({
  entities: [{
    name: "John_Doe",
    entityType: "person",
    observations: ["在会议上见过"]
  }]
})

// 工作数据库
aim_create_entities({
  context: "work",
  entities: [{
    name: "Q4_Project",
    entityType: "project",
    observations: ["2024 年 12 月到期"]
  }]
})

// 个人数据库
aim_create_entities({
  context: "personal",
  entities: [{
    name: "妈妈",
    entityType: "person",
    observations: ["生日是 3 月 15 日"]
  }]
})

// 特定位置的主数据库
aim_create_entities({
  location: "global",
  entities: [{
    name: "重要信息",
    entityType: "reference",
    observations: ["存储在全局主数据库中"]
  }]
})

文件组织

全局设置:

/Users/yourusername/.aim/
├── memory.jsonl           # 主数据库(默认)
├── memory-work.jsonl      # 工作数据库
├── memory-personal.jsonl  # 个人数据库
└── memory-health.jsonl    # 健康数据库

项目设置:

my-project/
├── .aim/
│   ├── memory.jsonl       # 项目主数据库(默认)
│   └── memory-work.jsonl  # 项目工作数据库
└── src/

可用工具

  • aim_create_entities - 添加新的人员、项目、事件
  • aim_create_relations - 将实体链接在一起
  • aim_add_observations - 向现有实体添加事实
  • aim_search_nodes - 通过关键字查找信息
  • aim_read_graph - 查看整个记忆
  • aim_open_nodes - 按名称检索特定实体
  • aim_list_databases - 显示所有可用数据库和当前位置
  • aim_delete_entities - 删除实体
  • aim_delete_observations - 删除特定事实
  • aim_delete_relations - 删除连接

参数

  • context(可选) - 指定命名数据库(work, personal 等)。默认为主数据库
  • location(可选) - 强制使用 projectglobal 存储位置。默认为自动检测

数据库发现

使用 aim_list_databases 查看所有可用数据库:

{
  "project_databases": [
    "default",      // 主数据库(项目本地)
    "project-work"  // 命名数据库
  ],
  "global_databases": [
    "default",      // 主数据库(全局)
    "work",
    "personal",
    "health"
  ],
  "current_location": "project (检测到 .aim 目录)"
}

关键点:

  • "default" = 两个位置中的主数据库
  • 当前位置 显示您是否在使用项目或全局存储
  • 主数据库无处不在 - 它是您的主要记忆存储
  • 命名数据库 是用于特定主题的可选附加数据库

配置示例

重要提示: 始终指定 --memory-path 以控制您的记忆文件存储位置。

主目录:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-knowledge-graph",
        "--memory-path",
        "/Users/yourusername/.aim"
      ]
    }
  }
}

自定义位置(例如,Dropbox):

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-knowledge-graph",
        "--memory-path",
        "/Users/yourusername/Dropbox/.aim"
      ]
    }
  }
}

自动批准所有操作:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-knowledge-graph",
        "--memory-path",
        "/Users/yourusername/.aim"
      ],
      "autoapprove": [
        "aim_create_entities",
        "aim_create_relations",
        "aim_add_observations",
        "aim_search_nodes",
        "aim_read_graph",
        "aim_open_nodes",
        "aim_list_databases"
      ]
    }
  }
}

故障排除

“文件不包含所需的 _aim 安全标记”错误:

  • 该文件可能不属于此系统
  • 手动创建的 JSONL 文件需要 {"type":"_aim","source":"mcp-knowledge-graph"} 作为第一行
  • 如果您手动创建了文件,请添加 _aim 标记或删除并让系统重新创建它

记忆存储到意外位置:

  • 检查您是否在带有 .aim 文件夹的项目目录中(使用项目本地存储)
  • 否则使用配置的全局 --memory-path 目录
  • 使用 aim_list_databases 查看所有可用数据库和当前位置
  • 使用 ls .aim/ls /Users/yourusername/.aim/ 查看您的记忆文件

太多相似的数据库:

  • AI 模型尝试使用一致的名称,但可能会创建变体
  • 如果需要,手动删除不需要的数据库文件
  • 鼓励 AI 使用简单、一致的数据库名称
  • 记住:主数据库始终作为默认值可用 - 命名数据库是可选的

要求

  • Node.js 18+
  • 兼容 MCP 的 AI 平台

许可证

MIT

连接服务
Server已在腾讯云托管,可在连接后免费调用和在线进行工具测试~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档