ClawTank について
ClawTankは、標準的なリモートデスクトップクライアントからMacのデスクトップに接続・操作できる、macOSネイティブのオープンソースRDPサーバーです。Agent APIとMCPサーバーも備え、Mac上のAIエージェントが画面を取得して操作できます。エージェントごとのトークンと監査ログにも対応します。
主な機能
- 01macOSネイティブのRDPサーバー
- 02ハードウェアエンコードのH.264動画
- 03サイズ変更可能な仮想デスクトップ
- 04キーボード、マウス、音声、クリップボード対応
- 05TLS、NLA、接続監査ログ
- 06エージェント別トークン対応のAgent API
活用シーン
- 01Windows、モバイル、LinuxからMacに接続
- 02ダミーディスプレイなしでヘッドレスMacを利用
- 03AIエージェントによるMacデスクトップの確認と操作
- 04Tailscale経由でのリモート接続
MCP 対応
ClawTankは、Mac上のAIエージェント向けにMCPサーバーとAgent APIを備えています。エージェントは画面を取得してデスクトップを操作でき、個別トークン、監査ログ、目視できる停止ボタンを利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ClawTank
Mac に RDP で接続。オープンソース、ハードウェアアクセラレーション対応、クラウド不要です。
インストール · 接続 · FAQ · トラブルシューティング · ドキュメント · ベータ版のテストに協力
ClawTank は macOS 向けのネイティブ RDP サーバーです。標準的なリモートデスクトップクライアントから Mac に接続し、滑らかなフルデスクトップ環境を利用できます。Windows では Windows App、Mac、iPad、iPhone では Windows App、Android では Microsoft の RDP アプリ、Windows では組み込みの mstsc、Linux では FreeRDP を利用できます。
自宅に Mac mini や Mac Studio はありますか? MacBook、Windows PC、iPad、Linux から利用できます。ダミーディスプレイプラグもクラウドも不要で、デスクトップは Retina の鮮明さを保ったままウィンドウに合わせて表示されます。
ステータス:0.9 ベータ版。 以下のすべての機能は、自動テスト、実測、各コミットでの FreeRDP 相互運用テストによって検証されています。Microsoft のクライアント(Windows App、
mstsc)、ヘッドレスの Mac mini、実際のネットワーク環境での実地テストを進めています。テストに協力するか、問題を報告してください。
機能
- 高速: Mac のメディアエンジンで H.264 動画をエンコードし、RDP のグラフィックスパイプライン経由で送信します。Apple silicon では CPU 使用率 10%未満で約 60 fps です。
- 画面にフィット: デスクトップはクライアントのウィンドウに合わせてリアルタイムにサイズ変更されます。Retina の仮想ディスプレイで文字が鮮明に表示され、ヘッドレスの Mac でもダミーの HDMI プラグは不要です。
- ローカル環境のような使い心地:
- スクロール、中央ボタン、戻る/進むボタンを含むキーボードとマウス
- クライアント上に描画されるカーソル形状
- システムオーディオ、双方向クリップボード(テキスト、リッチテキスト、画像)
- ファイルやフォルダーのコピーと貼り付け
- デフォルトでセキュア:
- ネットワークレベル認証を備えた TLS と専用パスワード(macOS のパスワードは使用しません)
- ローカルネットワークのみ、ログイン失敗後のロックアウト、監査ログ
- Tailscale でどこからでもアクセス: ポートフォワーディング不要で、インターネットに公開されるものもありません(ガイド)。
- エージェント API と MCP サーバー: Mac 上の AI エージェントがスクリーンショットを撮影し、操作できるようにします。エージェントごとのトークン、監査ログ、画面上に表示される停止ボタンを備えています(ガイド)。
- 無料のオープンソース: Apache-2.0 ライセンスのもとで提供され、企業での利用も可能です。アカウント、テレメトリー、クラウドは不要です。
比較
| ClawTank | macOS 画面共有 | Chrome リモートデスクトップ | |
|---|---|---|---|
| プロトコル | RDP | VNC ベース(Apple の拡張機能) | 独自方式(Google 経由) |
| Windows の標準ツールから接続 | ✅ mstsc / Windows App | ❌ VNC クライアントが必要 | ❌ Chrome が必要 |
| iPad / iPhone / Android | ✅ Windows App / Microsoft RDP アプリ | サードパーティ製 VNC アプリ | ✅ Chrome リモートデスクトップアプリ |
| アカウントが必要 | いいえ | いいえ | Google アカウント |
| 通信経路 | 直接接続(LAN または独自の Tailscale) | 直接接続 | Google のサーバー経由でセットアップし、直接接続に失敗すると Google が中継 |
| ハードウェアビデオエンコーディング | ✅ H.264 | 高パフォーマンスモード時(Mac から Mac、Apple シリコン) | — |
| クライアントのウィンドウに合わせてデスクトップをリサイズ | ✅ | — | — |
| ダミーディスプレイプラグなしでヘッドレス Mac を使用 | ✅ 仮想ディスプレイ | — | — |
| 価格/ライセンス | 無料、Apache-2.0 | macOS に付属 | 無料、クローズドソース |
各製品の公開ドキュメントに基づいています。訂正を歓迎します。「—」は未確認を意味します。
インストール
必要条件: Apple シリコン搭載の macOS 14 Sonoma 以降。Intel Mac の場合はソースからビルドしてください(未テスト)。
-
Releases から
ClawTank-<version>-arm64.dmgをダウンロードします。必要に応じてSHA256SUMSと照合します:shasum -a 256 ~/Downloads/ClawTank-*.dmg -
DMG を開き、ClawTank を Applications にドラッグします。
-
初回起動(このベータ版はまだ公証されていません):
- ClawTank を開きます。macOS にデベロッパーを検証できないというメッセージが表示されます。
- 完了をクリックし、システム設定 → プライバシーとセキュリティを開きます。
- 下にスクロールして ClawTank に関するメッセージを表示し、このまま開くをクリックしてから、パスワードまたは Touch ID で確認します。
この操作は一度だけ行います。ターミナルを使う場合は、
xattr -dr com.apple.quarantine /Applications/ClawTank.appを実行してください。公証済みの Developer ID 署名付きビルドは通常どおり開きます。詳しくは docs/releasing.md をご覧ください。 -
ClawTank はメニューバー(ディスプレイアイコン)に表示されます。セットアップウィンドウに沿って、次の設定を行います。
- 画面収録: クライアントで画面を表示できるようにします。
- アクセシビリティ: クライアントのキーボードとマウスで Mac を操作できるようにします。
- ClawTank のパスワード: RDP クライアントで入力するパスワードです。Mac のパスワードではありません。
セットアップウィンドウには、接続に使うアドレス、ユーザー名、証明書のフィンガープリントが表示されます。**メニュー → セットアップガイド…**からいつでも再度開けます。
接続
ClawTank メニューに表示されるアドレス(Copy Address)、セットアップ時に表示される ClawTank のユーザー名、ClawTank のパスワードを使用します。クライアントと Mac は同じネットワーク上にあるか、両方が Tailscale に接続されている必要があります(下記を参照)。
Windows(リモートデスクトップ接続)
- Win+R を押し、
mstscと入力して Enter キーを押します。 - コンピューター: Mac のアドレスを入力します。オプションの表示をクリックし、ユーザー名を入力します。
- 接続をクリックし、ClawTank のパスワードを入力します。
- Windows で証明書に関する警告が表示されます。フィンガープリントが ClawTank のセットアップガイドに記載されたものと一致することを確認してから、承認します。次回以降に確認されないよう、「次回から確認しない」にチェックを入れます。
Mac(Windows App)
- Mac App Store から Windows App をインストールします。
- + → Add PC をクリックします。PC 名: Mac のアドレスを入力します。ユーザーアカウント: ClawTank のユーザー名とパスワードを追加します。
- PC をダブルクリックします。ヒント:PC の設定で Optimize for Retina displays をオンにすると、文字がくっきり表示されます。
MacBook から Mac mini または Mac Studio を使う場合のセットアップです。デスクトップは MacBook のウィンドウサイズで作成されるため、文字は MacBook 自体の画面と同じ鮮明さで表示されます。
iPad / iPhone / Android
- App Store から Windows App をインストールします(Android の場合は、Google Play から Microsoft の Remote Desktop / Windows App をインストールします)。
- + → Add PC をタップします。Mac のアドレスと、ClawTank のユーザー名およびパスワードを入力します。
- PC をタップして接続します。
Linux(FreeRDP / Remmina)
xfreerdp3 /v:<address> /u:<username> /dynamic-resolution /gfx:avc420
または、同じアドレスとユーザー名を使って Remmina に RDP 接続を追加します。
自宅やオフィスの外から接続する場合: Mac とお使いのデバイスに Tailscale をインストールし、同じアカウントでサインインします。その後、ClawTank → Settings → Remote Access に表示される名前に接続します。ルーターでポート 3389 を転送しないでください。Wake-on-LAN についても説明している docs/remote-access.md を参照してください。
よくある質問
安全に実行できますか? 接続は TLS で暗号化され、NLA が必要なため、画面が表示される前にパスワードが確認されます。デフォルトでは、ローカルネットワークと Tailscale のアドレスからのみ接続できます。5 分間にログインに 5 回失敗すると、そのアドレスは 5 分間ブロックされます。すべての試行は メニュー → 接続ログ… に記録されます。パスワードは Keychain に保存されます。アドホックビルドの場合は、アクセス権が 0600 のファイルに保存されます。
画面収録とアクセシビリティが必要なのはなぜですか? 画面収録を使って、ClawTank は画面をキャプチャして送信します。アクセシビリティを使うと、クライアントのキーボードとマウスを実際の入力として操作できます。アクセシビリティがない場合、画面を見ることはできますが、操作はできません。ClawTank がディスクに録画を保存することはありません。
macOS アカウントではなく、専用のパスワードを使うのはなぜですか?
RDP パスワードが漏れても、Mac、Keychain、sudo のロック解除に使われないようにするためです。設定 → セキュリティ から変更できます。
Mac がロックされているときやログイン画面が表示されているときに接続できますか? macOS では、アプリがロック画面をキャプチャすることはできません。誰かがキーボードで Mac のロックを解除するまで、クライアントには壁紙だけが表示されます。常時稼働の Mac mini では、自動ログインを有効にすると、再起動後にデスクトップがすぐに使える状態になります(FileVault が有効な場合は利用できません)。ただし、誰が物理的に Mac に近づけるかを考慮してください。Mac がロックされているときは、ClawTank のメニューに表示されます。
Mac しか使っていません。macOS の画面共有を使わないのはなぜですか? 画面共有は Mac 間で快適に動作し、ハイパフォーマンスモードでは Apple シリコンのハードウェアビデオを使用します。ClawTank は、次のような場合に便利です。
- モニターやダミープラグのないヘッドレス Mac を含め、クライアントのウィンドウに合わせてデスクトップをリサイズできる
- あらゆるデバイスに 1 台のサーバーを使える。同じ Mac mini に、MacBook、Windows PC、iPad、Android、Linux から Microsoft の無料クライアントで接続できる
ClawTank とハイパフォーマンスモードのベンチマークは実施していないため、ClawTank のほうが速いとは主張していません。
複数人が同時に使えますか?macOS ユーザーを分けられますか? 一度に 1 つの RDP セッションのみ利用でき、ログイン中のユーザーのデスクトップが表示されます。macOS の公開 API では、アカウントごとに別のセッションを利用することはできません。
Mac App Store で配布されていないのはなぜですか? ClawTank が必要とする API(入力の挿入、仮想ディスプレイ)は、App Store のサンドボックス内で動作するアプリでは使用できません。
アップデート後に macOS から再びアクセス許可を求められます。 署名なし(アドホック)ビルドでは、リリースごとに新しいコード ID が割り当てられるため、macOS はアップデートを新しいアプリとして扱います。プライバシーとセキュリティ → 画面収録/アクセシビリティ で ClawTank を再度有効にしてください(古い項目がある場合は、先に削除してください)。Developer ID 署名済みビルドでは、アクセス許可が維持されます。
外部に通信しますか? いいえ。ClawTank 自体はネットワーク接続を行いません。受け付けるのは、着信する RDP 接続と、任意で 127.0.0.1 上のローカル Agent API 呼び出しのみです。
トラブルシューティング
| 問題 | 試すこと |
|---|---|
| クライアントが Mac を見つけられない/タイムアウトする | 同じネットワークに接続していることと、Copy Address のアドレスを使用していることを確認してください。macOS で ClawTank の「Accept incoming network connections?」と表示された場合は、Allow を選択してください(システム設定 → ネットワーク → ファイアウォール → オプション)。メニューに「Ready」と表示されていることを確認してください。 |
| 「Your credentials did not work」 | Mac のアカウントではなく、ClawTank のユーザー名とパスワードを使用してください。メニューまたはセットアップガイドからコピーしてください。5 回失敗した場合は、5 分待ってください。 |
| 別のネットワークから接続が拒否される | 設計上、LAN のみで利用できます。Tailscale を使用してください(ガイド)。 |
| 毎回証明書の警告が表示される | セットアップガイドでフィンガープリントを確認してから、「Don't ask me again」を選択して一度だけ承認してください。 |
| 壁紙しか表示されない | Mac がロックされています。キーボードでロックを解除してください。 |
| 画面は見えるが操作できない | ClawTank にアクセシビリティを許可し(システム設定 → プライバシーとセキュリティ → アクセシビリティ)、再接続してください。 |
| 画面が真っ黒 | 画面収録を許可してから、ClawTank を終了して再度開いてください。 |
| 音が出ない | Settings → General → Play this Mac's sound on the client を確認し、クライアントの設定でオーディオを有効にしてください。 |
| Ctrl+C でコピーできない(Windows の場合) | Settings → General → Swap Ctrl and ⌘ を有効にしてください。 |
| Wi-Fi で動作が途切れる | Settings → Display & Quality の設定を下げるか、Mac でイーサネットを使用してください。メニューにはリアルタイムの fps と往復時間が表示されます。 |
| その他の問題 | Menu → Export Diagnostics… を実行すると、機密情報を含まない zip ファイルが作成されます。これを添付してissueを作成してください。 |
既知の制限事項
- 1 セッションにつき 1 台のモニターです。複数モニターのクライアントにも、サイズ変更可能なデスクトップが 1 つ表示されます。AVC444(フルカラー 4:4:4)にはまだ対応していません。代わりに、Retina セッションでは文字が鮮明に表示されます。
- まだ公証を受けていないため、初回のみ「Open Anyway」の手順が必要です。Apple シリコン向けビルドのみです。
- 自動アップデートにはまだ対応していません。GitHub の Releases を確認してください。
- 検証済みの内容については、CHANGELOG.md と docs/testing.md をご覧ください。
ベータ版のテストにご協力ください
実環境で 0.9 を試していただける方を募集しています。Windows と Mac のクライアント、iPad、ヘッドレスの Mac mini、Wi-Fi、Tailscale でのテストをお願いします。ベータテストガイドには、セクションごとに約 5~15 分で実施できる手順を記載しています。ベータテストレポートフォームを使って、成功した場合も含め、各テストの結果を報告してください。
ドキュメント
ソースからのビルド
必要条件:macOS 14 以降、Xcode 16 以降、Rust(stable、rustup 経由)、brew install xcodegen swiftlint。
make build # Rust core + ClawTank.app (app/build/Build/Products/Release/)
make dev-signing # one-time: a local signing identity so permissions survive rebuilds
make test # cargo test + XCTest
make lint # clippy -D warnings, rustfmt, swiftlint
make release # versioned DMG + SHA256SUMS + release notes in dist/
Xcode で作業するには、make core project を実行してから、app/ClawTank.xcodeproj を開いてください。アーキテクチャ:docs/architecture.md。設計上の判断:docs/decisions.md。
コントリビューション
コントリビューションを歓迎します。クリーンルームルールを含むセットアップと規約については、CONTRIBUTING.mdをご覧ください。行動規範に従ってください。サポートについては、SUPPORT.mdをご覧ください。脆弱性を非公開で報告するには、SECURITY.mdをご覧ください。
ライセンス
Apache-2.0。LICENSE と THIRD_PARTY_NOTICES.mdをご覧ください。ClawTank は IronRDP を基盤として構築されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。