MCP Server - Remote MacOs Use について
Claude Desktop から AI がリモートの macOS を操作できるオープンソースの MCP サーバーです。画面共有を利用するため、操作対象の Mac に追加のソフトウェアをインストールする必要はありません。デスクトップ作業を自動化したいユーザー向けです。
主な機能
- 01リモート画面のスクリーンショット取得
- 02キーボード入力とマウス操作
- 03座標の自動スケーリング
- 04アプリの起動・アクティブ化と PID の返却
- 05環境変数による接続設定
活用シーン
- 01リモート Mac 上でのデスクトップ自動化
- 02GUI 経由の情報収集やソーシャルメディア操作
- 03Mail などアプリでの定型作業の処理
MCP 対応
MCP クライアントに対して、画面・キーボード・マウス・アプリ操作のツールを提供する MCP サーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP サーバー - リモート MacOs Use
AI がリモート macOS システムを完全に制御できるようにする、初のオープンソース MCP サーバーです。
OpenAI Operator の直接的な代替であり、完全なデスクトップ機能を備えた自律型 AI エージェント向けに最適化されており、追加のソフトウェアインストールは不要です。
ショーケース
-
Twitter を調査して投稿する(https://www.youtube.com/watch?v=--QHz2jcvcs)
-
CapCut を使って短いハイライト動画を作成する(https://www.youtube.com/watch?v=RKAqiNoU8ec)
-
AI リクルーター: 候補者情報の収集を自動化し、応募を選考し、Mail アプリを使ってスクリーニングセッションを送信する
-
AI マーケティングインターン: LinkedIn エンゲージメント - 関連ユーザーへの自動フォロー、いいね、コメント
-
AI マーケティングインターン: Twitter エンゲージメント - 関連ユーザーへの自動フォロー、いいね、コメント
To-Do リスト(優先順位付き)
- パフォーマンス最適化 - Ubuntu デスクトップの代替手段の速度に匹敵させる
- Apple Scripts の生成 - 柔軟性を維持しつつ実行時間を短縮する
- VNC カーソルの可視化 - デバッグとデモの体験を向上させる
コントリビューションを歓迎します!
機能
- 追加の API コストなし: 既存の Claude Pro プランで画面処理を無料で行えます
- 最小限のセットアップ: 対象の Mac で画面共有を有効にするだけ - 追加のソフトウェアは不要です
- 幅広い互換性: 現在および将来のすべての macOS バージョンで動作します
これを開発した理由
妥協のないネイティブ macOS 体験
macOS ネイティブのエコシステムは、今日のユーザー体験において依然として他に類を見ないものであり、今後何年にもわたってゴールドスタンダードであり続けるでしょう。ここは人間の能力が真に発揮される場所であり、今やあなたの AI も同じ流暢さでこの環境を操作できます。
設計によるオープンアーキテクチャ
- あらゆる LLM との互換性: お好みの任意の MCP クライアントで動作します
- モデルの柔軟性: OpenAI、Anthropic、その他任意の LLM プロバイダーとシームレスに統合できます
- 将来に強い統合: MCP エコシステムとともに進化するよう設計されています
手間のかからないデプロイ
- 対象マシンでのセットアップ不要: macOS 上にバックグラウンドアプリケーションやエージェントは必要ありません
- 画面共有があれば十分: 画面共有が有効になっている任意の Mac を制御できます
- バックエンドの複雑さを排除: Python アプリケーションやバックグラウンドサービスを実行する必要がある他のソリューションとは異なります
効率化されたブートストラッププロセス
- Claude Desktop の洗練された UI を活用: 開発者向けの Python インターフェースは不要です
- 直感的なユーザー体験: 使い慣れたユーザーフレンドリーなインターフェースを通じて、AI が制御する Mac と対話できます
- 即座の生産性: 面倒な設定なしで、すぐに作業を開始できます
アーキテクチャ
インストール
- MacOs で画面共有を有効にする macstadium.com から Mac をレンタルしている場合は、この手順をスキップできます
- リモート MacOs に接続する
- ローカル Mac 用に Docker Desktop をインストールする
- この MCP サーバーを Claude Desktop に追加する 以下の内容を Claude の設定に追加することで、Claude Desktop が Docker イメージを使用するように構成できます:
{
"mcpServers": {
"remote-macos-use": {
"command": "docker",
"args": [
"run",
"-i",
"-e",
"MACOS_USERNAME=your_macos_username",
"-e",
"MACOS_PASSWORD=your_macos_password",
"-e",
"MACOS_HOST=your_macos_hostname_or_ip",
"--rm",
"buryhuang/mcp-remote-macos-use:latest"
]
}
}
}
LiveKit による WebRTC のサポート
このサーバーには、LiveKit との統合による WebRTC のサポートが含まれており、次の機能を利用できます。
- 低遅延のリアルタイム画面共有
- パフォーマンスと応答性の向上
- 従来の VNC と比較したネットワーク効率の向上
- ネットワーク状況に応じた画質の自動調整
WebRTC 機能を使用するには、次の手順が必要です。
- LiveKit サーバーをセットアップするか、LiveKit Cloud を使用します
- 上記の設定例に従って LiveKit 環境変数を設定します
開発者向けの手順
リポジトリをクローンする
# Clone the repository
git clone https://github.com/yourusername/mcp-remote-macos-use.git
cd mcp-remote-macos-use
Docker イメージのビルド
# Build the Docker image
docker build -t mcp-remote-macos-use .
クロスプラットフォームでの公開
複数のプラットフォーム向けに Docker イメージを公開するには、docker buildx コマンドを使用できます。次の手順に従ってください。
-
新しいビルダーインスタンスを作成します(まだ作成していない場合)。
docker buildx create --use -
複数のプラットフォーム向けにイメージをビルドしてプッシュします。
docker buildx build --platform linux/amd64,linux/arm64 -t buryhuang/mcp-remote-macos-use:latest --push . -
指定したプラットフォームでイメージを利用できることを確認します。
docker buildx imagetools inspect buryhuang/mcp-remote-macos-use:latest
使用方法
このサーバーは、MCP ツールを通じてリモート macOS 機能を提供します。
ツールの仕様
このサーバーは、リモート macOS を操作するための次のツールを提供します。
remote_macos_get_screen
リモート macOS マシンに接続し、リモートデスクトップのスクリーンショットを取得します。接続の詳細には環境変数を使用します。
remote_macos_send_keys
リモート macOS マシンにキーボード入力を送信します。接続の詳細には環境変数を使用します。
remote_macos_mouse_move
自動座標スケーリングを行い、リモート macOS マシン上の指定した座標にマウスカーソルを移動します。接続の詳細には環境変数を使用します。
remote_macos_mouse_click
自動座標スケーリングを行い、リモート macOS マシン上の指定した座標をクリックします。接続の詳細には環境変数を使用します。
remote_macos_mouse_double_click
自動座標スケーリングを行い、リモート macOS マシン上の指定した座標をダブルクリックします。接続の詳細には環境変数を使用します。
remote_macos_mouse_scroll
自動座標スケーリングを行い、リモート macOS マシン上の指定した座標でマウスをスクロールします。接続の詳細には環境変数を使用します。
remote_macos_open_application
アプリケーションを開く、またはアクティブにして、以降の操作に使用する PID を返します。
remote_macos_mouse_drag_n_drop
自動座標スケーリングを行い、リモート macOS マシン上で始点から終点までマウスのドラッグ操作を実行します。
すべてのツールは、接続パラメーターを指定する代わりに、セットアップ時に設定した環境変数を使用します。
制限事項
- 認証のサポート:
- Apple Authentication(プロトコル 30)のみサポートされています
セキュリティに関する注意
https://support.apple.com/guide/remote-desktop/encrypt-network-data-apdfe8e386b/mac https://cafbit.com/post/apple_remote_desktop_quirks/
512 ビットの素数を使用する Diffie-Hellman 鍵共有プロトコルを採用した、プロトコル 30 のみをサポートしています。このプロトコルは、macOS 11 から macOS 12 が OS X 10.11 以前のクライアントと通信する際に使用されます。
以下は、情報を Markdown の表に変換したものです。
| Remote Desktop を実行している macOS のバージョン | macOS クライアントのバージョン | 認証 | 制御と監視 | 項目のコピーまたはパッケージのインストール | その他すべてのタスク | プロトコルバージョン |
|---|---|---|---|---|---|---|
| macOS 13 | macOS 13 | 2048 ビット RSA ホストキー | 2048 ビット RSA ホストキー | 認証に 2048 ビット RSA ホストキーを使用し、その後 128 ビット AES | 2048 ビット RSA ホストキー | 36 |
| macOS 13 | macOS 10.12 | ローカルのみの場合は Secure Remote Password(SRP)プロトコル。LDAP にバインドされている場合、または macOS サーバーのバージョンが 10.11 以前の場合は Diffie-Hellman(DH) | SRP または DH、128 ビット AES | 認証に SRP または DH を使用し、その後 128 ビット AES | 2048 ビット RSA ホストキー | 35 |
| macOS 11 から macOS 12 | macOS 10.12 から macOS 13 | ローカルのみの場合は Secure Remote Password(SRP)プロトコル、LDAP にバインドされている場合は Diffie-Hellman | SRP または DH 1024 ビット、128 ビット AES | macOS 13 から macOS 10.13 では 2048 ビット RSA ホストキー | macOS 10.13 以降では 2048 ビット RSA ホストキー | 33 |
| macOS 11 から macOS 12 | OS X 10.11 以前 | DH 1024 ビット | DH 1024 ビット、128 ビット AES | 512 ビットの素数を使用する Diffie-Hellman 鍵共有プロトコル | 512 ビットの素数を使用する Diffie-Hellman 鍵共有プロトコル | 30 |
リモートの MacOs マシンにアクセスする際は、必ず安全で認証された接続を使用してください。このツールは、信頼でき、アクセス許可を得ているサーバーでのみ使用してください。
ライセンス
詳細については、LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。