コンテンツにスキップ
X

Level 7: Browser Automator — ブラウザ操作・スクレイピング・PDF

Claude Code 自体はブラウザを操作できませんが、MCP(Model Context Protocol)サーバーを経由することでブラウザを制御できます。Puppeteer MCP を設定すると、スクリーンショットの撮影・複数ページからのデータ収集・PDF 変換といった操作を Claude に自然言語で指示できるようになります。

対象読者: ヘッドレス自動化を理解しており、ブラウザ操作の自動化に挑戦したい方。

学習時間の目安: 読了 20分 + 実践 40分


Claude Code とブラウザの間には MCP サーバーが仲介します。処理の流れは次のとおりです。

Claude Code
    ↕ MCP プロトコル
Puppeteer MCP Server

ブラウザ(Chromium)

Web

Claude Code は MCP ツールを通じてブラウザへの操作命令を送り、MCP サーバーが Chromium を介して実際のブラウザ操作を実行します。

.claude/settings.jsonpuppeteer エントリを追加します。

{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
    }
  }
}

Claude Code を再起動するとPuppeteer のブラウザ操作ツールが利用可能になります。設定の確認は /mcp コマンドで行えます。

> https://example.com を開いて、
> トップページのスクリーンショットを screenshots/top-2026-03-29.png に保存してください。

デプロイ前後の差分確認や、定期的な UI 変化の記録に使えます。

> https://news.example.com/tech を開いて、
> 今日公開された記事のタイトルと URL を10件取得してください。
> 結果を JSON 形式 {"articles": [{"title": "...", "url": "..."}]} で返してください。

取得した JSON は jq で加工し、後続のスクリプトで利用できます。

> https://docs.example.com/api-reference を開いて、
> ページ全体を PDF に変換して output/api-reference.pdf に保存してください。

ドキュメントのアーカイブや、印刷物の自動生成に活用できます。

ブラウザ自動化の MCP には Puppeteer の他に Playwright も選択できます。

項目Puppeteer MCPPlaywright MCP
対応ブラウザChromium のみChromium / Firefox / WebKit
設定シンプルやや複雑
クロスブラウザテスト不可可能
用途データ収集・スクリーンショットE2E テスト・クロスブラウザ確認

データ収集やスクリーンショット撮影が主目的であれば Puppeteer MCP、クロスブラウザの動作確認や E2E テストが必要であれば Playwright MCP が適しています。

Playwright MCP の設定例:

{
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@executeautomation/playwright-mcp-server"]
    }
  }
}

競合調査: 競合サービスのページ構成・料金表・機能一覧を定期的に収集し、差分をレポートする。

価格モニタリング: EC サイトやクラウドサービスの価格ページを定期的にスクレイピングし、変化があれば通知する。

ドキュメントの同期: 外部ドキュメントサイトの特定ページを PDF に変換して社内共有フォルダに保存する。

フォームのテスト: Web フォームに値を入力して送信し、応答内容が期待通りかを確認する。

ブラウザ自動化を使う際は以下の点を必ず確認してください。

  • robots.txt の確認: スクレイピングを禁止しているパスへのアクセスは行わない
  • 利用規約の確認: サービスの利用規約でスクレイピングが禁止されていないかを確認する
  • レート制限の遵守: 短時間に大量のリクエストを送ると IP ブロックやアカウント停止の原因になる
  • 個人情報の取り扱い: 収集したデータに個人情報が含まれる場合は適切に管理する

Q. Puppeteer MCP を設定しても使えない場合は?

npx @modelcontextprotocol/server-puppeteer を単体で実行して起動できるか確認してください。Node.js のバージョンが古い場合は更新が必要なことがあります。

Q. JavaScript で動的に生成されるページも取得できますか?

Puppeteer はブラウザを実際に起動して操作するため、JavaScript レンダリング後のコンテンツも取得できます。


このレベルの実践チュートリアル →

MCP を通じたブラウザ自動化の仕組みと使い方を理解しました。次は複数のエージェントを並列で動かすオーケストレーターパターンを学びます。

Level 8: Orchestrator — 並列エージェントを指揮する へ進みましょう。