关于 Keep Mac Awake
Keep Mac Awake MCP 服务让 AI Agent 在 MacBook 合盖时启动、查看和停止防休眠会话,适用于运行长时间任务的用户。它通过本机应用控制定时会话,并要求用户确认无限时会话及首次试用会话。
主要功能
- 01查看会话状态与剩余时间
- 02启动定时或无限时会话
- 03停止会话并恢复睡眠设置
- 04提示应用需要用户处理的事项
适用场景
- 01合盖运行长时间测试任务
- 02执行迁移期间保持 Mac 唤醒
- 03查询当前会话及剩余时间
MCP 相关
向 MCP 客户端提供查看状态、启动和停止 Keep Mac Awake 会话的工具。服务通过本机命令与 Mac 上的应用通信,不建立网络连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
3收录的工具列表 · 更新于 3 天前
此工具无需参数。
详细介绍
Keep Mac Awake MCP 服务
此 MCP 服务让 AI Agent 使用 Keep Mac Awake,这是一款 macOS 应用,可在会话期间让合盖的 Apple 芯片 MacBook 保持唤醒状态。你需要单独安装这款应用;它是付费应用,提供免费试用(keepmacawake.com)。使用它时,Agent 会在开始长时间工作前启动定时会话,工作完成后停止会话,并在应用需要你采取操作时通知你,例如接入电源,或在试用期结束后购买应用。Agent 为什么需要它:合上 MacBook 的盖子后,MacBook 会进入睡眠状态,Agent 的工作也会随之停止(合盖也能让 AI Agent 持续运行)。
它适用于任何可运行本地 MCP 服务的应用(Claude Desktop、Claude Code、Codex、Cursor、VS Code、Windsurf 等)。如果你的 Agent 支持插件,Keep Mac Awake 插件也能实现相同功能,提供一个技能,并添加会话启动钩子。
工具
| 工具 | 功能 |
|---|---|
keep_awake_status | 查看会话是否正在运行、剩余时间、免费试用情况,以及是否有新版本的应用。只读。 |
keep_awake_start | 启动时长为 1 至 168 个整小时的会话,或启动不限时会话。 |
keep_awake_stop | 结束会话并恢复正常的睡眠设置。 |
Agent 会自行启动定时会话,并用一行话告知你。启动不限时会话前,以及在 Mac 上启动首次会话(这会开始免费试用)前,Agent 会先征求你的同意:在 Agent 传入 user_agreed 前,keep_awake_start 会拒绝这两种请求。已有会话正在运行时,它绝不会启动第二个会话。电池使用、购买和安装仍由你在菜单栏面板或 Terminal 中处理。
安装
你需要 Node.js 20 或更高版本,以及 Keep Mac Awake 应用(任何搭载 Apple 芯片且运行 macOS 26 或更高版本的 Mac)。
Claude Code:
claude mcp add keepmacawake -- npx -y keepmacawake-mcp
Codex:
codex mcp add keepmacawake -- npx -y keepmacawake-mcp
Claude Desktop、Cursor 及其他使用 JSON 配置文件(claude_desktop_config.json、.cursor/mcp.json)的应用:
{
"mcpServers": {
"keepmacawake": {
"command": "npx",
"args": ["-y", "keepmacawake-mcp"]
}
}
}
该服务是 npm 包 keepmacawake-mcp,已在官方 MCP Registry 中登记为 com.keepmacawake/mcp。
如果应用提示找不到 npx,请提供其完整路径,例如 /opt/homebrew/bin/npx。
从此仓库克隆版本运行,而不是通过 npm 安装:
git clone https://github.com/bartdudzic/keepmacawake
cd keepmacawake/mcp && npm ci --omit=dev
claude mcp add keepmacawake -- node "$PWD/bin/keepmacawake-mcp.mjs"
示例
- “运行完整测试套件并修复所有失败项。我要合上盖子,之后会用手机回来查看。”
- “运行迁移期间,让 Mac 在接下来的 2 小时内保持唤醒。”
- “Keep Mac Awake 现在是否已开启?还剩多少时间?”
运行方式
- 每个工具都会在这台 Mac 上运行一次应用的
keepmacawake命令(status、start或stop,并带上--json),命令位于安装程序放置它的/usr/local/bin,或位于PATH中。设置KEEPMACAWAKE_CLI可使用其他路径。 - 它绝不会运行其他任何内容:没有安装程序、脚本、
sudo、设置更改或付款操作。 - 该命令只与这台 Mac 上的应用后台服务通信。服务不会建立网络连接,也不会收集遥测数据。
- 它仅适用于服务在 Mac 本机运行的情况。在其他地方(例如云容器)运行时,每个工具都会回复,表示 Keep Mac Awake 无法从那里访问。
隐私
服务不会向任何地方发送数据。它的结果会成为 Agent 对话的一部分,因此 Agent 的提供商会收到这些信息:会话是否正在运行、剩余时间、试用剩余时间、电池设置,以及是否有新版本。服务只会转发应用回复中的这些字段:绝不会转发这台 Mac 的 ID、购买详情或应用自身的消息,但会转发应用拒绝会话时给出的简短原因。应用自身的数据使用情况见其隐私说明。
故障排查
- “未安装 Keep Mac Awake”:从 keepmacawake.com 安装应用,或在命令位于其他位置时设置
KEEPMACAWAKE_CLI。 - “其后台服务未响应”:从“应用程序”中打开 Keep Mac Awake。在沙盒中运行服务的 MCP 主机可能会阻止与该服务的连接。
- 会话在使用电池时遭到拒绝:接通交流电源,或在菜单栏面板中允许使用电池。
开发
npm ci
npm test
测试会使用虚假的 keepmacawake 命令运行,绝不会触及真实会话。
支持
请发送邮件至 [email protected]。安全问题:请参阅 SECURITY.md。Keep Mac Awake 与 Apple 无关联。
许可证
该服务端采用 MIT 许可证。它所控制的 Keep Mac Awake 应用不采用此许可证:免费试用期结束后购买该应用,须遵守其自身条款。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。