mcpField
M
memry

memry

本地服务
memry.com.mx记忆与知识51 周前更新

关于 memry

memry 为 AI 编码 Agent 提供持久记忆,让决策和发现跨会话、跨项目保留。其 CLI 可配置受支持的 Agent,并在会话开始时加载项目记忆。

主要功能

  1. 01跨会话保存记忆
  2. 02保存并搜索 Agent 记忆
  3. 03会话开始时加载近期项目上下文
  4. 04通过 CLI 配置受支持的 Agent
  5. 05将多个仓库归入同一项目

适用场景

  1. 01恢复编码工作并沿用先前决策
  2. 02查找已保存的 Bug 修复和发现
  3. 03在相关仓库间共享项目上下文

MCP 相关

memry setup 会为选定的 Agent 注册 memry MCP 服务。该服务提供保存和搜索记忆的工具。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

memry

memry

memry 为你的 AI 编码 Agent 提供可持久保存的记忆,让记忆能够在不同会话和项目间延续。在某个会话中保存的决策、Bug 修复和发现,在下一个会话中也能使用,因此你不必再次解释相同的上下文。

要求

  • macOS、Linux 或 Windows(amd64 或 arm64)
  • 至少一个受支持的 Agent。对于 Claude Code,其 CLI(claude)必须位于你的 PATH 中。

安装

使用 Homebrew:

brew install mrtheroi/tap/memry
memry setup

其他安装 memry 的方式。它是单个二进制文件,无需其他依赖:

  • 使用 Go:go install github.com/mrtheroi/memry-cli/cmd/memry@latest。二进制文件会放在 $(go env GOPATH)/bin 中,该目录必须位于你的 PATH 中。

  • 从发布版本安装:下载适用于你系统的 memry_<version>_<os>_<arch>.tar.gz 压缩包,对照 checksums.txt 验证后,将其中的 memry 二进制文件放到你的 PATH 中,例如:

    tar -xzf memry_1.0.0_darwin_arm64.tar.gz memry
    sudo install -m 0755 memry /usr/local/bin/memry
    

在 Windows 上,请参阅 Windows。

你的 Agent 会从 memry 的安装路径运行它,因此,除非使用 Homebrew,否则请勿移动该二进制文件;若已移动,请重新运行 memry setup。

memry setup 会询问你的电子邮箱,向你发送一个 6 位登录码,然后询问你使用哪些 Agent,并将 memry 连接到你选择的 Agent(会预先选中在你的设备上找到的 Agent;按空格键选择,按回车键确认)。之后,在你的 Agent 中启动一个新会话即可使用 memry。

若要在不显示提示的情况下选择 Agent(例如在脚本中),请传入它们的键:

memry setup --agents=claude-code,codex

再次运行 memry setup 可更改选择;memry 会从你取消选择的 Agent 中移除。

Claude Code 插件

此仓库同时也是一个 Claude Code 插件市场。其 memry 插件添加了 /memry:setup 技能,可引导你安装 CLI 并运行 memry setup。

在终端中运行:

claude plugin marketplace add mrtheroi/memry-cli
claude plugin install memry@memry

或者在 Claude Code 会话中运行:

/plugin marketplace add mrtheroi/memry-cli
/plugin install memry@memry

在 Claude Code 2.1.275 或更高版本中,一条会话内命令即可完成这两步: /plugin install memry --marketplace mrtheroi/memry-cli。

该插件本身不会注册 MCP 服务;注册操作由 memry setup 完成,因此 memry 不会被重复连接。

可自托管

使用自托管的 memry 服务时,管理员会为你创建令牌,而不是通过电子邮箱登录。连接方式如下:

memry setup --url https://memry.company.internal --token

使用 --token 时必须同时指定 --url,因此令牌绝不会发送到公共服务。Setup 会在不显示令牌的情况下提示你输入,先向服务验证令牌,再保存;之后会像往常一样询问你使用哪些 Agent。对于脚本,可设置 MEMRY_TOKEN 环境变量:使用 --token 但不提供值时,setup 会使用该变量中的值而不是显示提示,即使指定了 --no-interaction 也一样,并且令牌不会出现在进程列表中。--token=<token> 也会跳过提示(且优先于 MEMRY_TOKEN),但令牌随后会出现在 shell 历史记录和进程列表中。

MEMRY_TOKEN="$token" memry setup --url https://memry.company.internal --token --no-interaction

