mcpField
M
Mem Reduct

Mem Reduct

本地服务
github.com/RepressedAlliance其他16 天前更新

关于 Mem Reduct

memreduct-mcp 让 Windows 上的 AI Agent 通过 Mem Reduct 的热键释放内存,并报告清理前后的可用 RAM。它利用已运行的 Mem Reduct,无需 Agent 提权或处理确认对话框,适合内存紧张时运行构建、渲染等任务。

主要功能

  1. 01读取 RAM 状态与占用较高的进程
  2. 02触发 Mem Reduct 热键清理
  3. 03返回清理前后的可用 RAM
  4. 04检查 Mem Reduct 设置与运行状态
  5. 05Claude Code 钩子按内存压力清理

适用场景

  1. 01启动大型构建或渲染前释放 RAM
  2. 02遇到内存不足错误后清理并重试
  3. 03检查 Mem Reduct 热键是否可用

MCP 相关

此 MCP 服务向客户端提供内存状态、清理和设置检查工具;清理操作通过调用已运行的 Mem Reduct 热键完成。

配置

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

暂未收录安装方式

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

代码仓库
安装包
npmmemreduct-mcp0.1.1
mcpbmemreduct-mcp.mcpb0.1.1

工具

还没有获取到工具列表

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

详细介绍

memreduct-mcp

让 AI Agent(Claude Code、Codex、Cursor、Claude Desktop……)在 Windows 上使用**你自己的 Mem Reduct**释放 RAM,这样模型、渲染或构建任务现在需要内存时就能得到满足,无需管理员提示,也无需点击关闭对话框。

中文说明

为什么要用

Windows 上的 AI Agent 会自行运行长时间任务:构建、模型推理、渲染,以及同时运行多个会话和 MCP 服务。内存会逐渐耗尽,但 Agent 无法释放内存:空闲会话仍会让内存页驻留,而清理其他程序的内存需要 Agent 没有的管理员权限。Mem Reduct 可以做到这一点,但只有在有人点击时才行。

memreduct-mcp 弥补了这一缺口:你已经在运行的 Mem Reduct 会在 Agent 需要时进行清理,并告知 Agent 清理结果。

工作原理

Mem Reduct 已经以提升权限的方式在系统托盘中运行。此服务会按下 Mem Reduct 的清理内存热键。Windows 会将已注册的热键发送给以提升权限运行的 Mem Reduct,即使触发热键的是未提升权限的 Agent,因此无需 UAC 提示、计划任务或管理员服务。随后,服务会等待 Mem Reduct 记录清理结果(其 ini 文件中的 StatisticLastReduct),并测量清理前后的可用 RAM。

按下热键清理时不会显示确认提示或模态对话框。因此,此服务不会使用 memreduct.exe -clean:该命令行总会以消息框结束,需要有人点击。

本项目不包含 Mem Reduct。Mem Reduct 是 Henry++ 开发的 GPL-3.0 软件;此服务只会按下它的热键。

何时清理

Agent 无法感知内存压力,单靠书面指导也不够:在一次持续 14 小时的视频任务中,配有此服务使用说明的 Agent 从未自行清理,而 PC 有 75 分钟的可用内存低于 1 GB。因此,Claude Code 插件还提供了钩子,会在每个 Agent 步骤运行:

时机操作
开始繁重工作(子 Agent、工作流、后台任务、构建、渲染)前,可用内存低于 25%先清理。在负载下,测得的内存增益会在几分钟内消退,因此此时机最重要。
工具因内存不足错误而失败(非 GPU 内存)清理,并告知 Agent 可以合理地重试。
可用内存低于 15% 并持续至少 30 秒将内存数据和占用最大的进程告知 Agent。每个会话提醒一次,恢复后或 15 分钟后可再次提醒。
可用内存低于 6%在下一个步骤清理。
清理后 5 分钟内再次处于低内存状态不再清理。告知 Agent 清理效果未能维持,应降低并行度、等待或告知你。

所有会话共用一个锁和冷却时间。钩子只会在 Agent 工作时运行,因此在没有 Agent 工作的数小时内,也应将 Mem Reduct 自身的使用率高于此值时清理设置为约 92%。

设置 MEMREDUCT_MCP_NEED_PCT、MEMREDUCT_MCP_WARN_PCT、MEMREDUCT_MCP_CRITICAL_PCT 或 MEMREDUCT_MCP_REARM_PCT 可更改阈值;设置 MEMREDUCT_MCP_HOOKS=off 可关闭钩子。钩子的操作记录在 %USERPROFILE%\.memreduct-mcp\hook-log.jsonl 中(仅包含内存数据、工具名称和会话 ID)。

其他客户端可以使用这些工具和服务说明,但目前没有钩子,因此 Agent 是否自行清理取决于它自身。

工具

