Cloudflare Browser Rendering MCP Server について
Cloudflare Browser Renderingを使ってウェブページを取得・処理し、ClaudeやClineなどのクライアントでLLMが利用できるようにするMCPサーバーです。ドキュメント検索、構造化抽出、要約、スクリーンショットにも対応します。
主な機能
- 01ウェブページの取得と処理
- 02Cloudflareドキュメントの検索
- 03CSSセレクターによるコンテンツ抽出
- 04ウェブコンテンツの要約
- 05ページのスクリーンショット撮影
活用シーン
- 01LLM向けのウェブ情報の取得
- 02Cloudflareドキュメントの情報検索
- 03指定要素の抽出やページ撮影
MCP 対応
Cloudflare Browser Renderingを利用し、ウェブ取得、ドキュメント検索、コンテンツ抽出、要約、撮影のツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Cloudflare Browser Rendering MCP サーバー
この MCP(Model Context Protocol)サーバーは、LLM のコンテキストとして使用するために、Cloudflare Browser Rendering を利用してウェブコンテンツを取得および処理するツールを提供します。Claude と Cline の両方のクライアント環境で動作するように設計されています。
機能
- ウェブコンテンツの取得:LLM のコンテキストとして使用するウェブページを取得、処理します
- ドキュメント検索:Cloudflare のドキュメントを検索し、関連するコンテンツを返します
- 構造化コンテンツの抽出:CSS セレクターを使用して、ウェブページから構造化コンテンツを抽出します
- コンテンツの要約:ウェブコンテンツを要約して、LLM のコンテキストをより簡潔にします
- スクリーンショットの撮影:ウェブページのスクリーンショットを撮影します
前提条件
- Node.js v18 以降
- Browser Rendering API を利用できる Cloudflare アカウント
- 提供されている
puppeteer-worker.jsファイルを使用してデプロイした Cloudflare Worker
インストール
Smithery 経由でインストールする
Smithery 経由で、Claude Desktop 用の Cloudflare Browser Rendering を自動的にインストールするには:
npx -y @smithery/cli install @amotivv/cloudflare-browser-rendering-mcp --client claude
-
このリポジトリをクローンします:
git clone https://github.com/yourusername/cloudflare-browser-rendering.git cd cloudflare-browser-rendering -
依存関係をインストールします:
npm install -
プロジェクトをビルドします:
npm run build
Cloudflare Worker のセットアップ
-
Wrangler を使用して
puppeteer-worker.jsファイルを Cloudflare Workers にデプロイします:npx wrangler deploy -
Cloudflare Worker に次のバインディングを設定してください:
browserという名前の Browser Rendering バインディングSCREENSHOTSという名前の KV 名前空間バインディング
-
デプロイした Worker の URL を控えておきます(例:
https://browser-rendering-api.yourusername.workers.dev)
設定
Claude Desktop の場合
-
Claude Desktop の設定ファイルを開きます:
# macOS code ~/Library/Application\ Support/Claude/claude_desktop_config.json # Windows code %APPDATA%\Claude\claude_desktop_config.json -
MCP サーバーの設定を追加します:
{ "mcpServers": { "cloudflare-browser-rendering": { "command": "node", "args": ["/path/to/cloudflare-browser-rendering/dist/index.js"], "env": { "BROWSER_RENDERING_API": "https://your-worker-url.workers.dev" }, "disabled": false, "autoApprove": [] } } } -
Claude Desktop を再起動します
Cline の場合
-
Cline の MCP 設定ファイルを開きます:
# macOS code ~/Library/Application\ Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json # Windows code %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json -
MCP サーバーの設定を追加します:
{ "mcpServers": { "cloudflare-browser-rendering": { "command": "node", "args": ["/path/to/cloudflare-browser-rendering/dist/index.js"], "env": { "BROWSER_RENDERING_API": "https://your-worker-url.workers.dev" }, "disabled": false, "autoApprove": [] } } }
使用方法
設定が完了すると、MCP サーバーを Claude Desktop と Cline の両方で利用できます。次のツールを使用できます:
fetch_page
LLM のコンテキストとして使用するウェブページを取得、処理します。
パラメーター:
url(必須):取得する URLmaxContentLength(任意):返すコンテンツの最大文字数
例:
Can you fetch and summarize the content from https://developers.cloudflare.com/browser-rendering/?
search_documentation
Cloudflare のドキュメントを検索し、関連するコンテンツを返します。
パラメーター:
query(必須):検索クエリmaxResults(任意):返す検索結果の最大数
例:
Search the Cloudflare documentation for information about "browser rendering API".
extract_structured_content
CSS セレクターを使用して、ウェブページから構造化コンテンツを抽出します。
パラメーター:
url(必須):コンテンツの抽出元となる URLselectors(必須):コンテンツの抽出に使用する CSS セレクター
例:
Extract the main heading and first paragraph from https://developers.cloudflare.com/browser-rendering/ using the selectors h1 and p.
summarize_content
ウェブコンテンツを要約して、LLM のコンテキストをより簡潔にします。
パラメーター:
url(必須):要約する URLmaxLength(任意):要約の最大長
例:
Summarize the content from https://developers.cloudflare.com/browser-rendering/ in 300 words or less.
take_screenshot
ウェブページのスクリーンショットを撮影します。
パラメーター:
url(必須):スクリーンショットを撮影する URLwidth(任意):ビューポートの幅(ピクセル単位、デフォルト:1280)height(任意):ビューポートの高さ(ピクセル単位、デフォルト:800)fullPage(任意):ページ全体またはビューポートのみのスクリーンショットを撮影するかどうか(デフォルト:false)
例:
Take a screenshot of https://developers.cloudflare.com/browser-rendering/ with a width of 1024 pixels.
トラブルシューティング
ロギング
MCP サーバーでは、次のプレフィックスを使用して包括的なログを記録します。
[Setup]:初期化と設定[API]:API リクエストとレスポンス[Error]:エラー処理とデバッグ
ログを確認するには、次の手順に従ってください。
- Claude Desktop:
~/Library/Logs/Claude/mcp*.log(macOS)または%APPDATA%\Claude\Logs\mcp*.log(Windows)にあるログを確認します - Cline:ログは VSCode 拡張機能の出力コンソールに表示されます
よくある問題
-
「BROWSER_RENDERING_API environment variable is not set」
- MCP サーバーの設定で、Cloudflare Worker の正しい URL を設定していることを確認してください
-
「Cloudflare worker API is unavailable or not configured」
- Cloudflare Worker がデプロイされ、稼働していることを確認してください
- URL が正しく、アクセス可能であることを確認してください
-
「Browser binding is not available」
- Cloudflare Worker で Browser Rendering バインディングを設定していることを確認してください
-
「SCREENSHOTS KV binding is not available」
- Cloudflare Worker で KV 名前空間バインディングを設定していることを確認してください
開発
プロジェクト構成
src/index.ts:メインエントリーポイントsrc/server.ts:MCP サーバーの実装src/browser-client.ts:Cloudflare Browser Rendering と連携するクライアントsrc/content-processor.ts:LLM コンテキスト向けにウェブコンテンツを処理しますpuppeteer-worker.js:Cloudflare Worker の実装
ビルド
npm run build
テスト
このプロジェクトには、すべての MCP ツールが正しく動作することを検証する包括的なテストスクリプトが含まれています。
npm test
このスクリプトでは、次の処理を行います。
- MCP サーバーを起動します
- サンプルリクエストを使用して各ツールをテストします
- レスポンスを検証します
- テスト結果の概要を表示します
特定のコンポーネントについて個別にテストを実行することもできます。
# Test the Puppeteer integration
npm run test:puppeteer
テストを正しく実行するには、次の点を確認してください。
npm run buildでプロジェクトをビルドしていることBROWSER_RENDERING_API環境変数に Cloudflare Worker の URL を設定していること- 必要なバインディングを設定して Cloudflare Worker をデプロイしていること
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。