只有与 --token 一同使用时才会读取 MEMRY_TOKEN,因此它不会影响电子邮箱登录。

请使用 https:// URL。Setup 会将令牌或登录码发送到服务,且 memry mcp 会在每次请求中发送已保存的令牌,因此,只有在本机地址(localhost、127.x.x.x 地址或 [::1])下才接受纯 http:// URL。对于其他 http:// 服务,setup 会在询问或发送任何内容之前停止,并显示:“拒绝通过纯 HTTP 向 发送凭据。请使用 https:// URL,或传入 --insecure 以允许此操作(例如在可信的局域网中)。”仅在你信任的网络上使用 --insecure:否则凭据会以明文传输。MEMRY_URL 也遵循相同规则。

Windows

使用 WinGet 安装,然后在新的终端中运行设置命令,以便将 memry 命令加入 PATH:

winget install Memry.Memry
memry setup

其他安装方式:

  • 使用 Go:go install github.com/mrtheroi/memry-cli/cmd/memry@latest。二进制文件会放在 %GOPATH%\bin(go env GOPATH)中,该目录必须位于 PATH 中。
  • 从发布版本安装:下载 memry_<version>_windows_<arch>.zip(amd64 或 arm64),使用 checksums.txt 校验该文件(由 cosign 签名,参见发布流程中的 cosign 命令),然后将其中的 memry.exe 放到 PATH 中。

使用 winget upgrade Memry.Memry 更新。要卸载,请运行 memry uninstall,然后运行 winget uninstall memry;如果是手动安装,memry uninstall 会打印要删除的 memry.exe 的路径。

与 macOS 和 Linux 的不同之处:

  • 配置文件。 %USERPROFILE%\.config\memry\config.json,仅你的用户可读取。memry 会依次从 USERPROFILE、HOME、LOCALAPPDATA 上两级目录查找你的主目录;如果都找不到,则会停止并显示“Could not find your home directory; set USERPROFILE or HOME.”(在所有操作系统上,未设置主目录都会报错)。使用 --config 或 MEMRY_CONFIG 可将其放到其他位置。
  • Claude Code。 设置过程会将 memry 注册为本地 memry mcp 服务(claude mcp add --transport stdio --scope user memry -- <memry.exe> mcp),并添加相同的 SessionStart hook。claude.exe 和 claude.cmd 均受支持。
  • 该 hook 会按名称运行 memry,因此 memry 必须位于 PATH 中。WinGet 会确保这一点;使用 go install 时,请将 %GOPATH%\bin 加入 PATH。Claude Code 会将自己的 PATH 传给 hook,因此安装后,请重启用于启动 Claude Code 的终端或编辑器(VS Code、JetBrains);安装前打开的窗口无法找到 memry,此时 hook 不会加载任何上下文,也不会报错。如果你使用 CMD 而不是 Git Bash 运行 Claude Code,CMD 会优先搜索当前目录,因此请勿在包含不受信任的 memry.exe 的文件夹中启动会话。
  • 防病毒软件和 SmartScreen。 memry.exe 未使用 Authenticode 签名,因此 SmartScreen 或防病毒软件可能会发出警告。要检查下载文件,请按照 CONTRIBUTING.md 中的说明验证已签名的 checksums.txt,并比对压缩包的 SHA-256。
  • 不支持彩色输出的终端。 在旧版控制台中,Agent 问题会替换为 Agents: <list> (pass --agents to choose).,并保留默认值;使用 --agents 进行选择。
自定义配置文件

默认情况下,memry 会将你的登录信息保存在 ~/.config/memry/config.json 中。要使用其他文件,请设置 MEMRY_CONFIG 环境变量,或在 setup、uninstall 和 delete-account 命令中传入全局选项 --config <path>(或 --config=<path>):

memry setup --config ~/work/memry.json

优先级依次为 --config、MEMRY_CONFIG 和默认值;每项仅对当前进程生效。设置过程会将该文件传递给在你的 Agent 中注册的命令,以便它们读取相同的登录信息。

支持的 Agent

