ClaudeにmacOS-MCPをつないでMacのデスクトップを操作する手順
CursorTouchのmacOS-MCPをClaude DesktopとClaude Codeに登録し、アクセシビリティ権限を渡してMacのアプリを操作させる手順と、Shellツールを外す設定、使ってはいけない環境をまとめます。
ClaudeにMacのアプリを開かせ、クリックや入力までさせたいときは、macOS-MCPというMCPサーバーを登録します。CursorTouchが公開しているオープンソース(MITライセンス)のPythonパッケージで、uvx macos-mcp の1行で起動します。
画面のスクリーンショットを読ませる方式とは違い、macOSのアクセシビリティAPIでUI要素を取得して操作するのが特徴です。この記事では、Claude DesktopとClaude Codeへの登録、権限の渡し方、ツールの絞り込み、使ってはいけない環境を順に扱います。
macOS-MCPは何をするMCPサーバーか
macOS-MCPは、AIエージェントとmacOSを橋渡しする軽量なMCPサーバーです。アプリの起動、ウィンドウ操作、UIの操作、ブラウザ操作、デスクトップ状態の取得、シェル実行を、ツールとしてClaudeに渡します。
要点は次のとおりです。
- 操作の入口はアクセシビリティAPI。UI要素の座標や状態をテキストで取れるため、画像認識は必須ではありません
- 画面の見た目が必要なときだけ、Snapshotツールがスクリーンショットも添えられます
- Claudeに限らず、GPTやGeminiなど任意のLLMから使えます
- 対応OSはmacOS 12(Monterey)から26(Tahoe)まで
Claudeのコネクタディレクトリにも「MacOS-MCP」として載っており、提供元はCursorTouch、追加は2026年8月、「Anthropic verified」の表示があります。ただしディレクトリには「信頼できる開発者のコネクタだけを使うこと。ツールの内容はAnthropicが管理していない」という注意書きもあります。ここは公式のcomputer useと違い、第三者製である点を前提に読んでください。
事前に用意するもの
要件は4つです。
| 項目 | 内容 |
|---|---|
| Python | 内容3.11以上 |
| パッケージ管理 | 内容uv(pip install uv か、公式のインストールスクリプト) |
| macOS | 内容12以上 |
| 権限 | 内容アクセシビリティ(スクリーンショットを使うなら画面収録も) |
uvの導入は次のどちらかです。
pip install uv
# または
curl -LsSf https://astral.sh/uv/install.sh | sh動作確認として、まずサーバーを単体で起動できます。
uvx macos-mcp既定の通信方式はstdioです。MCPクライアントが子プロセスとして起動する前提なので、ターミナルで直接動かしても画面には何も出ません。起動できるかの確認と、権限ダイアログを出すのが目的です。
macOSの権限を渡す
ここが最もつまずきやすい工程です。macOS-MCPは、アクセシビリティと画面収録の2つの権限を必要とします。
アクセシビリティ権限の付与
- 1
設定画面を開く
システム設定の「プライバシーとセキュリティ」から「アクセシビリティ」を開きます。
- 2
起動元のアプリを追加する
端末アプリ(Terminal、iTerm2、VS Codeなど)、Python、uvを追加します。uvxで動かす場合は、端末アプリとPythonに許可を渡します。
- 3
再起動する
許可を付けたら、端末アプリを再起動します。
スクリーンショットを撮るSnapshotツールは、「画面収録」にも同じアプリの許可が要ります。Snapshotが失敗したら、2つの権限が両方付いているかを見直す、というのがREADMEの案内です。
UV管理のPythonがシンボリックリンクで、追加ダイアログで灰色になって選べないことがあります。その場合は手動で追加せず、サーバーを起動してください。v0.3.10以降は起動時にネイティブの許可ダイアログを出し、実行中のプロセスを自動登録します。ダイアログを承認してからサーバーを再起動します。
親プロセスがすでにアクセシビリティ権限を持っているのに権限チェックだけが誤って失敗する場合は、環境変数 MACOS_MCP_SKIP_PERMISSION_CHECK=1 で、終了ではなく警告に格下げできます。
アップデートで権限が消える問題は別の話題です。切り分けはClaude CodeでmacOSの権限が更新で消える原因と再許可の手順にあります。
Claude Desktopに登録する
Claude Desktopは設定ファイル ~/Library/Application Support/Claude/claude_desktop_config.json に書きます。
{
"mcpServers": {
"macos-mcp": {
"command": "uvx",
"args": ["macos-mcp"]
}
}
}保存したらClaude Desktopを再起動します。ディレクトリの「Add to Claude」から追加する方法もありますが、いずれにしても動くのはユーザー本人のMac上のプロセスです。Desktopの接続方式の違いはClaudeコネクタはデスクトップ接続とWeb接続をどう使い分けるかで整理しています。
常駐させたいとき
セッションごとにプロセスが増えるのを避けたい場合は、HTTPサーバーとして常駐させる方法があります。macos-mcp install を実行すると、launchdのLaunch Agentが ~/Library/LaunchAgents/com.macos-mcp.server.plist に作られ、ログイン時にも起動します。
Claude Desktopの設定ファイルはstdioの定義しか受け付けないため、HTTPサーバーにはmcp-remoteを挟みます。
macos-mcp install --transport streamable-http --host 127.0.0.1 --port 8000{
"mcpServers": {
"macos-mcp": {
"command": "npx",
"args": [
"-y", "mcp-remote",
"http://127.0.0.1:8000/mcp",
"--transport", "http-only"
]
}
}
}0.0.0.0に公開するなら --auth-key で認証キーを付けます。READMEは認証付きの構成を推奨しており、IP許可リストやTLSの設定も用意されています。単独のMacで使うだけなら、127.0.0.1のままにしておくのが無難です。常駐を外すときは macos-mcp uninstall です。
Claude Codeに登録する
READMEのClaude Code向け説明は、「プロジェクト設定に追加するか、MCPマーケットプレイスを使う」という一文だけです。具体的な書式は書かれていません。
Claude Code側の公式ドキュメントにあるstdioサーバーの追加形式に当てはめると、次の形になります。-- より後ろが、サーバーを起動するコマンドです。
claude mcp add --transport stdio macos-mcp -- uvx macos-mcp
claude mcp listこれはドキュメントの書式に沿った例で、READMEが示す手順そのものではありません。登録できたかは claude mcp list か、セッション内の /mcp で確かめます。
注意点が1つあります。権限を付ける相手は、サーバーを起動した端末アプリです。Claude Codeを動かしているターミナルに、アクセシビリティと画面収録の許可が付いていないと、ツールは呼べても操作が空振りします。
渡されるツールと、実際の流れ
READMEのツール表は次の10種です。
| ツール | 役割 |
|---|---|
| Click | 役割座標を左・右・ダブルクリック |
| Type | 役割カーソル位置に入力。既存テキストの消去も可 |
| Scroll | 役割縦横のスクロール |
| Move | 役割ポインターの移動とドラッグ |
| Shortcut | 役割Cmd+C、Cmd+Tabなどのショートカット |
| App | 役割アプリの起動、ウィンドウのリサイズ・移動、アプリ切り替え |
| Desktop | 役割新しいMission Controlのスペースを作る |
| Shell | 役割コマンドまたはAppleScriptの実行(mode='osascript') |
| Scrape | 役割Webページ内容をMarkdownに変換 |
| Wait | 役割指定時間の待機 |
ツール名の数え方は資料によってずれます。設定ファイルの節の「利用可能なツール名」は、App、Shell、Snapshot、Click、Type、Scroll、Move、Shortcut、Wait、Scrape、Notificationの11種です。ディレクトリのページもこの並びで、DesktopがなくSnapshotとNotificationが入ります。
つまり、READMEの表にはSnapshotとNotificationが無く、設定ファイルの一覧にはDesktopが無い、という食い違いがあります。ツールを絞る設定を書くときは、自分が入れたバージョンで実際に見えるツール名を先に確認してください。
Pi Agent向けの拡張の節には、推奨の流れが書かれています。
- 最初にSnapshotでUIの状態を読む
- 返ってきた座標をClick、Type、Scrollに渡す
- アクセシビリティの情報が欠けているか曖昧なときだけ、スクリーンショットを使う
これはPi向けの案内ですが、Claudeに指示するときの型としても使えます。たとえば、依頼の最初に「操作の前に毎回Snapshotで状態を読み、座標はその結果から取ること」と書いておきます。
Shellツールを外して被害範囲を狭める
macOS-MCPのShellツールは、ユーザーの全権限でコマンドを実行します。目的がアプリのUI操作だけなら、設定ファイルで外せます。
~/.macos-mcp/config.toml に次のように書きます。
[tools]
exclude = ["Shell", "Scrape"]exclude に並べた名前のツールが無効になります。UI操作だけを任せ、シェルとWeb取得は渡さない構成です。Claude側でも、Claude Codeなら権限設定でツール単位の許可を絞れます。サーバー側と二重に絞っておけば、どちらかの指示が漏れても残りが歯止めになります。
使ってはいけない環境
READMEは、サンドボックスなしで実行され、取り消せない操作もできると明記しています。推奨されているのは次のことです。
- アクセシビリティ権限は信頼できるアプリにだけ付ける
- Shellがユーザーの全権限で動くと理解しておく
- AIが出した行動計画を実行前に確認する
- 価値のないデータだけを置いた仮想マシンや隔離環境で使う
- 本番に近い検証の前にバックアップを取る
使うべきでない環境も挙げられています。
- 代わりのきかないデータがあるシステム
- 本番マシンや共有マシン
- HIPAAやPCIなど、コンプライアンス要件のある環境
仕様上の限界もあります。アクセシビリティAPIに対応していない、または対応が不十分なアプリは操作できません。要素が多い複雑なUIは走査が遅くなり、一部の入力欄はキー入力を受け付けません。システムの認証ダイアログとはやり取りできないため、パスワード入力を挟む作業は人が割り込む前提になります。
匿名の利用統計はオンが既定です。個人情報、ツールの引数、出力は収集されないと説明されています。止めるなら環境変数 ANONYMIZED_TELEMETRY を false にします。
{
"mcpServers": {
"macos-mcp": {
"command": "uvx",
"args": ["macos-mcp"],
"env": { "ANONYMIZED_TELEMETRY": "false" }
}
}
}公式のcomputer useとどう使い分けるか
Anthropic自身のcomputer useは、Claude Codeでは /mcp から有効にするmacOS限定のリサーチプレビューです。手順と制約はClaude Codeのcomputer useをCLIで有効にする手順と制約にあります。Coworkのcomputer useにはアプリのブロックリストがあり、Coworkのアプリブロックリスト設定で守るアプリを選べます。
macOS-MCPには、そうしたアプリ単位の承認画面やブロックリストが、READMEの範囲では見当たりません。かわりに、ツールの除外、認証キー、IP許可リストといったサーバー側の設定が中心です。操作を許す範囲を決める責任が、使う人の側に寄っています。
選び方の目安は次のとおりです。
| 状況 | 向く方 |
|---|---|
| アプリ単位で承認しながら操作させたい | 向く方公式のcomputer use |
| 任意のLLMやクライアントから同じ操作系を使いたい | 向く方macOS-MCP |
| Shellやスクリプト実行まで含めて自動化したい | 向く方macOS-MCP(ただし隔離環境で) |
| 個人データが入った普段使いのMac | 向く方公式のcomputer use、またはmacOS-MCPを使わない |
Macの管理作業をClaudeに任せたいだけなら、デスクトップ操作ではなく管理基盤のMCPを使う手もあります。たとえばJamf MCPサーバーをClaudeに繋ぎ、Mac管理をスマートグループ作成まで会話で行うは、UI操作を介さず管理APIで済ませる例です。
最初の一回は、失うものがない環境で
導入の手順自体は短く、uvの用意、権限の付与、uvx macos-mcp の登録の3つで終わります。難しいのは権限の渡し方と、どこまで任せるかの判断です。
最初の一回は、Finderで新しいフォルダを作る、メモアプリに1行入力する、といった壊れても困らない操作から始めてください。Shellを外した構成で動きを見て、問題がなければ範囲を広げていく進め方になります。