macOS 控制 — AI Mac 自动化 是做什么的?
通过 15 个 MCP 工具让 Claude 直接控制你的 Mac。打开应用、切换深色模式、搜索文件、截屏、管理剪贴板——全部通过自然语言完成。
位置
项目: /Users/apple/Aiwithdhruv/AI Development/Claude/Mac-Automation/
MCP 服务器: Mac-Automation/macos_mcp.py
工具参考
系统(只读)
get_system_info() # macOS 版本、芯片、内存、运行时间
get_running_apps() # 所有可见的正在运行的应用
get_disk_usage() # 每个卷的存储空间
应用控制
open_app(app_name="Safari") # 启动应用(已针对 /Applications/ 验证)
close_app(app_name="Notes") # 通过 AppleScript 优雅退出
switch_to_app(app_name="Terminal") # 将应用置于前台
显示与音频
toggle_dark_mode() # 在亮色与暗色之间切换(视觉即时生效)
set_volume(level=50) # 0-100,自动取消静音
通知
send_notification(title="嘿", message="课程开始!", sound="Glass")
play_sound(sound_name="Ping") # 提供 14 种系统音效
文件与搜索
spotlight_search(query="发票.pdf", folder="~/Documents", limit=20)
open_folder(folder_path="~/Desktop") # 在 Finder 中打开
剪贴板
get_clipboard() # 读取当前剪贴板
set_clipboard(text="你好世界") # 写入剪贴板
截图
take_screenshot(region="full") # 保存 PNG 到桌面
take_screenshot(region="window") # 仅前窗口
模式
输入
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| app_name | str | 视情况而定 | 不带 .app 的应用名(例如 'Safari') |
| level | int | 视情况而定 | 音量 0-100 |
| title | str | 视情况而定 | 通知标题 |
| message | str | 视情况而定 | 通知正文 |
| sound | str | 否 | 声音名称(default/Glass/Ping/Pop 等) |
| query | str | 视情况而定 | Spotlight 搜索查询 |
| folder | str | 否 | 限定搜索范围的文件夹 |
| text | str | 视情况而定 | 剪贴板文本 |
| region | str | 否 | 截图区域(full/window) |
输出
| 名称 | 类型 | 描述 |
|---|---|---|
| result | str | 人类可读的结果或错误消息 |
凭据
| 名称 | 类型 | 必需 | 描述 |
|---|---|---|---|
| (无) | — | — | 无需凭据——使用本地 macOS 命令 |
可组合工具
ghost-browser— 截图 → 分析 → 自动化浏览器google-mcp— 搜索文件 → 电子邮件附件instantly-campaigns— 剪贴板 → 电子邮件模板
成本
免费 — 仅使用标准库,无 API 调用。
安全性
- 屏蔽的关键词:rm, sudo, shutdown, format, erase, passwd, kill
- 应用名已针对 /Applications/ 验证
- AppleScript 字符串已转义
- 所有命令超时 10 秒
- 任何地方均未使用 shell=True