AgentKeymemry setup 添加的内容
Claude Codeclaude-codememry MCP 服务(用户级)以及一个在会话开始时加载记忆的钩子。
Codexcodex在 ~/.codex/config.toml 中添加 memry MCP 服务,并在 ~/.codex/AGENTS.md 中添加 memry 指令。
OpenCodeopencode在 ~/.config/opencode/opencode.json 中添加 memry MCP 服务,并在 ~/.config/opencode/AGENTS.md 中添加 memry 指令。
Antigravityantigravity在 ~/.gemini/config/mcp_config.json 中添加 memry MCP 服务,并在 ~/.gemini/config/GEMINI.md 中添加 memry 指令。
Windsurfwindsurf在 ~/.codeium/windsurf/mcp_config.json 中添加 memry MCP 服务,并在其全局规则(~/.codeium/windsurf/memories/global_rules.md)中添加 memry 指令。

设置只会添加 memry 自身的条目:这些文件中的其他内容都会保留,memry uninstall 只会移除设置添加的内容。你的登录令牌绝不会写入 Agent 的文件。

工作原理

  • 通过电子邮件验证码登录。 使用发送到你邮箱的一次性验证码登录;无需记住密码。

  • Agent 集成。 设置会在你选择的每个 Agent 中注册一个 memry MCP 服务,为 Agent 提供保存和搜索记忆的工具。

  • 会话开始时加载上下文。 每个新会话都会加载当前项目的近期记忆,让 Agent 可以接着上次的进度继续工作。Claude Code 通过钩子加载记忆(恢复会话和压缩后的会话也会加载);其他 Agent 则会收到指示,将加载记忆作为第一步。

  • 项目。 默认情况下,仓库的项目名称就是其目录名。若要将多个仓库归为一个项目(例如同一产品的后端和前端),请在每个仓库的根目录中添加 .memry.json 文件:

    {"project": "my-product"}
    

使用指标(可选启用)

memry 不会发送遥测数据。如果你希望 memry 仪表板显示 Claude Code 的令牌使用量和费用图表,请显式启用:

memry usage enable    # off by default
memry usage status    # on or off as far as memry can see, and where to (never prints the token)
memry usage disable   # turn it off again

memry usage enable 会告知你将发送哪些内容,向你的 memry 服务申请使用令牌(该令牌只能发送使用指标),并在 ~/.claude/settings.json(或 $CLAUDE_CONFIG_DIR/settings.json;相对路径的 CLAUDE_CONFIG_DIR 会相对于当前目录解析)的 env 中设置 Claude Code 的 OpenTelemetry 指标导出配置:CLAUDE_CODE_ENABLE_TELEMETRY、OTEL_METRICS_EXPORTER、OTEL_EXPORTER_OTLP_METRICS_PROTOCOL、OTEL_EXPORTER_OTLP_METRICS_ENDPOINT、OTEL_EXPORTER_OTLP_METRICS_HEADERS,以及所有设为 false 的 OTEL_METRICS_INCLUDE_* 开关。重启 Claude Code 以应用设置。设置文件中保存了使用令牌,因此 memry 会确保该文件仅对你的用户可读。

发送和保留的内容
  • Claude Code 决定发送哪些内容,详见其监控指南:包括令牌用量、费用、会话和代码行数等指标,以及你的电子邮件、组织 ID 等身份属性和特定于指标的属性。此列表并不完整,可能会随着 Claude Code 新版本的发布而增加。memry 会关闭它能关闭的可选属性开关。
  • memry 服务是保障。 它只保留令牌和费用数据点(计数或费用、模型、令牌类型、查询来源和时间窗口),并将其关联到你的 memry 账户;收到其他所有内容后都会将其丢弃。它不存储原始属性,只存储这些属性的密钥哈希,以区分不同数据序列。
  • memry 不会开启 Claude Code 的日志或追踪,因此不会有提示词或代码经由它发送。
memry 会检查什么,以及它看不到什么

