メインコンテンツへスキップ メインコンテンツにスキップ
playwright-mcpを使ってみたが使い道が思いつかなかった

playwright-mcpを使ってみたが使い道が思いつかなかった

microsoft/playwright-mcp

AI驚き屋です。Microsoft公式版のPlaywrightのMCPサーバがリリースされたので使ってみました。

リポジトリはこちら。

以前よりコミュニティ版のMCPサーバはリリースされていましたが(https://github.com/executeautomation/mcp-playwright)、公式がサポートしてくれるのは嬉しいですね。

使い方

使い方はそれぞれのMCPクライアントで以下のように指定するだけです。あとは「Googleを検索して」などとプロンプト入力すれば勝手にコールしてくれます。

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ]
    }
  }
}

起動モードはheadedとheadlessの2パターンあります。

また、ツールモードとしてARIA Snapshotを使うSnapshot Modeとスクリーンショットを使うVision Modeがあるようです。

  1. Snapshot Mode (default): Uses accessibility snapshots for better performance and reliability
  2. Vision Mode: Uses screenshots for visual-based interactions

ARIA SnapshotはページのアクセシビリティツリーのYAML表現です。Snapshot testingに使われます。

スクリーンショットを使うより(自動化用途では)こっちのほうがパフォーマンスや信頼性が高いよ、とありますね。

https://playwright.dev/docs/aria-snapshots

日本語記事ではこちらも詳しいです。

https://tech.aptpod.co.jp/entry/2024/12/12/100000

現状使い道がイマイチ思いつかなかった

現状おー動いた、という感じで、真面目に自動化やるならスクリプト書いたらええやんという気持ちになり特別用途が思いつきませんでした。

特にPlaywrightはcodegenもあるのでスクリプティングのハードルも低く、余計にMCPクライアントから操作する必要あるのか・・・?って感じです。

LLM特有なところだとFuzzyな入力をしたいとかがあるかな?と思いますが、何回もやるならLLMをAPIコールしたほうが良さそうだし、別のツールの出力値を引き継ぎたいなら一時ファイル吐いてスクリプトに落としたほうが正確で早そうだし、あんま妙案思いつきませんでした。

流行ってるし将来性込みでやってみましたって感じなのかな。面白い使い方を思いついた方、教えて下さい。では今日はここまで。