关于 Mem Reduct
memreduct-mcp 让 Windows 上的 AI Agent 通过 Mem Reduct 的热键释放内存,并报告清理前后的可用 RAM。它利用已运行的 Mem Reduct,无需 Agent 提权或处理确认对话框,适合内存紧张时运行构建、渲染等任务。
主要功能
- 01读取 RAM 状态与占用较高的进程
- 02触发 Mem Reduct 热键清理
- 03返回清理前后的可用 RAM
- 04检查 Mem Reduct 设置与运行状态
- 05Claude Code 钩子按内存压力清理
适用场景
- 01启动大型构建或渲染前释放 RAM
- 02遇到内存不足错误后清理并重试
- 03检查 Mem Reduct 热键是否可用
MCP 相关
此 MCP 服务向客户端提供内存状态、清理和设置检查工具;清理操作通过调用已运行的 Mem Reduct 热键完成。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
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 是否已安装、正在运行且已启用热键,并在不符合条件时说明需要修复的内容。 |
安装
- 安装 Mem Reduct,启动它(它会要求一次管理员权限),并让它留在系统托盘中。开启 Load on system startup 可让它持续运行。
- 在 Mem Reduct Settings > Hotkeys 中,启用 Clean memory。选择一个没有被其他程序使用的组合键。默认的 Ctrl+F1 与 Office 的功能区切换快捷键冲突,因此 Ctrl+Alt+Shift+F12 是不错的选择。服务会读取你设置的组合键。
- 建议:在 Mem Reduct Settings > Advanced 中,启用 Log cleaning results into a debug log。这样,
clean_memory还会返回 Mem Reduct 自身报告的数值(memreductReported),你就不必只相信服务自身的测量结果。 - 可选:关闭清理结果托盘通知,避免每次清理后都弹出通知。
- 需要 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
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。