Chrome ツール MCP サーバー
DevToolsプロトコルを介してChromeを操作するためのツールを提供するMCPサーバー。このサーバーは、JavaScriptの実行、スクリーンショットのキャプチャ、ネットワークトラフィックの監視など、Chromeタブのリモート制御を可能にします。
なぜこのような MCP サーバーを使用するのでしょうか?
このタイプのMCPサーバーは、ClineのようなAIツールにブラウザを操作させる前に、ブラウザを特定の状態に手動で設定する必要がある場合に便利です。また、このツールを使ってネットワークイベントをリッスンし、コンテキストに取り込むこともできます。
特徴
- Chromeタブを一覧表示する
- タブでJavaScriptを実行する
- スクリーンショットをキャプチャする
- ネットワークトラフィックを監視する
- タブからURLへ移動する
- DOM要素のクエリ
- コンソール出力キャプチャで要素をクリックする
インストール
構成
サーバーは、MCP 設定の環境変数を通じて構成できます。
環境変数
CHROME_DEBUG_URL
: Chromeのリモートデバッグインターフェースが利用できるURL(デフォルト: http://localhost:9222 )CHROME_CONNECTION_TYPE
: ログ記録の接続タイプ識別子(例:「direct」、「ssh-tunnel」、「docker」)CHROME_ERROR_HELP
: 接続に失敗したときに表示されるカスタムエラーメッセージ
セットアップガイド
ネイティブセットアップ(Windows/Mac/Linux)
- リモート デバッグを有効にして Chrome を起動します。
- MCP 設定を構成します。
WSL セットアップ
WSL で実行する場合は、Windows で実行されている Chrome に接続するための SSH トンネルを設定する必要があります。
- リモートデバッグを有効にして Windows で Chrome を起動する
- SSH トンネルを作成します。
- MCP 設定を構成します。
Dockerのセットアップ
Docker で Chrome を実行する場合:
- Chrome コンテナを起動します。
- MCP 設定を構成します。
ツール
リストタブ
利用可能なすべての Chrome タブを一覧表示します。
スクリプト実行
指定されたタブで JavaScript コードを実行します。パラメータ:
tabId
: ChromeタブのIDscript
: 実行するJavaScriptコード
キャプチャスクリーンショット
指定されたタブのスクリーンショットをキャプチャし、AI モデルでの使用に合わせて自動的に最適化します。パラメータ:
tabId
: ChromeタブのIDformat
: 画像フォーマット (jpeg/png) - 注: これは最初のキャプチャのみに使用されます。最終出力ではWebPとPNGフォールバックが使用されます。quality
: JPEG品質 (1-100) - 注: 最初のキャプチャのみfullPage
: スクロール可能なページ全体をキャプチャする
画像処理:
- WebP 最適化 (プライマリ フォーマット):
- 最初の試み: 品質80、高圧縮のWebP
- 2 回目の試行: 1 回目の試行が 1 MB を超える場合は、品質 60 の WebP とほぼロスレス圧縮
- PNGフォールバック:
- WebP処理が失敗した場合にのみ使用される
- 最大限の圧縮とカラーパレットの最適化が含まれています
- サイズ制約:
- 最大サイズ: 900x600 (アスペクト比を維持)
- 最大ファイルサイズ: 1MB
- 必要に応じて段階的にサイズを縮小
ネットワークイベントのキャプチャ
指定されたタブからのネットワーク イベントを監視およびキャプチャします。パラメータ:
tabId
: ChromeタブのIDduration
: キャプチャする秒数filters
: オプションのタイプとURLパターンのフィルター
ロードURL
指定された URL にタブを移動します。パラメータ:
tabId
: ChromeタブのIDurl
: 読み込むURL
クエリDOM要素
CSSセレクタに一致するDOM要素に関する詳細情報を照会して取得します。パラメータ:
tabId
: ChromeタブのIDselector
: 要素を見つけるためのCSSセレクター 戻り値:- 次のプロパティを含む DOM 要素の配列:
nodeId
: ノードの一意の識別子tagName
: HTMLタグ名textContent
: 要素のテキストコンテンツattributes
: すべての要素属性を含むオブジェクトboundingBox
: 要素の位置と寸法isVisible
: 要素が表示されているかどうかariaAttributes
: アクセシビリティのためのARIA属性
クリック要素
DOM 要素をクリックし、クリックによってトリガーされたコンソール出力をキャプチャします。パラメータ:
tabId
: ChromeタブのIDselector
: クリックする要素を見つけるための CSS セレクター 戻り値:- 以下を含むオブジェクト:
message
: 成功/失敗メッセージconsoleOutput
: クリックによってトリガーされるコンソールメッセージの配列
ライセンス
マサチューセッツ工科大学
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
DevTools プロトコルを通じて Chrome と対話するためのツールを提供する MCP サーバー。Chrome タブをリモート制御して JavaScript を実行したり、スクリーンショットをキャプチャしたり、ネットワーク トラフィックを監視したりできるようになります。
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityEnables interaction with Google Chrome tabs through the MCP protocol, allowing clients to retrieve information and control tabs on macOS using AppleScript.Last updated -2142JavaScriptMIT License
- -securityAlicense-qualityAn MCP server that enables fetching web content using the Node.js undici library, supporting various HTTP methods, content formats, and request configurations.Last updated -668TypeScriptMIT License
- -securityAlicense-qualityA MCP server that provides browser automation tools, allowing users to navigate websites, take screenshots, click elements, fill forms, and execute JavaScript through Playwright.Last updated -PythonApache 2.0
- -securityFlicense-qualityA MCP server that allows AI assistants to interact with the browser, including getting page content as markdown, modifying page styles, and searching browser history.Last updated -5TypeScript