Playwright CLI vs MCP Server:Claude Codeに最適なのはどっち?

BBetter Stack
Computing/SoftwareInternet Technology

Transcript

00:00:00Playwright CLIは、コーディングエージェントでPlaywrightを使用するための最新の手法です。
00:00:04ローカルストレージやセッションストレージの管理、スナップショットの作成、タブの操作など、
00:00:09Playwrightエンジンの全機能をターミナルから直接利用できます。
00:00:12しかし、Playwright MCPサーバーの代わりにこれを使う理由は何でしょうか?
00:00:17そもそも、なぜ以前はMCPサーバーだったツールから、次々とCLIが作られているのでしょうか?
00:00:22チャンネル登録をして、さっそく詳細を見ていきましょう。
00:00:24まずは、Playwright CLIとMCPサーバーの両方を、一つのシンプルなタスクでテストしてみます。
00:00:31開発中のTwitter(X)動画ダウンロードツールのテストを、エージェントに手伝ってもらいます。
00:00:35手順はこうです。
00:00:36ツイートのリンクを取得して貼り付け、動画を抽出します。その後、10秒待機してから
00:00:40スクリーンショットを撮り、最後にローカルストレージをクリアします。
00:00:45これは、次のエージェントがクリーンな状態で作業を始められるようにするためです。
00:00:48最初に、Claude CodeでPlaywright CLIを試してみましょう。インストールが済んでいれば、
00:00:54このようにスキルが利用可能になっているはずです。
00:00:56消費トークンがわずか68トークンであることに注目してください。
00:00:59では、このプロンプトを入力します。分かりやすくするために、
00:01:03Playwright CLIスキルを明示的に使うよう指示しています。
00:01:06実行すると、スキルを読み込み、URLをテキストボックスに入力して
00:01:11「Extract Video」をクリックします。その後、10秒間待機します。
00:01:13スクリーンショットを撮り、ストレージをクリアして、ブラウザを閉じました。
00:01:17完了です。スクリーンショットの保存先が表示されています。確認してみると、
00:01:21動画が正常にダウンロードされているのが分かります。
00:01:24全体のトークン消費量は、約16%でした。
00:01:27次に、同じことをMCPサーバーを使って試してみましょう。
00:01:29「mcp」コマンドで、インストールされているか確認できます。
00:01:33実行する前に、現在のコンテキスト量を見てみましょう。
00:01:35上にスクロールすると、すでにコンテキストの15%が使用されています。これは、
00:01:41約3.6Kトークンを消費するMCPツール群がすべて読み込まれているからです。
00:01:46それを踏まえて、先ほどと同じプロンプトを使用します。
00:01:50今回はCLIスキルの代わりに、Playwright MCPサーバーのツールを使います。
00:01:55MCPサーバーが起動し、新しいブラウザが開きました。
00:01:59リンクが入力欄に貼り付けられました。
00:02:01次にボタンをクリックします。
00:02:02気づいたのですが、MCPサーバーはCLIよりも多くの権限を求めてきますね(問題はありませんが)。
00:02:08スクリーンショットの撮影でエラーが出ました。おそらく同じ名前のファイルが
00:02:12すでに存在しているせいかもしれません。
00:02:13MCPサーバーで再試行し、ファイル名を変えてみましたが、
00:02:17それでもスクリーンショットの書き出しで何度か失敗しました。
00:02:22ようやく終了しました。
00:02:23スクリーンショット以外はすべて実行できました。
00:02:26コンテキストを確認すると、35K、つまり18%を消費しています。
00:02:32CLIよりわずかに多い程度ですが、その大部分はMCPツールの定義によるものです。
00:02:37実は、これと同じタスクをさらに少ないコンテキストで行う方法があります。
00:02:43それについては、動画の後半でお話しします。
00:02:45これはあくまで一例ですし、タスクによってはMCPサーバーの方が
00:02:51トークンを節約できる場面もあるかもしれませんが、基本的にはCLIの方が有利でしょう。
00:02:5616%と18%の差は大したことない、と思うかもしれません。
00:03:02しかし、CLIにはMCPサーバーに勝る他の利点もあります。
00:03:06デフォルト設定では、Playwright MCPサーバーはすべてのツールを公開していません。
00:03:11実際、PDF生成やトレース機能などを使いたい場合は、
00:03:16コンテキストを大量に消費するため、明示的に有効化する必要があります。
00:03:19一方、CLIにはそのような制限はありません。
00:03:22最初からすべての機能にアクセスできます。
00:03:25また、CLIはエージェントだけでなく人間にとっても便利です。
00:03:29繰り返し行う作業やE2Eテストのために、簡単なBashスクリプトを作成しておけば、
00:03:34人間が手動で結果を確認することも、エージェントに実行させることも可能です。
00:03:39かといってMCPサーバーが不要なわけではありません。もしあなたが、
00:03:44ブラウザ、デスクトップ、モバイルなど、端末を問わず動作するエージェントループを作りたいなら、
00:03:49MCPサーバーが最適です。これはツールにアクセスするための標準プロトコルだからです。
00:03:54また、PlaywrightはJSやTypeScriptを動かすため、
00:03:59JavaScriptランタイムをサポートするあらゆる環境で動作させることができます。
00:04:03さらに、CLIがバックグラウンド実行を想定したヘッドレスモードなのに対し、
00:04:09MCPサーバーはデフォルトでヘッド付きモード(画面あり)で動作します。
00:04:13MCPサーバーでトークンを節約したい場合は、
00:04:17特定のツールを無効にするなどの設定が可能です。
00:04:20ただ、もし究極にトークン消費を抑えたいのであれば、
00:04:26Playwright CLIすら使わない方がいいかもしれません。なぜなら、Rust製のCLIを持つ
00:04:32「Agent Browser」があるからです。これはPlaywrightを内蔵しつつ、より高速で、
00:04:38先ほどの例のように、より少ないトークンで動作するように設計されています。
00:04:39次回の動画では、このAgent Browserについて詳しく解説します。
00:04:43エージェントのブラウジング能力をさらに引き出しましょう。