工具功能
memory_status显示 RAM 总量、可用量和已提交量,以及占用最大的进程。只读。
clean_memory触发 Mem Reduct 清理,并返回清理前后的可用 RAM、freedMB,以及结果日志启用时 Mem Reduct 自身记录的数据。可选的 needed_mb 参数会在可用内存已达到该数量时跳过清理。设有冷却时间(默认 120 s,可通过环境变量 MEMREDUCT_MCP_COOLDOWN 设置)。
memreduct_setup_check检查 Mem Reduct 是否已安装、正在运行且已启用热键,并在不符合条件时说明需要修复的内容。

安装

  1. 安装 Mem Reduct,启动它(它会要求一次管理员权限),并让它留在系统托盘中。开启 Load on system startup 可让它持续运行。
  2. 在 Mem Reduct Settings > Hotkeys 中,启用 Clean memory。选择一个没有被其他程序使用的组合键。默认的 Ctrl+F1 与 Office 的功能区切换快捷键冲突,因此 Ctrl+Alt+Shift+F12 是不错的选择。服务会读取你设置的组合键。
  3. 建议:在 Mem Reduct Settings > Advanced 中,启用 Log cleaning results into a debug log。这样,clean_memory 还会返回 Mem Reduct 自身报告的数值(memreductReported),你就不必只相信服务自身的测量结果。
  4. 可选:关闭清理结果托盘通知,避免每次清理后都弹出通知。
  5. 需要 Node.js 18 或更高版本。
Claude Code(插件,包含一个告知 Claude 何时清理的技能)
/plugin marketplace add RepressedAlliance/memreduct-mcp
/plugin install memreduct@memreduct-mcp
Codex、Cursor 和其他 MCP 客户端

该服务已发布到 npm,包名为 memreduct-mcp:

codex mcp add memreduct -- npx -y memreduct-mcp

服务本身会告知 Codex 何时清理。若要让 Codex 获得 Claude Code 所获得的更详细版本,请将 skills/memreduct/SKILL.md 也复制到 %USERPROFILE%\.codex\skills\memreduct\SKILL.md(可选;新启动的 Codex 会话会加载它)。

对于使用 JSON 配置的客户端(Cursor、Windsurf、Claude Desktop 等),添加:

{
  "mcpServers": {
    "memreduct": { "command": "npx", "args": ["-y", "memreduct-mcp"] }
  }
}
Claude Desktop 扩展

从 Releases 下载 memreduct-mcp.mcpb 并打开,或将它拖到 Claude Desktop 的 Settings > Extensions 页面。可在扩展设置中更改冷却时间。

不使用 npm

克隆仓库;dist/index.cjs 是一个独立打包文件,无需运行 npm install。使用命令 node,并将 C:\path\to\memreduct-mcp\dist\index.cjs 作为参数。

清理 RAM 真的有用吗?

只有在合适的时候才有用。清理会缩减每个程序的工作集并丢弃备用缓存,因此可用 RAM 会增加。增加多少取决于程序占用了多少闲置内存。在一台 16 GB 的测试笔记本电脑上,一个占用 6 GB 闲置内存的进程将可用 RAM 降至 3.6 GB;调用一次 clean_memory 后,可用 RAM 恢复到 10.9 GB(Mem Reduct 的日志为:“Cleanup (Hotkey), 7.72 GB”)。如果刚清理过,且已有 10 GB 可用,同样的调用释放的内存不到 1 GB。

对闲置的 Agent 会话来说,清理效果最明显。8 个长期运行的 Claude Code 会话(包含其 MCP 服务,共 40 个进程)完成一些工作后处于闲置状态;清理一次后,它们的工作集从 2.81 GB 降至 0.42 GB,五分钟后则为 1.02 GB。它们的提交量仍约为 4 GB:清理会释放物理 RAM,但不会结束进程,也不会降低提交量。

程序再次访问这些页面时,会从磁盘将它们读回来,因此清理并不能普遍提升 PC 的速度。当一个耗用大量内存的任务即将启动且内存不足时,清理会有所帮助。该工具的冷却时间和随附的技能会引导 Agent 在这种情况下使用清理功能,避免按计划定时清理。

限制

  • 仅支持 Windows,且 Mem Reduct 必须正在运行。
  • 如果某个提升权限的窗口(例如任务管理器)处于键盘焦点,或 PC 已锁定,Windows 会阻止模拟按键。此时 clean_memory 会返回 cleaned: false,并附带提示。
  • 如果其他程序占用了相同的组合键,清理就不会执行;请选择其他组合键。

开发

npm install
npm run build   # bundles src/ into dist/index.cjs
npm test        # end-to-end: starts the server and really cleans memory
npm run test:policy  # the hooks' decisions, without touching memory
npm run pack:mcpb  # builds memreduct-mcp.mcpb for Claude Desktop

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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