Chrome DevTools MCP について
Chrome DevTools MCPは、コーディングエージェントが起動中のChromeを操作・検査するためのMCPサーバーです。ブラウザー自動化に加え、DevToolsによるデバッグとパフォーマンス分析を行えます。
主な機能
- 01PuppeteerによるChrome操作の自動化
- 02ネットワークリクエストとコンソールの確認
- 03スクリーンショットとページスナップショットの取得
- 04トレース記録とパフォーマンス分析
- 05起動中のChromeへの接続
活用シーン
- 01コーディングエージェントによるブラウザー作業の自動化
- 02ページエラーとネットワーク動作の調査
- 03トレースを使ったサイト性能の測定
MCP 対応
MCPクライアントにChromeの操作、検査、デバッグ、ネットワーク、パフォーマンス用ツールを提供します。ブラウザーを起動するか、起動中のChromeに接続できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Chrome DevTools MCP
chrome-devtools-mcp を使用すると、コーディングエージェント(Gemini、Claude、Cursor、Copilot など)から、実行中の Chrome ブラウザーを操作して調査できます。Model-Context-Protocol(MCP)サーバーとして動作し、信頼性の高い自動化、詳細なデバッグ、パフォーマンス分析のために、AI コーディングアシスタントが Chrome DevTools の機能をすべて利用できるようにします。
ツールリファレンス | 変更履歴 | コントリビューション | トラブルシューティング
主な機能
- パフォーマンスに関する分析情報の取得:Chrome DevTools を使用してトレースを記録し、実用的なパフォーマンス分析情報を抽出します。
- 高度なブラウザーデバッグ:ネットワークリクエストを分析し、スクリーンショットを撮影して、ブラウザーコンソールを確認できます。
- 信頼性の高い自動化。puppeteer を使用して Chrome での操作を自動化し、操作結果が得られるまで自動的に待機します。
免責事項
chrome-devtools-mcp はブラウザーインスタンスの内容を MCP クライアントに公開するため、クライアントはブラウザーまたは DevTools 内のあらゆるデータを調査、デバッグ、変更できます。MCP クライアントと共有したくない機密情報や個人情報は、共有しないでください。
必要条件
- Node.js v20.19、またはそれ以降の最新のメンテナンス LTS バージョン。
- Chrome の現行安定版、またはそれ以降。
- npm。
はじめに
次の設定を MCP クライアントに追加します。
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
}
}
}
メモ
chrome-devtools-mcp@latestを使用すると、MCP クライアントは常に最新バージョンの Chrome DevTools MCP サーバーを使用します。
MCP クライアントの設定
Amp
https://ampcode.com/manual#mcp の手順に従い、上記の設定を使用します。CLI を使用して Chrome DevTools MCP サーバーをインストールすることもできます。amp mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
Antigravity
Chrome DevTools MCP サーバーを使用するには、カスタム MCP サーバーのインストールについてAntigravity のドキュメントの手順に従ってください。次の設定を MCP サーバーの設定に追加します。
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"chrome-devtools-mcp@latest",
"--browser-url=http://127.0.0.1:9222",
"-y"
]
}
}
}
これにより、Chrome DevTools MCP サーバーは Antigravity が使用しているブラウザーに自動的に接続します。ポート 9222 を使用していない場合は、適宜変更してください。
Claude Code
Claude Code CLI を使用して Chrome DevTools MCP サーバーを追加します(ガイド)。claude mcp add chrome-devtools npx chrome-devtools-mcp@latest
Cline
https://docs.cline.bot/mcp/configuring-mcp-servers の手順に従い、上記の設定を使用します。Codex
上記の標準設定を使用して、MCP の設定ガイドに従ってください。Codex CLI を使用して Chrome DevTools MCP サーバーをインストールすることもできます。codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
Windows 11 の場合
.codex/config.toml を更新して次の env パラメーターと startup_timeout_ms パラメーターを追加し、Chrome のインストール場所を設定して起動タイムアウトを延長します。
[mcp_servers.chrome-devtools]
command = "cmd"
args = [
"/c",
"npx",
"-y",
"chrome-devtools-mcp@latest",
]
env = { SystemRoot="C:\\Windows", PROGRAMFILES="C:\\Program Files" }
startup_timeout_ms = 20_000
Copilot CLI
Copilot CLI を起動します。
copilot
次を実行して、新しい MCP サーバーを追加するダイアログを開きます。
/mcp add
次のフィールドを設定し、CTRL+S を押して設定を保存します。
- サーバー名:
chrome-devtools - サーバーの種類:
[1] Local - コマンド:
npx -y chrome-devtools-mcp@latest
Copilot / VS Code
標準設定を使用して、MCP のインストールガイドに従ってください。VS Code CLI を使用して Chrome DevTools MCP サーバーをインストールすることもできます。code --add-mcp '{"name":"chrome-devtools","command":"npx","args":["chrome-devtools-mcp@latest"]}'
Cursor
ボタンをクリックしてインストールします:
または、手動でインストールします:
Cursor Settings -> MCP -> New MCP Server に移動します。上記の設定を使用してください。
Factory CLI
Factory CLI を使用して Chrome DevTools MCP サーバーを追加します(ガイド):droid mcp add chrome-devtools "npx -y chrome-devtools-mcp@latest"
Gemini CLI
Gemini CLI を使用して Chrome DevTools MCP サーバーをインストールします。プロジェクト単位:
gemini mcp add chrome-devtools npx chrome-devtools-mcp@latest
グローバル:
gemini mcp add -s user chrome-devtools npx chrome-devtools-mcp@latest
または、MCP ガイドに従い、上記の標準設定を使用してください。
Gemini Code Assist
上記の標準設定を使用して、MCP 設定ガイドに従ってください。JetBrains AI Assistant & Junie
Settings | Tools | AI Assistant | Model Context Protocol (MCP) -> Add に移動します。上記の設定を使用してください。
同様に、Settings | Tools | Junie | MCP Settings -> Add で JetBrains Junie 用に chrome-devtools-mcp を設定できます。上記の設定を使用してください。
Kiro
Kiro Settings で、Configure MCP > Open Workspace or User MCP Config に移動し、上記の設定スニペットを使用します。
または、IDE の Activity Bar > Kiro > MCP Servers > Click Open MCP Config に移動し、上記の設定スニペットを使用します。
Warp
Settings | AI | Manage MCP Servers -> + Add に移動し、MCP サーバーを追加します。上記の設定を使用してください。
Windsurf
上記の標準設定を使用して、MCP 設定ガイドに従ってください。最初のプロンプト
すべてが機能しているか確認するため、MCP クライアントに次のプロンプトを入力します。
Check the performance of https://developers.chrome.com
MCP クライアントによってブラウザーが開き、パフォーマンストレースが記録されます。
メモ
MCP クライアントが、実行中のブラウザーインスタンスを必要とするツールを使用すると、MCP サーバーがブラウザーを自動的に起動します。Chrome DevTools MCP サーバーに接続するだけでは、ブラウザーは自動的に起動しません。
ツール
問題が発生した場合は、トラブルシューティングガイドをご確認ください。
- 入力の自動化(8 個のツール)
- ナビゲーションの自動化(6 個のツール)
- エミュレーション(2 個のツール)
- パフォーマンス(3 個のツール)
- ネットワーク(2 個のツール)
- デバッグ(5 個のツール)
設定
Chrome DevTools MCP サーバーでは、次の設定オプションを使用できます。
-
--browserUrl,-uポートフォワーディングを使用して、起動中の Chrome インスタンスに接続します。詳細については、https://developer.chrome.com/docs/devtools/remote-debugging/local-server をご覧ください。- 型: string
-
--wsEndpoint,-w起動中の Chrome インスタンスに接続するための WebSocket エンドポイントです(例:ws://127.0.0.1:9222/devtools/browser/)。--browserUrlの代替です。- 型: string
-
--wsHeadersWebSocket 接続用のカスタムヘッダーを JSON 形式で指定します(例:'{"Authorization":"Bearer token"}')。--wsEndpointと併用する場合のみ機能します。- 型: string
-
--headlessヘッドレス(UI なし)モードで実行するかどうかを指定します。- 型: boolean
- デフォルト:
false
-
--executablePath,-eカスタム Chrome 実行ファイルへのパスです。- 型: string
-
--isolated指定すると、一時的なユーザーデータディレクトリを作成します。このディレクトリはブラウザーを閉じた後に自動的に削除されます。- 型: boolean
- デフォルト:
false
-
--channel使用する別の Chrome チャンネルを指定します。デフォルトでは安定版チャンネルが使用されます。- 型: string
- 選択肢:
stable、canary、beta、dev
-
--logFileデバッグログを書き込むファイルへのパスです。詳細ログを有効にするには、環境変数DEBUGを*に設定します。バグレポートの送信に役立ちます。- 型: string
-
--viewportサーバーが起動する Chrome インスタンスの初期ビューポートサイズです。たとえば、1280x720です。ヘッドレスモードでは、最大サイズは 3840x2160px です。- 型: string
-
--proxyServerブラウザー起動時に--proxy-serverとして Chrome に渡されるプロキシサーバー設定です。詳細については、https://www.chromium.org/developers/design-documents/network-settings/ をご覧ください。- 型: string
-
--acceptInsecureCerts有効にすると、自己署名証明書や有効期限切れの証明書に関するエラーを無視します。注意して使用してください。- 型: boolean
-
--chromeArgChrome に渡す追加の引数です。Chrome が chrome-devtools-mcp によって起動された場合にのみ適用されます。- 型: array
-
--categoryEmulationエミュレーション関連のツールを除外するには、falseに設定します。- 型: boolean
- デフォルト:
true
-
--categoryPerformanceパフォーマンス関連のツールを除外するには、falseに設定します。- 型: boolean
- デフォルト:
true
-
--categoryNetworkネットワーク関連のツールを除外するには、falseに設定します。- 型: boolean
- デフォルト:
true
JSON 設定の args プロパティを使って渡します。例:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"chrome-devtools-mcp@latest",
"--channel=canary",
"--headless=true",
"--isolated=true"
]
}
}
}
カスタムヘッダーを使用した WebSocket 接続
Chrome の WebSocket エンドポイントに直接接続し、カスタムヘッダー(認証用など)を含めることができます。
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"chrome-devtools-mcp@latest",
"--wsEndpoint=ws://127.0.0.1:9222/devtools/browser/<id>",
"--wsHeaders={\"Authorization\":\"Bearer YOUR_TOKEN\"}"
]
}
}
}
起動中の Chrome インスタンスから WebSocket エンドポイントを取得するには、http://127.0.0.1:9222/json/version にアクセスし、webSocketDebuggerUrl フィールドを確認してください。
npx chrome-devtools-mcp@latest --help を実行して、利用可能なすべての設定オプションを確認することもできます。
概念
ユーザーデータディレクトリ
chrome-devtools-mcp は、次のユーザーデータディレクトリを使用して、Chrome の安定版チャンネルのインスタンスを起動します。
- Linux / macOS:
$HOME/.cache/chrome-devtools-mcp/chrome-profile-$CHANNEL - Windows:
%HOMEPATH%/.cache/chrome-devtools-mcp/chrome-profile-$CHANNEL
ユーザーデータディレクトリは実行ごとに消去されず、chrome-devtools-mcp のすべてのインスタンスで共有されます。一時的なユーザーデータディレクトリを使用し、ブラウザーを閉じた後に自動的に消去するには、isolated オプションを true に設定してください。
起動中の Chrome インスタンスへの接続
--browser-url オプションを使用すると、起動中の Chrome インスタンスに接続できます。既存の Chrome プロファイルを使用したい場合や、新しい Chrome インスタンスを起動できないサンドボックス環境で MCP サーバーを実行している場合に便利です。
起動中の Chrome Stable インスタンスに接続する手順は次のとおりです。
ステップ 1:MCP クライアントを設定する
MCP クライアントの設定に --browser-url オプションを追加します。このオプションの値には、起動中の Chrome インスタンスの URL を指定します。一般的なデフォルト値は http://127.0.0.1:9222 です。
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"chrome-devtools-mcp@latest",
"--browser-url=http://127.0.0.1:9222"
]
}
}
}
ステップ 2:Chrome ブラウザーを起動する
警告
リモートデバッグポートを有効にすると、起動中のブラウザーインスタンスでデバッグポートが開かれます。お使いのマシン上のあらゆるアプリケーションがこのポートに接続し、ブラウザーを制御できます。デバッグポートが開いている間は、機密性の高いウェブサイトを閲覧しないようにしてください。
リモートデバッグポートを有効にして Chrome ブラウザーを起動します。デバッグポートを有効にして新しく起動する前に、実行中の Chrome インスタンスをすべて終了してください。選択するポート番号は、MCP クライアントの設定で --browser-url オプションに指定したものと同じである必要があります。
セキュリティ上の理由から、リモートデバッグポートを有効にする場合、Chrome ではデフォルト以外のユーザーデータディレクトリを使用する必要があります。--user-data-dir フラグを使ってカスタムディレクトリを指定できます。これにより、通常の閲覧プロファイルとデータがデバッグセッションに公開されるのを防げます。
macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable
Linux
/usr/bin/google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-profile-stable
Windows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="%TEMP%\chrome-profile-stable"
ステップ 3:設定をテストする
MCP クライアントを設定し、Chrome ブラウザーを起動したら、MCP クライアントで簡単なプロンプトを実行して設定をテストできます。
Check the performance of https://developers.chrome.com
MCP クライアントが起動中の Chrome インスタンスに接続し、パフォーマンスレポートを受け取るはずです。
VM からホストへのポート転送で問題が発生した場合は、docs/troubleshooting.md の「仮想マシン(VM)とホスト間のリモートデバッグが失敗する」セクションをご覧ください。
リモートデバッグの詳細については、Chrome DevTools のドキュメントをご覧ください。
既知の制限事項
オペレーティングシステムのサンドボックス
一部の MCP クライアントでは、macOS Seatbelt または Linux
コンテナーを使って MCP サーバーをサンドボックス化できます。サンドボックスが有効になっている場合、chrome-devtools-mcp は独自のサンドボックスを作成する権限を必要とする
Chrome を起動できません。回避策として、MCP クライアントで chrome-devtools-mcp のサンドボックス化を無効にするか、
--browser-url を使って MCP クライアントのサンドボックス外で手動起動した Chrome インスタンスに接続してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。