Key Takeaway

Claude Codeなどのコーディングエージェントにおいて、Playwright CLIはMCPサーバーよりもトークン効率と機能アクセスの自由度で勝るが、環境の標準化を重視する場合はMCPサーバーが有効である。

Highlights

Playwright CLIはMCPサーバーと比較して、トークン消費を抑えつつブラウザ操作の全機能にアクセス可能である

実際のテストでは、CLIの方がセットアップ時のコンテキスト負荷が低く、エラーも少なかった

MCPサーバーは標準プロトコルとして、複数のデバイスや環境を跨ぐエージェント構築に適している

CLIは人間にとってもBashスクリプト等で自動化しやすく、ヘッドレスモードでの運用に優れている

究極のトークン節約を求める場合は、Rust製の「Agent Browser」という選択肢も存在する

Timeline

Playwright CLIの概要と導入

Playwright CLIは、コーディングエージェントがターミナルから直接Playwrightエンジンを操作するための最新手法として紹介されています。ローカルストレージやセッションストレージの管理、タブ操作、スナップショット作成といった全機能を制限なく利用できる点が最大の特徴です。動画では、なぜ従来のMCPサーバーからCLIへの移行が進んでいるのかという疑問を投げかけています。これは開発者がより直感的かつ効率的にブラウザ操作を自動化するための重要な転換点と言えます。まずはCLIのポテンシャルを理解することが、エージェント活用の第一歩となります。

CLIとMCPサーバーの比較テスト:Twitter動画抽出

具体的な比較テストとして、開発中のTwitter動画ダウンロードツールを使用して、リンクの貼り付けからスクリーンショット撮影、ストレージ消去までの一連のタスクを実行します。Claude CodeでCLIを使用した際、スキル読み込み時の消費トークンがわずか68トークンという驚異的な低さを記録しました。実際の実行プロセスでも、ブラウザの起動から終了までがスムーズに進み、意図した通りのスクリーンショットが保存されています。最終的なトークン消費量は全体の約16%に収まり、CLIの効率性の高さが実証されました。このセクションでは、エージェントがいかに少ないリソースで正確に動作するかが示されています。

MCPサーバーでの実行とエラーの発生

同じタスクをMCPサーバーで実行すると、まずツール群の読み込みだけで約3.6Kトークン(コンテキストの15%)を消費するという課題が浮き彫りになります。実行中、MCPサーバーはCLIよりも多くの権限を要求し、さらにスクリーンショットの保存時にファイル名の重複が原因と思われるエラーが発生しました。何度かの再試行を経てタスクは完了しましたが、最終的なトークン消費量は18%に達しています。CLIとの2%の差は、主にMCPツールの定義情報の多さに起因するものです。ここでは、MCPサーバーが抱えるコンテキスト負荷と、実行時の不安定さが比較対象として描かれています。

両手法のメリット・デメリットと機能制限

CLIはデフォルトですべての機能が解放されているのに対し、MCPサーバーはPDF生成などの高度な機能がコンテキスト節約のために制限されている点が指摘されています。しかし、MCPサーバーは標準プロトコルであるため、モバイルやデスクトップなど多様な環境で動作するエージェントを作る際には依然として強力な武器となります。また、CLIがバックグラウンドでのヘッドレス実行を得意とする一方、MCPサーバーは画面を表示するヘッド付きモードがデフォルトです。人間がスクリプトで操作を共通化できるCLIの利便性についても詳しく解説されています。用途に応じてこれらを使い分ける判断基準がここで明確になります。

さらなる最適化と次回の予告

最後に、MCPサーバーの設定変更によるトークン節約術に触れつつ、それを上回る解決策として「Agent Browser」が紹介されます。これはRustで構築されたCLIを持つツールで、Playwrightを内蔵しながらさらに高速かつ低トークンでの動作を実現しています。現在のPlaywright CLIすらも「重い」と感じるユーザーに向けた、次世代の選択肢として提示されています。動画は、エージェントのブラウジング能力を最大化するための継続的な学習を促して締めくくられます。次回のAgent Browser特集への期待を高める構成となっています。

Community Posts

No posts yet. Be the first to write about this video!

Write about this video