mcpField
M
mcp-macos

mcp-macos

ローカル
github.com/dockndevai生産性03 日前に更新

mcp-macos について

mcp-macosは、ファイルやアプリの確認からGUI操作、コマンド実行まで対応する、安全性を初期設定としたMac向けMCPサーバーです。モード別の権限、明示的な機能有効化、高影響操作への人間の承認を必要とするエージェント向けです。

主な機能

  1. 01ファイル、アプリ、プロセス、画面の確認
  2. 02ファイル書き込みとクリップボード管理
  3. 03項目を開いて通知を送信
  4. 04コマンド、削除、GUI操作の制御
  5. 05パスと許可コマンドの制限
  6. 06操作の監査と承認要求

活用シーン

  1. 01読み取り専用モードでMacの状態を確認
  2. 02許可された範囲でファイルを書き込み
  3. 03選択した管理操作を有効化
  4. 04高影響操作に承認を要求

MCP 対応

MCPクライアントにMacの観察・操作ツールを提供し、設定モードに応じてツールを登録します。高影響操作ではMCP elicitationを通じて人間の承認を求められます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dockndevai-mcp-macos": {
"command": "npx",
"args": [
"-y",
"@dockndevai/mcp-macos"
],
"env": {
"MACOS_MODE": "<MACOS_MODE>",
"MACOS_ALLOW_EXEC": "<MACOS_ALLOW_EXEC>",
"MACOS_ALLOW_DELETE": "<MACOS_ALLOW_DELETE>",
"MACOS_ALLOW_INPUT": "<MACOS_ALLOW_INPUT>",
"MACOS_PATH_ALLOWLIST": "<MACOS_PATH_ALLOWLIST>"
}
}
}
}
起動コマンドnpx -y @dockndevai/mcp-macos
設定が必要な環境変数
MACOS_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@dockndevai/mcp-macos0.2.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcp-macos

npm CI licence

デフォルトで安全なModel Context Protocolサーバーです。エージェントがMac を監視・操作できます。ファイルの読み取り、プロセスやアプリの一覧表示、スクリーンショットの撮影(読み取り専用)、ファイルの書き込み、クリップボードの設定、通知の送信、項目を開く操作(読み書き可能)ができます。また、明示的にオプトインすると、コマンド/AppleScript の実行、ゴミ箱への削除、プロセスの終了、GUI の操作(管理者権限)も可能です。

起動時は読み取り専用です。影響の大きい操作を有効にするには、admin モードと各操作専用のフラグの両方が必要です。最も危険な操作では、呼び出しごとに人間の承認を求めます。dockndevai MCP サーバースイートの一部であり、すべてのサーバーで共通のガバナンスモデルを採用しています。

Pure Node + osascript/screencapture — ネイティブアドオンはありません。macOS 専用です。

エージェントに提供する機能

サーバーは読み取り専用で起動します(デフォルトで安全を参照)。より高機能なツールは、モードを引き上げた場合にのみ登録されます。

ツール用途必要なモード
system_infomacOS のバージョン、ハードウェア、メモリ、負荷、稼働時間読み取り専用
list_directory / read_fileファイルの参照と読み取り(パス許可リスト方式)読み取り専用
list_processesCPU/メモリ使用量別の実行中プロセス一覧読み取り専用
get_clipboardクリップボードの読み取り読み取り専用
list_apps / get_frontmost_app実行中のアプリとアクティブなアプリ読み取り専用
screenshot画面を PNG としてキャプチャ読み取り専用
write_fileファイルの作成/上書き(上書き時に確認)読み書き可能
set_clipboard / notify / openクリップボードの設定、通知、ファイル/URL/アプリを開く読み書き可能
run_commandプログラムの実行(argv、シェル不使用)admin + MACOS_ALLOW_EXEC
run_applescriptAppleScript/JXA の実行admin + MACOS_ALLOW_EXEC
kill_processプロセスへのシグナル送信admin + MACOS_ALLOW_EXEC
delete_pathパスをゴミ箱に移動admin + MACOS_ALLOW_DELETE
type_text / key_press / click / move_mouseGUI の操作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_MODEread-onlyread-only は監視のみ、read-write はファイル/クリップボードへの書き込みとファイルを開く操作を行い、admin は実行/削除/プロセス終了/GUI 操作を追加します。設定されたモードを超えるツールは登録されません。
どのパスにアクセスできますか?MACOS_PATH_ALLOWLIST(任意の場所)ルートパスをカンマ区切りで指定します。設定すると、対象外のパスに対するファイル操作は拒否されます。
常に読み取り専用となるパスはどれですか?MACOS_PROTECTED_PATHSシステムと秘密情報/System、/usr、/bin、/sbin、/private、/Library、~/.ssh、~/.aws、~/.gnupg、~/Library/Keychains は読み取り可能ですが、変更できません。
コマンドを実行できますか?MACOS_ALLOW_EXECfalse(admin モードに加えて)run_command、run_applescript、kill_process を制御します。
実行できるプログラムを制限しますか?MACOS_COMMAND_ALLOWLIST(任意)設定すると、run_command で実行できるプログラム名が指定されたものに限られます。
削除できますか?MACOS_ALLOW_DELETEfalsedelete_path を制御します(復元可能なようにゴミ箱へ移動します)。
GUI を操作できますか?MACOS_ALLOW_INPUTfalsetype_text/key_press/click/move_mouse を制御します。
実行せずにプレビューMACOS_DRY_RUNfalse変更を伴うツールは検証して意図をログに記録した後、処理を返します。
監査ログMACOS_AUDIT_LOGtrue保護された操作ごとに、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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。