mcpField
C
Category-based Memory Server

Category-based Memory Server

本地服务
github.com/mkusaka记忆与知识12 天前更新

关于 Category-based Memory Server

Category-based Memory Server 是一个按类别组织的持久记忆 MCP 服务,让 Claude 能在不同对话间保存和检索信息。它支持全局与项目本地存储,并以纯文本条目管理记忆。

主要功能

  1. 01按类别保存记忆
  2. 02为记忆添加标签
  3. 03支持全局与本地存储
  4. 04按类别检索或删除记忆

适用场景

  1. 01跨对话保留用户偏好
  2. 02分别记录通用与项目知识

MCP 相关

它向 MCP 客户端提供保存、检索和删除记忆类别及单条记忆的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"memory-mkusaka": {
"command": "npx",
"args": [
"-y",
"@mkusaka/mcp-server-memory"
]
}
}
}
启动命令npx -y @mkusaka/mcp-server-memory

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@mkusaka/mcp-server-memory

工具

4

收录的工具列表 · 更新于 3 周前

参数类型必填说明
categorystring是存储记忆的类别
datastring是要存储在记忆中的数据
tagsarray否用于对记忆分类的可选标签
is_globalboolean是是否存储在全局或本地记忆中

详细介绍

基于类别的记忆服务

使用基于类别的记忆系统实现的基础持久化记忆。Claude 可以通过将信息存储为分类记忆条目,在不同聊天之间记住信息。

核心概念

类别

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

示例:

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

标签为类别中的记忆提供额外的上下文和分组方式。可以使用标签筛选并查找相关记忆。

示例:

# formatting style
Uses 2-space indentation
Prefers camelCase for variables
全局记忆与本地记忆

记忆系统支持两个存储位置:

  • 全局记忆:存储在用户的主目录(~/.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

工具
  • remember_memory

    • 在指定类别中存储一条记忆,并可选择添加标签
    • 输入:
      • category(string):要存储记忆的类别
      • data(string):要存储在记忆中的数据
      • tags(string[],可选):用于记忆分类的可选标签
      • is_global(boolean):是否存储到全局记忆
    • 在指定类别中存储记忆条目,并可选择添加标签
  • retrieve_memories

    • 从指定类别中检索所有记忆
    • 输入:
      • category(string):要从中检索记忆的类别,使用 * 表示所有类别
      • is_global(boolean):是否从全局记忆中检索
    • 返回指定类别中的记忆,并按标签分组
    • 如果类别不存在,则返回空对象
  • remove_memory_category

    • 移除指定类别中的所有记忆
    • 输入:
      • category(string):要移除的类别,使用 * 表示所有类别
      • is_global(boolean):是否从全局记忆中移除
    • 移除整个类别文件
    • 如果类别不存在,则不执行任何操作,也不提示
  • remove_specific_memory

    • 移除指定类别中的特定记忆
    • 输入:
      • category(string):包含要移除记忆的类别
      • memory_content(string):要移除的记忆内容(部分匹配)
      • is_global(boolean):是否从全局记忆中移除
    • 移除包含指定内容的记忆
    • 如果记忆不存在,则不执行任何操作,也不提示

在 Claude Desktop 中使用

设置

将以下内容添加到 claude_desktop_config.json:

npx
{
  "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 Code 安装说明

如需快速安装,请使用下方的一键安装按钮:

如需手动安装,请将以下 JSON 代码块添加到 VS Code 的用户设置(JSON)文件中。按 Ctrl + Shift + P 并输入 Preferences: Open Settings (JSON) 即可打开该文件。

也可以将其添加到工作区中的 .vscode/mcp.json 文件。这样便可以与他人共享配置。

请注意,.vscode/mcp.json 文件中不需要 mcp 键。

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

许可证

此 MCP 服务采用 MIT License 许可。这意味着你可以自由使用、修改和分发本软件,但须遵守 MIT License 的条款和条件。详情请参阅项目仓库中的 LICENSE 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。