🌐 Read this article in English
Claude Codeの公式情報はAnthropic公式ドキュメントを参照。MCPの仕様はModel Context Protocol公式サイトで確認できる。
連載最終回。Claude Codeの真骨頂である、デスクトップとブラウザの自動操作(desktop automation)について解説する。ターミナルの中にいるAIが、画面上のアプリケーションやWebサイトを直接操作する。SF映画のような話だが、現実にできる。
この記事では、Claude Code desktop automationで使う2つのMCPサーバーの使い分けから、実践的な操作テクニックまで詳しく紹介する。
Claude Code desktop automationの2つのアプローチ
デスクトップ自動化には大きく2つのMCPサーバーを使い分ける。それぞれ得意な領域が異なるため、適切な選択が重要だ。
| MCP | 対象 | 方式 | 得意なこと |
|---|---|---|---|
| k-chrome | ブラウザ | DevTools Protocol | Web操作全般、高速かつ正確 |
| Windows MCP | デスクトップ全体 | スクリーンショット+座標 | ブラウザ外のアプリ操作 |
📊 MCP選択フローチャート
k-chrome MCP — ブラウザ自動操作の第一選択
k-chromeはChrome DevTools Protocolを利用した自作MCPサーバーで、Claude Code desktop automationにおけるブラウザ操作の第一選択肢だ。
基本的な操作フロー
# 1. ページに移動
navigate("https://example.com")
# 2. フォームに入力
fill_form({"#email": "user@example.com", "#password": "***"})
# 3. ボタンをクリック
click("#submit-btn")
# 4. スクリーンショットで確認
screenshot()
# 5. ページ内容を取得
get_content(selector="#result")
これらの操作をClaude Codeが自然言語の指示から自動的に組み立てて実行する。したがって、セレクタやAPIの知識がなくても「この商品をカートに入れて」と伝えるだけで操作が完了する。
最大の強み:既存セッションの利用
k-chromeは普段使いのChromeプロファイルをそのまま利用する。つまり以下のメリットがある:
- Googleにログイン済みの状態でそのまま操作
- Amazonにログイン済みで購入手続きが即座に可能
- 各サービスのCookieが有効なまま自動操作
新しくログインし直す必要が一切ない。その結果、「Amazonで買って」と指示するだけで、すでにログインされた状態で操作が始まる。これはClaude Code desktop automationの利便性を大幅に高めるポイントだ。
JavaScript実行による高度な操作
evaluate()関数でページ内でJavaScriptを直接実行できる。REST APIを叩いたり、DOMを直接操作したりと、応用範囲が非常に広い。
たとえば、この記事自体もevaluate()を使ってWordPress REST APIを叩いて投稿している。さらに、SPAのような複雑なWebアプリでも、JavaScript経由で内部の状態にアクセスできるため、通常のクリック操作では困難な処理も実行可能だ。
Windows MCP — デスクトップアプリの自動操作
ブラウザ外のアプリケーションを操作する場合は、Windows MCPを使用する。これはnpmパッケージとして提供されており、Windowsデスクトップ全体を操作できる。
Windows MCPの操作フロー
- アプリ起動 —
App(mode: "launch")で対象アプリを開く - スクリーンショット撮影 — PowerShellで画面をキャプチャ
- 座標特定 — スクリーンショットからクリック位置をAIが判断
- 操作実行 — Click、Type、Shortcutなどで操作を実行
この方式は「画面を見て操作する」人間の行動をそのままAIが再現するアプローチだ。したがって、APIが公開されていないアプリでも操作できるのが大きな強みである。
実用例:LINEメッセージ送信の自動化
LINE PCアプリでメッセージを送る具体的な流れを紹介する:
- LINE PCアプリをフォアグラウンドに設定
- スクリーンショットを撮影して画面状態を確認
- 検索バーの座標を特定してクリック
- 相手の名前をテキスト入力して検索
- 検索結果からトーク画面を開く
- メッセージ入力欄にテキストを入力
- 送信前にユーザーに内容を確認(必須)
- 確認後、送信ボタンをクリック
やや泥臭いアプローチだが、API非公開のアプリでも自動操作が可能なのは他にない強みだ。
Claude Code desktop automationの使い分けルール
Web操作が必要
→ k-chrome MCPで操作(第一選択)
→ ダメならWindows MCPでスクショ+座標クリック(フォールバック)
デスクトップアプリ操作が必要
→ Windows MCP一択
このルールをCLAUDE.mdに記述しておけば、Claude Codeが状況に応じて自動的に適切なMCPを選択してくれる。
注意点とベストプラクティス
座標は操作直前に必ず再取得
ウィンドウの位置は移動することがある。過去の座標を使い回すとクリック位置がズレてしまう。したがって、操作の直前にスクリーンショットを撮り直すのが鉄則だ。
IME(日本語入力)への対処
日本語入力時、IMEの状態によってテキスト入力が正しく行われないことがある。しかし、Windows MCPのTypeツールを使えばIMEに依存せずテキストを入力できる。SendKeysよりも信頼性が高いため、テキスト入力には常にTypeツールを使うのがおすすめだ。
フルスクリーンアプリの制約
フルスクリーンで動作するゲームなどがある状態では、Windows MCPのスクリーンショット機能が正常に動作しない。そのため、Claude Code desktop automationを実行する前にフルスクリーンアプリは閉じておく必要がある。
セキュリティは絶対厳守
パスワード入力画面が表示されたら必ず人間が手動で入力する。AIにパスワードを入力させないルールは、どんな状況でも例外なく適用する。加えて、金融アカウントへの操作は読み取り専用に制限し、書き込み操作は行わない。
⚠️ デスクトップ自動化トラブルシューティング
🔴 クリックがズレる
→ 操作直前にスクリーンショットを再取得していない。ウィンドウ位置は変わるので毎回撮り直す。
🔴 テキスト入力が化ける
→ SendKeysではなくWindows MCPのTypeツールを使う。IMEに依存しないのでより安定する。
🔴 スクリーンショットが真っ黒
→ フルスクリーンアプリ(ゲーム等)が動いている。先に閉じてから実行する。
🔴 ログイン画面でAIが止まった
→ 正常動作。CLAUDE.mdのセキュリティルールにより、パスワード入力はユーザーの手動操作を待つ。
連載全8回のまとめ
この連載シリーズでは、Claude Codeの環境構築を全8回にわたって紹介した:
- 導入編 — Claude Codeの概要とインストール方法
- フォルダ構成編 — ディレクトリ設計とCLAUDE.mdのベストプラクティス
- MCPサーバー編 — 自作MCPによる外部ツール連携
- スキル編 — 一声で動くカスタムスキルの構築
- メモリ編 — 会話をまたぐ永続記憶システム
- スケジュール実行編 — cronライクな定期タスクの自動化
- アプリ開発編 — AIとのペアプログラミングによるアプリ開発
- デスクトップ自動化編 — ブラウザとデスクトップアプリの自動操作
Claude Codeは「AIに質問する」ツールではなく、「AIと一緒に作業する」ツールだ。適切な設定さえすれば、日常のあらゆるタスクを自動化できる。さらに、MCPやスキル、メモリといった仕組みを組み合わせることで、自動化の範囲は無限に広がる。
興味を持った方は、まず導入編からClaude Codeを試してみてほしい。最初の一歩を踏み出せば、AIとの協業が日常を変えてくれるはずだ。
