关于 Moom MCP Server
Moom MCP Server 让 Claude Desktop 在 macOS 上控制 Moom 的已保存布局和窗口操作。它还可通过可选的 DisplayPlacer 集成实现精确的多显示器定位。
主要功能
- 01激活和保存 Moom 布局
- 02调整大小、移动、居中及铺满窗口
- 03打开 Moom 弹出菜单
- 04基于坐标的多显示器定位
适用场景
- 01切换已保存的工作区布局
- 02保存窗口排列以便复用
- 03在多个显示器间定位窗口
MCP 相关
该 MCP 服务向 Claude Desktop 等 MCP 客户端提供激活和保存布局、执行窗口操作及显示 Moom 菜单的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Moom MCP 服务
一种 Model Context Protocol(MCP)服务,可通过 Claude Desktop 中的自然语言命令,以编程方式控制 macOS 上的 Moom 窗口布局。
概览
此 MCP 服务可让 Claude 与 Moom 交互。Moom 是一款功能强大的 macOS 窗口管理工具,可帮助你:
- 在已保存的窗口布局之间切换
- 以像素级精度创建新的窗口排列
- 控制多个显示器上的窗口位置和大小
- 通过对话式命令管理工作区布局
- 新增:集成 DisplayPlacer,实现多显示器精确定位
功能
- 🖼️ activate_layout - 即时切换到任意已保存的 Moom 布局
- 💾 save_current_layout - 将当前窗口排列保存为可重复使用的布局
- 🎯 trigger_moom_action - 执行 Moom 窗口操作(调整大小、移动、居中等)
- 📋 show_moom_menu - 显示 Moom 弹出菜单
- 🖥️ DisplayPlacer 集成 - 以像素级精度定位多显示器上的窗口
- 📐 精确布局 - 基于精确坐标的窗口管理
先决条件
- macOS(10.12 或更高版本)
- 已安装并运行 Moom
- Node.js 14 或更高版本
- Claude Desktop 应用
- 已获得辅助功能权限的终端应用
- 可选:DisplayPlacer,用于增强多显示器支持
安装
-
克隆此仓库:
git clone https://github.com/itrimble/moom-mcp.git cd moom-mcp -
安装依赖项:
npm install -
授予辅助功能权限:
- 打开 系统偏好设置 → 安全性与隐私 → 隐私 → 辅助功能
- 添加并启用终端(或你的终端应用)
- 添加并启用 Claude Desktop
-
添加到 Claude Desktop 配置:
- 打开 Claude Desktop
- 前往 Settings → Developer → Edit Config
- 将以下内容添加到你的
claude_desktop_config.json:
{ "mcpServers": { "moom": { "command": "node", "args": ["/absolute/path/to/moom-mcp/src/index.js"] } } } -
重启 Claude Desktop
用法
安装完成后,你可以在 Claude Desktop 中使用自然语言命令:
激活布局
- “切换到我的 Teaching (Mac Mini) 布局”
- “激活 AI Research Mode 工作区”
- “使用我的编码布局”
- 新增:“切换到 DisplayPlacer Coding Pro”(像素级精确定位)
保存布局
- “将当前窗口排列保存为 ‘Focus Mode’”
- “创建一个名为 ‘Video Editing’ 的新布局”
窗口操作
- “把这个窗口调大”(放大)
- “将活动窗口居中”
- “将窗口移到左侧”
- “让当前窗口填满屏幕”
菜单访问
- “显示 Moom 菜单”
- “打开 Moom 的布局选择器”
多显示器精确定位(新增)
- “创建 DisplayPlacer 编码布局”(使用精确坐标)
- “以像素级精度定位窗口”
- “针对我的 4K 显示器配置进行优化”
可用命令
| 命令 | 描述 | 示例 |
|---|---|---|
activate_layout | 切换到已保存的 Moom 布局 | { "layoutName": "Teaching (Mac Mini)" } |
save_current_layout | 保存当前窗口排列 | { "layoutName": "Development Setup" } |
trigger_moom_action | 执行窗口操作 | { "action": "center" } |
show_moom_menu | 显示 Moom 弹出菜单 | {} |
支持的窗口操作
grow- 增大窗口shrink- 缩小窗口move-left- 将窗口向左移动move-right- 将窗口向右移动move-up- 将窗口向上移动move-down- 将窗口向下移动center- 将窗口在屏幕上居中fill-screen- 最大化窗口
DisplayPlacer 集成
此服务现已使用 DisplayPlacer 提供高级多显示器支持:
优势
- 使用精确显示坐标实现像素级精确定位
- 具备多显示器感知能力,可正确计算原点
- 考虑缩放因素,优化4K 显示器
- 支持高刷新率(120Hz 及以上)
- 支持负坐标处理,适用于位于左侧的显示器
增强布局
- DisplayPlacer Coding Pro:面向开发的精准布局
- Ultimate Multi-Monitor Pro:充分利用所有显示器的显示空间
安装(可选)
brew install jakehilborn/jakehilborn/displayplacer
项目结构
moom-mcp/
├── src/
│ ├── index.js # Main MCP server implementation
│ └── displayplacer-layouts.js # DisplayPlacer integration module
├── examples.md # Usage examples and workflows
├── test.js # Basic functionality tests
├── test-ui.js # UI automation tests
├── validate.js # Configuration validator
├── demo.js # Feature demonstration
├── package.json # Node.js configuration
├── LICENSE # MIT License
└── README.md # This file
开发
测试
运行测试套件:
npm test # Basic tests
npm run test-ui # UI automation tests
npm run validate # Validate configuration
调试
-
检查 Moom 是否正在运行:
pgrep -x Moom -
确认已授予辅助功能权限
-
运行验证脚本:
npm run validate
故障排除
“访问 Moom 菜单时出错”
- 确保 Moom 正在运行
- 确认 Terminal 和 Claude Desktop 已获得辅助功能权限
- 检查 Moom 的菜单栏图标是否可见
布局未激活
- 布局名称区分大小写
- 在 Moom 偏好设置中确认布局的准确名称
- 布局名称中的特殊字符可能需要转义
MCP 未在 Claude 中加载
- 更改配置后,重新启动 Claude Desktop
- 检查配置文件路径是否为绝对路径
- 确认 Node.js 位于你的 PATH 中
贡献
欢迎贡献!请随时提交 Pull Request。
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
作者
Ian Trimble - GitHub
致谢
- 感谢 Many Tricks 创建 Moom
- 感谢 Anthropic 推出 Model Context Protocol
- 感谢 MCP 社区提供灵感和示例
相关项目
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。