mcp-macos について
mcp-macosは、ファイルやアプリの確認からGUI操作、コマンド実行まで対応する、安全性を初期設定としたMac向けMCPサーバーです。モード別の権限、明示的な機能有効化、高影響操作への人間の承認を必要とするエージェント向けです。
主な機能
- 01ファイル、アプリ、プロセス、画面の確認
- 02ファイル書き込みとクリップボード管理
- 03項目を開いて通知を送信
- 04コマンド、削除、GUI操作の制御
- 05パスと許可コマンドの制限
- 06操作の監査と承認要求
活用シーン
- 01読み取り専用モードでMacの状態を確認
- 02許可された範囲でファイルを書き込み
- 03選択した管理操作を有効化
- 04高影響操作に承認を要求
MCP 対応
MCPクライアントにMacの観察・操作ツールを提供し、設定モードに応じてツールを登録します。高影響操作ではMCP elicitationを通じて人間の承認を求められます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @dockndevai/mcp-macosMACOS_MODEAccess mode: read-only | read-write | admin. Starts read-only; writes need read-write.MACOS_ALLOW_EXECSet true to allow run_command / run_applescript / kill_process (admin mode).MACOS_ALLOW_DELETESet true to allow delete_path (moves to Trash; admin mode).MACOS_ALLOW_INPUTSet true to allow GUI input (type/key/click; admin mode). Needs Accessibility permission.MACOS_PATH_ALLOWLISTComma-separated path roots the agent may touch (empty = anywhere; protected paths still apply).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-macos
デフォルトで安全なModel Context Protocolサーバーです。エージェントがMac を監視・操作できます。ファイルの読み取り、プロセスやアプリの一覧表示、スクリーンショットの撮影(読み取り専用)、ファイルの書き込み、クリップボードの設定、通知の送信、項目を開く操作(読み書き可能)ができます。また、明示的にオプトインすると、コマンド/AppleScript の実行、ゴミ箱への削除、プロセスの終了、GUI の操作(管理者権限)も可能です。
起動時は読み取り専用です。影響の大きい操作を有効にするには、admin モードと各操作専用のフラグの両方が必要です。最も危険な操作では、呼び出しごとに人間の承認を求めます。dockndevai MCP サーバースイートの一部であり、すべてのサーバーで共通のガバナンスモデルを採用しています。
Pure Node +
osascript/screencapture— ネイティブアドオンはありません。macOS 専用です。
エージェントに提供する機能
サーバーは読み取り専用で起動します(デフォルトで安全を参照)。より高機能なツールは、モードを引き上げた場合にのみ登録されます。
| ツール | 用途 | 必要なモード |
|---|---|---|
system_info | macOS のバージョン、ハードウェア、メモリ、負荷、稼働時間 | 読み取り専用 |
list_directory / read_file | ファイルの参照と読み取り(パス許可リスト方式) | 読み取り専用 |
list_processes | CPU/メモリ使用量別の実行中プロセス一覧 | 読み取り専用 |
get_clipboard | クリップボードの読み取り | 読み取り専用 |
list_apps / get_frontmost_app | 実行中のアプリとアクティブなアプリ | 読み取り専用 |
screenshot | 画面を PNG としてキャプチャ | 読み取り専用 |
write_file | ファイルの作成/上書き(上書き時に確認) | 読み書き可能 |
set_clipboard / notify / open | クリップボードの設定、通知、ファイル/URL/アプリを開く | 読み書き可能 |
run_command | プログラムの実行(argv、シェル不使用) | admin + MACOS_ALLOW_EXEC |
run_applescript | AppleScript/JXA の実行 | admin + MACOS_ALLOW_EXEC |
kill_process | プロセスへのシグナル送信 | admin + MACOS_ALLOW_EXEC |
delete_path | パスをゴミ箱に移動 | admin + MACOS_ALLOW_DELETE |
type_text / key_press / click / move_mouse | GUI の操作 | admin + MACOS_ALLOW_INPUT |
インストール
npx -y @dockndevai/mcp-macos
macOS と Node ≥ 22 が必要です。click/move_mouse には cliclick も必要です(brew install cliclick)。
設定
{
"mcpServers": {
"macos": {
"command": "npx",
"args": ["-y", "@dockndevai/mcp-macos"],
"env": {
"MACOS_MODE": "read-only"
}
}
}
}
Claude Code / Cursor / Codex / VS Code / Windsurf の設定例についてはdocs/CLIENTS.mdを、サポートされているすべての変数については.env.exampleを参照してください。
デフォルトで安全
このサーバーは Mac 全体を操作できるため、アクセスモデル(src/security.ts によって適用されます)は意図的に厳格に設定されています。これはドキュメント上の説明ではなく、多層防御です。
| 質問 | 設定 | デフォルト | 備考 |
|---|---|---|---|
| どのような操作ができますか? | MACOS_MODE | read-only | read-only は監視のみ、read-write はファイル/クリップボードへの書き込みとファイルを開く操作を行い、admin は実行/削除/プロセス終了/GUI 操作を追加します。設定されたモードを超えるツールは登録されません。 |
| どのパスにアクセスできますか? | MACOS_PATH_ALLOWLIST | (任意の場所) | ルートパスをカンマ区切りで指定します。設定すると、対象外のパスに対するファイル操作は拒否されます。 |
| 常に読み取り専用となるパスはどれですか? | MACOS_PROTECTED_PATHS | システムと秘密情報 | /System、/usr、/bin、/sbin、/private、/Library、~/.ssh、~/.aws、~/.gnupg、~/Library/Keychains は読み取り可能ですが、変更できません。 |
| コマンドを実行できますか? | MACOS_ALLOW_EXEC | false | (admin モードに加えて)run_command、run_applescript、kill_process を制御します。 |
| 実行できるプログラムを制限しますか? | MACOS_COMMAND_ALLOWLIST | (任意) | 設定すると、run_command で実行できるプログラム名が指定されたものに限られます。 |
| 削除できますか? | MACOS_ALLOW_DELETE | false | delete_path を制御します(復元可能なようにゴミ箱へ移動します)。 |
| GUI を操作できますか? | MACOS_ALLOW_INPUT | false | type_text/key_press/click/move_mouse を制御します。 |
| 実行せずにプレビュー | MACOS_DRY_RUN | false | 変更を伴うツールは検証して意図をログに記録した後、処理を返します。 |
| 監査ログ | MACOS_AUDIT_LOG | true | 保護された操作ごとに、JSON を1行ずつ標準エラー出力に記録します(ALLOW/DENY/DRY_RUN)。 |
| 対話形式での確認 | (自動) | — | run_command、run_applescript、delete_path、kill_process およびファイルの上書きでは、実行前に MCP の確認機能を通じてユーザーの承認を求めます。確認機能に対応していないクライアントでは、フラグによる制御に切り替わります。 |
SECURITY.md を参照してください。
macOS の権限
ホストプロセス(お使いのターミナル/MCP クライアント)に、システム設定 → プライバシーとセキュリティで次の権限を付与する必要があります。
- 画面収録 —
screenshotに必要です。 - アクセシビリティ —
type_text/key_press/click/move_mouseに必要です。 - オートメーション(アプリごとの確認) —
run_applescriptとアプリの操作に必要です。 - ファイルとフォルダ/フルディスクアクセス — デフォルトのサンドボックス外での読み書きに必要です。
それぞれ初めて必要になったときに確認が表示されます。付与していない権限を回避することはできません。
開発
npm install
npm run build
MACOS_MODE=read-only node dist/index.js
# introspect the tool list:
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node dist/index.js
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。