macOS コントロール — AI Mac 自動化 は何をしますか?
Claude に 15 個の MCP ツールを介して Mac を直接操作させましょう。アプリの起動、ダークモードの切り替え、ファイル検索、スクリーンショット、クリップボード管理 — すべて自然言語で行えます。
設置場所
プロジェクト: /Users/apple/Aiwithdhruv/AI Development/Claude/Mac-Automation/
MCP サーバー: Mac-Automation/macos_mcp.py
ツール一覧
システム(読み取り専用)
get_system_info() # macOS バージョン、チップ、RAM、稼働時間
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="Hey", 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="Hello World") # クリップボードに書き込み
スクリーンショット
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 は一切使用なし