分类记忆服务器

一个基于分类的持久化记忆系统实现,允许Claude跨聊天会话存储和检索分类记忆信息。

  • by mkusaka
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 mkusaka/mcp-server-memory

使用说明

基于类别的内存服务器

使用基于类别的内存系统的持久内存的基本实现。这让克劳德通过将信息存储在分类的内存条目中来记住聊天记录中的信息。

核心概念

分类

类别是记忆系统中的主要组织单位。每个类别都包含一组记忆(信息片段)。

例子:

"development": [
  "Uses pnpm for package management",
  "Prefers 2-space indentation"
]

标签

标签为类别中的记忆提供了额外的上下文和分组。它们可以用来过滤和查找相关的记忆。

例子:

# formatting style
Uses 2-space indentation
Prefers camelCase for variables

全球记忆vs本地记忆

内存系统支持两个存储位置:

  • 全球记忆:存储在用户的主目录中(~/.config/mcp-memory)并在所有项目中坚持下去。
  • 局部存储器:存储在当前项目目录中(.mcp-memory)并且是特定于当前项目的。

记忆存储

记忆以文本条目的形式存储,具有以下特征:

  • 按类别组织(存储在单独的文件中)
  • 可以标记以便于检索
  • 存储在纯文本文件中
  • 可以独立添加或删除
  • 应该是原子性的(每个内存一条信息)

内存文件示例(development.txt):

# formatting style
Uses 2-space indentation
Prefers camelCase for variables

# tools
Uses eslint for linting
Uses prettier for formatting

API

工具

  • 记住

    • 将带有可选标签的内存存储在指定类别中
    • 输入:
      • category (string):存储内存的类别
      • data (string):要存储在内存中的数据
      • tags (string[],可选):用于对内存进行分类的可选标记
      • is_global (boolean):是存储在全局内存还是本地内存
    • 使用可选标签将内存条目存储在指定类别中
  • 检索记忆

    • 从指定类别检索所有内存
    • 输入:
      • category (string):用于检索记忆的类别,所有类别均使用“*”
      • is_global (boolean):是从全局内存还是本地内存检索
    • 返回指定类别的内存,按标签分组
    • 如果类别不存在,则返回空对象
  • remove_memory_class

    • 删除指定类别中的所有内存
    • 输入:
      • category (string):要删除的类别,对所有类别使用“*”
      • is_global (boolean):是从全局内存还是本地内存中删除
    • 删除整个类别文件
    • 如果类别不存在,则进行静默操作
  • remove_specific_memory

    • 删除指定类别中的特定内存
    • 输入:
      • category (string):包含要删除的内存的类别
      • memory_content (string):要删除的内存内容(部分匹配)
      • is_global (boolean):是从全局内存还是本地内存中删除
    • 删除包含指定内容的内存
    • 如果内存不存在,则进行静默操作

使用Claude Desktop

设置

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

新巴拿马型船舶

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@mkusaka/mcp-server-memory"
      ]
    }
  }
}

具有自定义设置的npx

可以使用以下环境变量配置服务器:

{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": [
        "-y",
        "@mkusaka/mcp-server-memory"
      ],
      "env": {
        "MEMORY_FILE_PATH": "/path/to/custom/memory.json"
      }
    }
  }
}
  • MEMORY_FILE_PATH:内存存储JSON文件的路径(默认值: memory.json 在服务器目录中)

VS代码安装说明

为了快速安装,请使用下面的一键安装按钮之一:

对于手动安装,请将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P 和打字 Preferences: Open Settings (JSON).

您可以选择将其添加到名为的文件中 .vscode/mcp.json 在您的工作空间中。这将允许您与他人共享配置。

请注意 mcp 中不需要密钥 .vscode/mcp.json 文件。

新巴拿马型船舶

{
  "mcp": {
    "servers": {
      "memory": {
        "command": "npx",
        "args": [
          "-y",
          "@mkusaka/mcp-server-memory"
        ]
      }
    }
  }
}

许可证

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