Cloudflare Browser RenderingのMCPでスクレイピングを自動化する
Cloudflare Browser Rendering(現Browser Run)のMCPサーバーは、URL取得・Markdown変換・スクリーンショット・PDF化など13ツールを1接続で扱えます。追加手順と料金枠をまとめます。
CloudflareのBrowser Rendering MCPサーバーは、ヘッドレスブラウザーの操作をClaude Codeから直接呼び出せるようにする公式のリモートMCPサーバーです。URLを渡すだけでHTML取得・Markdown変換・スクリーンショット・PDF化・構造化データ抽出までを1本の接続でこなせます。ローカルにChromeやPuppeteerを用意する必要はなく、Cloudflareのアカウントに接続するだけで使えます。
Cloudflare Browser Rendering MCPサーバーとは
Cloudflare Browser Rendering MCPサーバーとは、Cloudflareのグローバルネットワーク上で動くヘッドレスChromeを、MCPプロトコル経由でAIクライアントから操作できるようにする公式サーバーです。https://browser.mcp.cloudflare.com/mcpに接続し、Cloudflare OAuthでアカウントを認可すると使えるようになります。
このサーバーはCloudflareが提供する「製品別MCPサーバー」群の1つです。Cloudflareは同じdevelopers.cloudflare.com配下で、Workers Bindings・Workers Builds・Observability・Radar・AI Gateway・Logpushなど14種類の製品別MCPサーバーを公開しています。それぞれが自社サービスの特定領域だけを扱う設計で、Browser Rendering MCPサーバーが担当するのはヘッドレスブラウザー操作だけです。DNS分析やAI Gatewayのログ検索を同じ接続で兼ねることはできません。
もう1つ、全く別系統の「Cloudflare API MCPサーバー」も存在します。こちらはCloudflareの2,500以上のAPIエンドポイントすべてをsearch()とexecute()という2つのツールだけで扱う設計です。モデルがOpenAPI仕様に対して直接JavaScriptコードを書き、Dynamic Workerのサンドボックス内で実行する仕組みで、エンドポイント数に関わらずトークン消費が約1,000トークンに収まります。全エンドポイントを個別ツールとして公開した場合は100万トークンを超える計算になり、多くの基盤モデルのコンテキストウィンドウそのものを超えてしまいます。Browser Rendering MCPサーバーはこの汎用API経由でも一部操作できますが、専用サーバーのほうがツール名と引数がブラウザー操作に特化していて呼び出しの意図が伝わりやすくなります。
13個のツールでできること
Browser Rendering MCPサーバーが公開するツールは、単発の取得系とセッション管理系の2グループに分かれます。
| ツール | 用途 |
|---|---|
get_url_html_content | 用途指定URLのHTMLをそのまま取得 |
get_url_markdown | 用途ページ内容をMarkdownに変換して取得 |
get_url_screenshot | 用途ページのスクリーンショットを取得(ビューポート指定可) |
get_url_pdf | 用途ページをPDF文書としてレンダリング |
get_url_snapshot | 用途HTMLとスクリーンショットを1回の呼び出しでまとめて取得 |
scrape_url_elements | 用途CSSセレクターで要素を抽出 |
get_url_json | 用途プロンプトとJSONスキーマを指定し、AIで構造化データを抽出 |
get_url_links | 用途ページ内のリンク一覧を取得 |
start_crawl | 用途非同期のクロールジョブを開始しjob_idを返す |
get_crawl_result | 用途クロールジョブの状態と結果を取得 |
cancel_crawl | 用途実行中のクロールジョブを中止 |
list_browser_sessions | 用途アカウントで動いているブラウザーセッション一覧を取得 |
kill_browser_session | 用途セッションIDを指定してセッションを終了 |
取得系の7ツール(get_url_html_contentからget_url_linksまで)はステートレスな単発呼び出しです。「このページをMarkdownに変換して」「価格情報をJSONで抽出して」のように話しかけるだけで、Claude側が該当ツールを自動的に選びます。get_url_jsonはプロンプトとJSON Schemaを渡してAIに構造化抽出させる点が特徴で、CSSセレクターを自分で書かなくても商品名や価格のようなフィールドを狙って取り出せます。
クロール系の3ツールはサイト全体を対象にした非同期処理です。start_crawlで開始したジョブはjob_idが返るだけで結果はまだ返らず、get_crawl_resultで改めて状態と記録を取得する2段構成になっています。セッション管理系の2ツールは、開きっぱなしのブラウザーセッションを一覧・終了するための運用ツールです。
MCPのツールが担うのは「Quick Actions」の範囲だけ
Browser Run(旧Browser Rendering)全体は、大きく2つの統合方法を用意しています。1つはMCPサーバーが公開しているような単発・ステートレスな操作を指す「Quick Actions」で、もう1つはPuppeteer・Playwright・CDP(Chrome DevTools Protocol)・Stagehandを使ってブラウザーを直接コードで制御する「Browser Sessions」です。
MCPサーバーのツールはすべてQuick Actionsの範囲に収まります。ページ内のリンクを辿りながらフォームに入力する、複数ページにまたがるログイン操作を維持する、といった連続的な操作フローはBrowser Sessions側の役割で、MCPツールだけでは実現できません。そうした複雑な自動化が必要な場合は、Cloudflare Workers上にPuppeteerやPlaywrightのコードを書いてBrowser Sessionsを直接呼び出す構成が必要です。裏を返せば、単発のページ取得やスクリーンショットだけで完結するタスクなら、コードを1行も書かずにMCPサーバーで済ませられます。
Quick ActionsとBrowser Sessionsは課金上のブラウザー時間を共有します。MCPサーバー経由の呼び出しも、Workers上で直接Puppeteerを動かす場合も、同じ「ブラウザー時間」の枠を消費する点は覚えておくと料金の見積もりで迷いません。
旧称「Browser Rendering」と現行の「Browser Run」
公式ドキュメントによると、この製品はもともと「Browser Rendering」という名称で提供されていましたが、現在は「Browser Run」に改称されています。MCPサーバー側のリポジトリ名やツール一覧のREADMEには今もbrowser-renderingというディレクトリ名が残っていますが、サーバー自体のタイトルは「Cloudflare Browser Run MCP Server」に変わっています。
検索するときは両方の名称で情報が出てくる点に注意が必要です。ブログ記事や既存の連携ガイドでは旧称の「Browser Rendering」表記がまだ多く残っています。製品ページやAPIドキュメントのURLはdevelopers.cloudflare.com/browser-run/に統一されているため、最新の制限事項やツール追加情報を追うときはこちらを確認します。
Claude Codeへの追加方法
Browser Rendering MCPサーバーはStreamable HTTPで公開されており、claude mcp addにHTTPトランスポートを指定するだけで接続できます。
claude mcp add --transport http cf-browser https://browser.mcp.cloudflare.com/mcp初回のツール呼び出し時にブラウザーでCloudflareのOAuth認可画面が開き、承認するとそのままツールが使えるようになります。APIトークンを手動で発行して環境変数に設定する必要はありません。
サーバーが提供するツールはアカウント単位で動作します。単一アカウントの認証情報であれば自動的に対象アカウントが判定されますが、1つの認証情報で複数アカウントにアクセスできる場合は、ツール呼び出し時にaccount_idを渡すか、MCPクライアント設定でcf-account-idヘッダーを指定して対象アカウントを明示します。
なお/mcpと/sseの両方のURLが用意されていますが、どちらも同じStreamable HTTPハンドラーに接続され、リクエストごとに新しい認証コンテキストを生成するステートレスな実装です。/sseは非推奨のHTTP+SSEトランスポートではなく、新しいMCP仕様に対応した同じサーバーへのエイリアスなので、どちらのURLを使っても動作は変わりません。
料金と利用できるプラン
Browser Run(旧Browser Rendering)はWorkers FreeプランとWorkers Paidプランの両方で利用できます。課金対象は「ブラウザー時間」で、Quick Actions経由の単発呼び出し(MCPサーバーのツールはこちらに該当)とBrowser Sessions経由の直接制御で同じ枠を共有します。
| プラン | ブラウザー時間の無料枠 | 超過分の料金 |
|---|---|---|
| Workers Free | ブラウザー時間の無料枠1日10分 | 超過分の料金利用不可(超過で停止) |
| Workers Paid | ブラウザー時間の無料枠月10時間 | 超過分の料金1時間あたり$0.09 |
Workers Paidプランで月50時間利用した場合、無料枠の10時間を差し引いた40時間分が課金対象になり、40時間×$0.09で月額3.60ドルが目安です。ちょっとしたページ確認やAIエージェントの補助的な情報収集であれば、Freeプランの1日10分でも十分に収まるケースが多くなります。
よくあるつまずき
マルチアカウント環境で意図しないアカウントに繋がる。APIトークンが複数アカウントにアクセスできる設定になっていると、account_idを指定しない呼び出しでどのアカウントが選ばれるか分かりにくくなります。複数アカウントを使い分ける場合は、MCPクライアント設定のcf-account-idヘッダーで対象を固定しておくと安全です。
クロールジョブの結果をすぐに取りに行ってしまう。start_crawlはjob_idを返すだけで、クロール自体は非同期に進みます。サイトの規模によっては数分かかることがあるため、get_crawl_resultを呼ぶタイミングが早すぎると「進行中」のステータスしか返りません。
JSON抽出のスキーマが曖昧だと精度が落ちる。get_url_jsonはAIによる抽出なので、抽出したいフィールド名と型をプロンプトやJSON Schemaで具体的に指定するほど結果が安定します。「価格を取って」だけでは通貨表記や税込・税別の解釈がページごとにぶれることがあります。
ツール数がまだ少ないと感じる場面がある。公式リポジトリは「開発途上で、今後もツールを追加していく」と明記しています。フォーム入力の自動化やページ内クリックのような対話的な操作は公開済みのツール一覧に含まれておらず、そうした複雑な操作にはBrowser Sessions側のPuppeteer/Playwright実装が必要です。
まとめ
Browser Rendering(現Browser Run)のMCPサーバーは、URL取得からスクレイピング、スクリーンショット、非同期クロールまでを1つの接続で扱える公式ツール群です。Cloudflare OAuthで認可するだけで使い始められ、Freeプランの範囲でも簡単な用途なら十分に動きます。汎用的なCloudflare API操作はエンドポイント全体をsearch()とexecute()だけで扱う別サーバーの役割になるため、ブラウザー操作に絞ったタスクではこちらの専用サーバーを選ぶのが素直な選択です。
MCPサーバーの追加方法そのものの基礎はClaude Code MCP設定ガイド、リモートMCPのOAuth認証の仕組みはリモートMCPのOAuth認証にまとめています。外部ツールへの権限付与に不安がある場合は、MCPセキュリティガイドも合わせて確認しておくと安心です。