rdp-cli

MCPとComputer Useの違い:デスクトップ自動化が必要になるのはいつか

MCPとComputer Useは一緒に語られることが多いものの、解決する問題は異なります。

MCPはAIエージェントをツールや構造化データに接続します。Computer Useは、画面上のボタンをクリックしたり、文字を入力したり、表示内容を読み取ったりするための仕組みです。

選択の基準は、対象の作業にどのようなインターフェースがあるかです。

MCP:構造化されたツールとデータ向け

アプリケーションに安定したAPI、CLI、データベース操作、ファイル操作がある場合、MCPが適しています。

MCPサーバーを使えば、エージェントは次のような処理を実行できます。

  • データベースを検索する
  • サポートチケットを作成する
  • 共有フォルダーからファイルを読む
  • クラウドサービスを呼び出す
  • 決められたデプロイコマンドを実行する
  • サーバーの状態を確認する

これらの処理は構造化された結果を返します。エージェントが画面上のボタンや座標を探す必要はありません。

基本的な流れは次のとおりです。

Agent -> MCPツール -> アプリケーションまたはサービス -> 構造化された結果

APIやコマンドラインが使えるなら、通常はMCPを先に選びます。テストしやすく、画面レイアウトの変更にも影響されにくいからです。

Computer Use:グラフィカルな画面向け

作業がグラフィカルなデスクトップの中にしか存在しない場合は、Computer Useが必要になります。

代表的な例は次のとおりです。

  • Windows専用アプリを操作する
  • APIのない古いソフトウェアを使う
  • リモートデスクトップで作業する
  • ファイル選択、エクスポート、ポップアップを処理する
  • 画面を見て確認しながら進める
  • 使えるAPIのないWebシステムを操作する

流れは次のように変わります。

Agent -> スクリーンショット取得 -> マウスまたはキーボード操作 -> 新しいスクリーンショット -> 結果確認

操作する前に画面を観察してください。ボタンの位置が固定されている、または前のクリックが成功したと決めつけてはいけません。

リモートWindowsでrdp-cliを使う場合の例です。

.\rdp-cli.exe screenshot --session SESSION --out before.png
.\rdp-cli.exe click --session SESSION --desktop --x 420 --y 260 --observation OBSERVATION
.\rdp-cli.exe screenshot --session SESSION --out after.png

重要なのはクリックではなく、その後に結果を確認することです。

必要なら組み合わせる

MCPとComputer Useは競合するものではありません。同じワークフローの別々の工程を担当できます。

たとえば、MCPでタスクと入力ファイルを取得し、リモートWindowsセッションにアクセスします。その後、Computer UseでWindowsアプリを開き、ファイルを読み込み、画面上の作業を完了して結果を出力します。最後にMCPで出力ファイルをアップロードし、タスクの状態を更新します。

構造化された処理はMCPに任せ、デスクトップ操作は必要な部分だけに限定するのが実用的です。

Computer Useを選ぶべき場面

次のどれかに当てはまるなら、デスクトップ自動化を検討してください。

  • 使えるAPIやCLIがない
  • アプリケーションがWindows専用である
  • 画面の状態に依存する
  • 人間がダイアログをクリックして完了する作業である
  • 他の方法ではアクセスできないデータを変更する
  • 既存のリモートデスクトップを操作する必要がある

APIで同じ作業を安定して実行できるなら、Computer Useを使う必要はありません。

実用的な判断ルール

次の質問をしてください。

この作業は、文書化されたAPI、コマンド、または構造化ツールで完了できますか?

はいならMCPから始めます。いいえで、グラフィカルな画面が必要ならComputer Useを使います。リモートWindowsでは、スクリーンショット、マウスとキーボード入力、セッション確認に対応したRDPツールと組み合わせてください。

原則はシンプルです。

構造化された処理にはMCP、画面上の処理にはComputer Useを使い、重要なデスクトップ操作は必ず確認します。

この分担により、AI自動化は安定し、デバッグしやすく、安全に運用できます。