在请求令牌之前,enable 会检查运行它的 shell 环境、你的 settings.json,以及 Claude Code 基于文件的托管设置(macOS 上 /Library/Application Support/ClaudeCode 中的 managed-settings.json 和 managed-settings.d/*.json,Linux 和 WSL 上的 /etc/claude-code,Windows 上的 C:\Program Files\ClaudeCode)。如果其中存在任何非 memry 自有变量且值并非 memry 值的遥测设置,它就会停止运行,无论 --force 的设置如何。这些设置包括所有 OTEL_*、CLAUDE_CODE_ENABLE_TELEMETRY*、CLAUDE_CODE_ENHANCED_TELEMETRY*、ENABLE_ENHANCED_TELEMETRY*、CLAUDE_CODE_OTEL_* 和 *BETA_TRACING* 变量,以及 otelHeadersHelper 设置;但值为 none 的导出器和你已设为 memry 值的变量除外。如果某个托管设置文件无法读取,或其中设置了 policyHelper(memry 绝不会运行它),也会停止运行,因为无法确定有效策略。如果 settings.json 中某个 memry 自有变量被设为其他值,除非你传入 --force,否则也会停止运行。非本机的普通 http:// 服务需要使用 --insecure,与 memry setup 一样。

memry 无法查看会话级 --settings 文件、托管策略助手的计算结果、MDM 配置文件、Windows 注册表、服务端管理的设置,也无法查看 Claude Code 实际启动时所处的环境。上述任何一项都可能改变 Claude Code 发送的内容或发送目的地,因此 status 会报告“据 memry 所见”的情况。如果你使用 mTLS,Claude Code 也可能会向你的 memry 服务提供其客户端证书(CLAUDE_CODE_CLIENT_CERT)。

memry 如何追踪
  • memry 会在 memry 配置中的 usage_metrics 下记录它写入的内容(仅你的用户可读取):服务、设置文件、每个变量及其确切值、使用令牌的 ID,以及你之前已设为 memry 值且它从不写入或删除的变量。只有当变量的值与记录值完全一致时,它才属于 memry。disable、memry uninstall 和 memry delete-account 只会从记录的文件中移除这些变量,删除变空的 env,并在操作成功前保留记录。
  • memry 只会在记录的服务上撤销它记录的确切使用令牌,因此你其他设备上的令牌仍可使用;撤销尽力而为,未使用的令牌会在 30 天后失效。为其他服务或 CLAUDE_CONFIG_DIR 执行 enable 会暂停,直到你对第一个配置执行 disable;对其他服务执行 memry setup 会保留记录。
  • enable 会先将新的设置保存为待处理状态,再写入设置文件,因此中断的 enable 会由下一条使用命令完成处理。失败的 enable 不会更改任何内容,正在使用的令牌也会继续生效。
  • memry 仅当文件仍与它检查时逐字节完全一致时才会写入设置;替换文件前会再次比较。文件系统无法与其他程序实现真正的比较并交换,因此如果其他程序恰好在同一时刻写入 settings.json,最后写入者将获胜。使用命令、memry setup、memry uninstall 和 memry delete-account 会共用用户缓存目录下 memry/ 中的锁,该目录必须仅供你访问,以免它们互相覆盖对 memry 配置所做的更改。锁不会被接管;发生崩溃后,错误信息会指出需要删除的锁文件。
  • 如果 memry 配置文件存在,但无法读取为 JSON 对象,使用命令、memry uninstall 和 memry delete-account 都会停止,且不会更改任何内容。

更新

brew upgrade memry

在 Windows 上,运行 winget upgrade Memry.Memry。如果没有包管理器,请再次运行相同的 go install,或将二进制文件替换为较新版本中的文件。升级后,你的登录状态和 Agent 配置会继续生效。

卸载

memry uninstall
brew uninstall memry

memry uninstall 会请求确认,然后从你的 Agent 中移除 memry,并删除本地登录信息。使用 memry uninstall --force 可跳过确认。如果没有 Homebrew,请直接删除 memry 二进制文件,而不是运行 brew uninstall。在 Windows 上,请运行 winget uninstall memry(memry uninstall 会显示适用于你的安装方式的提示)。

删除你的账户
memry delete-account

memry delete-account 会永久删除你的 memry 账户及服务器上的所有记忆,然后像 memry uninstall 一样从你的 Agent 中移除 memry,并删除本地登录信息。此操作无法撤销,因此会要求你输入账户邮箱以确认。

你的数据

你的记忆存储在 memry 服务上,并与你的账户关联。memry uninstall 会撤销此设备上的令牌,使其无法再访问这些记忆。memry delete-account 会删除这些记忆。只有在你启用使用情况指标后,才会发送相关数据(请参阅使用情况指标)。有关 memry 存储的内容及其处理方,请参阅隐私政策(西班牙语)。

许可证

memry 以 MIT 许可证发布。有关版本说明,请参阅 CHANGELOG.md;有关开发和故障排除,请参阅 CONTRIBUTING.md。

评论

支持 Markdown

第一次接触 MCP?

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

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