Chrome DevTools MCP は公式ですか?
はい。Google の Chrome DevTools チームが ChromeDevTools GitHub 組織で公開しており、npm パッケージ名は `chrome-devtools-mcp` です。
@ChromeDevTools
基本情報
コーディングエージェントが実際に動いている Chrome ブラウザーを操作、デバッグ、プロファイリングできる、Google 公式の Chrome DevTools MCP サーバー。
以下の設定を使って、このサーバーを MCP 対応クライアントに追加してください。
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp@latest"
]
}
}
}Clicks on the provided element
Drag an element onto another element
Type text into an input, text area or select an option from a <select> element.
Fill out multiple form elements (inputs, selects, checkboxes, radios) at once. ALWAYS prefer this tool over multiple individual 'fill' or 'click' calls when interacting with forms. It is significantly faster, more reliable, and reduces turn count. Example: Fill username, password, and check "Remember Me" in one call.
If a browser dialog was opened, use this command to handle it
Hover over the provided element
Press a key or key combination. Use this when other input methods like fill() cannot be used (e.g., keyboard shortcuts, navigation keys, or special key combinations).
Type text using keyboard into a previously focused input
Upload a file through a provided element.
Clicks at the provided coordinates (requires flag: --experimentalVision=true)
Closes the page by its index. The last open page cannot be closed.
Get a list of pages including extension service workers open in the browser.
Go to a URL, or back, forward, or reload. Use project URL if not specified otherwise.
Open a new tab and load a URL. Use project URL if not specified otherwise.
Select a page as a context for future tool calls.
Wait for the specified text to appear on the selected page.
Emulates various features on the target page. Each call replaces all emulation settings (except extraHttpHeaders), so pass all desired settings in a single call.
Resizes the page's window so that the page has specified dimension
Provides more detailed information on a specific Performance Insight of an insight set that was highlighted in the results of a trace recording.
Start a performance trace on the target webpage. Use to find frontend performance issues, Core Web Vitals (LCP, INP, CLS), and improve page load speed.
Stop the active performance trace recording on the target webpage.
Gets a network request by an optional reqid, if omitted returns the currently selected request in the DevTools Network panel. Useful for inspecting request headers (including 'Cookie') and response headers (including 'Set-Cookie' and directives).
Lists the most recent requests for the target page since the last navigation.
Evaluate JavaScript inside the target page or service worker. The source can be provided inline or loaded from a local file. Returns the response as JSON, so returned values have to be JSON-serializable.
Gets a console message by its ID. You can get all messages by calling list_console_messages.
Retrieve matched CSS rules, inline styles (element.style), inherited styles, custom properties, and cascade wrappers (@layer, @media, @container, @scope) for an element identified by its UID.
Get Lighthouse scores, failing audits, and the DOM nodes they flag for accessibility, SEO, best practices, and agentic browsing. Full reports are saved to disk. This excludes performance. For performance audits, run performance_start_trace
List all console messages for the target page since the last navigation. This includes console messages originating from extensions content scripts.
Starts recording a screencast (video) of the target page.
Stops the active screencast recording on the target page.
Take a screenshot of the page or element.
Take a text snapshot of the target page based on the a11y tree. The snapshot lists page elements along with a unique
Capture a heap snapshot of the target page. Use to analyze the memory distribution of JavaScript objects and debug memory leaks.
Loads and caches a memory heapsnapshot to identify and rank closure contexts holding dead captured fields—variables no remaining live closure can read. Scopes are ranked globally by the retained size of these dead values to provide a prioritizing heuristic, rather than an exact measure of reclaimable bytes. (requires flag: --memoryDebugging=true)
Closes a previously loaded and cached memory heapsnapshot, freeing its memory. (requires flag: --memoryDebugging=true)
Loads and caches two memory heapsnapshots and returns the comparison. If classIndex is provided, returns detailed diff for that class, otherwise returns summary diff. (requires flag: --memoryDebugging=true)
Loads and caches a memory heapsnapshot and returns instances of a specific class with their IDs. (requires flag: --memoryDebugging=true)
Loads and caches a memory heapsnapshot and returns all available information including statistics, static data, and aggregated node information. Supports pagination for aggregates. (requires flag: --memoryDebugging=true)
Loads and caches a memory heapsnapshot and returns the dominator chain for a specific node ID. This helps to identify which objects are keeping the target node alive. (requires flag: --memoryDebugging=true)
Loads and caches a memory heapsnapshot and returns duplicate strings grouped by their value. (requires flag: --memoryDebugging=true)
Loads and caches a memory heapsnapshot and returns outgoing edges (references) for a specific node ID. (requires flag: --memoryDebugging=true)
Loads and caches a memory heapsnapshot and returns detailed information about a specific object by its node ID, including size, type, distance, and DOM detachedness. (requires flag: --memoryDebugging=true)
Loads and caches a memory heapsnapshot and returns retainers for a specific node ID. (requires flag: --memoryDebugging=true)
Loads and caches a memory heapsnapshot and returns retaining paths for a specific node ID. This helps to understand why a node is not being garbage collected. (requires flag: --memoryDebugging=true)
Loads and caches a memory heapsnapshot and returns snapshot summary stats, including native contexts and their sizes, and retained by context summary. (requires flag: --memoryDebugging=true)
Loads and caches a memory heapsnapshot and queries objects matching specific filters (className, propertyName, nodeType, retainedSize, selfSize, isDetached, sortBy). (requires flag: --memoryDebugging=true)
Installs a Chrome extension from the given path. (requires flag: --categoryExtensions=true)
Lists all the Chrome extensions installed in the browser. This includes their name, ID, version, and enabled status. (requires flag: --categoryExtensions=true)
Reloads an unpacked Chrome extension by its ID. (requires flag: --categoryExtensions=true)
Triggers the default action of an extension by its ID. (requires flag: --categoryExtensions=true)
Uninstalls a Chrome extension by its ID. (requires flag: --categoryExtensions=true)
Executes a third-party developer tool exposed by the page. (requires flag: --categoryExperimentalThirdParty=true)
Lists all third-party developer tools the page exposes for providing runtime information (including debugging WebMCP tools and tools exposed via the 'devtoolstooldiscovery' event).
Executes a WebMCP tool exposed by the page (for debugging tools, use 'execute_3p_developer_tool'). (requires flag: --categoryExperimentalWebmcp=true)
Lists all WebMCP tools the page exposes (excluding debugging tools, which are exposed via 'list_3p_developer_tools'). (requires flag: --categoryExperimentalWebmcp=true)
Returns the OS integration state (badge count and registered file handlers) for an installed web app, identified by its manifest ID. (requires flag: --categoryPwa=true)
Installs a Progressive Web App (PWA) identified by its manifest ID. This installs through the PWA CDP domain without a user gesture or install dialog. DevTools installs default to browser display mode. (requires flag: --categoryPwa=true)
Launches an installed Progressive Web App using its saved display mode. Optionally opens a specific URL within the same app instead of the default start URL. (requires flag: --categoryPwa=true)
Uninstalls a Progressive Web App identified by its manifest ID and closes any open app windows. (requires flag: --categoryPwa=true)
Chrome DevTools MCP は Google 公式の MCP サーバー(chrome-devtools-mcp)で、Claude、Cursor、Copilot、Gemini などのコーディングエージェントが実際に動いている Chrome ブラウザーを操作・検査し、自動化、デバッグ、パフォーマンス分析を行えるようにします。
このプロジェクトは Chrome DevTools チームが ChromeDevTools/chrome-devtools-mcp リポジトリで Apache-2.0 ライセンスのもとメンテナンスしています。Chrome の操作には Puppeteer を、トレースの記録とパフォーマンスインサイトの抽出には DevTools フロントエンドを使います。stdio でローカル実行され、無料で、API キーも不要です。MCP なしで使える CLI も提供されています。
前提条件:
^20.19.0 || ^22.12.0 || >=23)MCP クライアントに標準設定を追加します:
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": ["-y", "chrome-devtools-mcp@latest"]
}
}
}
基本的なブラウザー操作だけでよい場合は、3 つのツール(ナビゲーション、スクリプト実行、スクリーンショット)だけを公開する slim モードを使えます:
"args": ["-y", "chrome-devtools-mcp@latest", "--slim", "--headless"]
ブラウザーを必要とするツールが初めて呼ばれたときに、サーバーが Chrome を自動で起動します。動作確認には「Check the performance of https://developers.chrome.com」というプロンプトを試してください。
MCP サーバーのみをインストールする場合:
claude mcp add chrome-devtools --scope user npx chrome-devtools-mcp@latest
MCP サーバーと skills をまとめたプラグインとしてインストールする場合:
/plugin marketplace add ChromeDevTools/chrome-devtools-mcp
/plugin install chrome-devtools-mcp@chrome-devtools-plugins
インストール後に Claude Code を再起動します。以前に手動でインストールしていた場合は、先に削除してください。
公式のクライアントガイドには Claude Desktop の個別手順はありません。claude_desktop_config.json は同じ mcpServers 形式なので、上記の標準設定を貼り付けてアプリを再起動します。
README のワンクリックインストールボタンを使うか、Cursor Settings -> MCP -> New MCP Server を開いて標準設定を入力します。
推奨はエージェントプラグインとしての導入です。コマンドパレットで Chat: Install Plugin From Source を実行し、ChromeDevTools/chrome-devtools-mcp を貼り付けます。macOS または Linux で MCP サーバーのみを追加する場合:
code --add-mcp '{"name":"io.github.ChromeDevTools/chrome-devtools-mcp","command":"npx","args":["-y","chrome-devtools-mcp"],"env":{}}'
codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latest
公式クライアントガイドでは、Gemini CLI(gemini mcp add chrome-devtools npx chrome-devtools-mcp@latest)、Windsurf、Cline、JetBrains、Kiro、Warp、OpenCode なども扱っています。
デフォルトでは、専用プロファイルで新しい Chrome インスタンスが起動します。すでにログイン済みのブラウザーを使いたい場合は、chrome://inspect/#remote-debugging でリモートデバッグを有効にして(Chrome 144 以降)--autoConnect を追加するか、デバッグポート付きで Chrome を起動して --browser-url=http://127.0.0.1:9222 を渡します。
--slim、--headless、--isolated、カテゴリ単位のツール切り替え、URL の許可・ブロックリスト。click、fill、fill_form、type_text、press_key、hover、drag、upload_file、handle_dialog が、ページスナップショットで識別された要素を操作します。new_page、navigate_page、list_pages、select_page、close_page、wait_for でタブとページ読み込みを管理します。performance_start_trace、performance_stop_trace、performance_analyze_insight でトレースを記録し、個々のインサイトを掘り下げます。list_network_requests、get_network_request、list_console_messages、evaluate_script、get_css_styles、lighthouse_audit、take_screenshot、take_snapshot。emulate と resize_page。take_heapsnapshot。より詳しいヒープ分析ツールには --memoryDebugging=true が必要です。--categoryExtensions=true)、プログレッシブウェブアプリのツール(--categoryPwa=true)、実験的な WebMCP ツール。--autoConnect で自分の Chrome に接続できます。npx chrome-devtools-mcp@latest --help を実行し、クライアントがターミナルと同じ Node と npm のバージョンを使っているか確認します。ERR_MODULE_NOT_FOUND:多くの場合、サポート外の Node バージョンか npx キャッシュの破損が原因です。rm -rf ~/.npm/_npx と npm cache clean --force でキャッシュを消去して再インストールします。Target closed エラー:ブラウザーを起動できませんでした。実行中の Chrome インスタンスを閉じ、最新の安定版 Chrome をインストールします。"command": "cmd" と "args": ["/c", "npx", "-y", "chrome-devtools-mcp@latest"] を使うか、npx の絶対パスを指定します。はい。Google の Chrome DevTools チームが ChromeDevTools GitHub 組織で公開しており、npm パッケージ名は `chrome-devtools-mcp` です。
はい。Apache-2.0 のオープンソースで、アカウントも API キーも不要です。必要なのは Node.js と Chrome だけです。
はい。公式クライアントガイドには Claude Code、Cursor、VS Code/Copilot、Codex、Gemini CLI、Windsurf をはじめ多くのクライアントの手順があります。
はい。`chrome://inspect/#remote-debugging` でリモートデバッグを有効にし(Chrome 144 以降)、`--autoConnect` でサーバーを起動するか、`--browser-url` でデバッグポートに接続します。
Google はデフォルトで利用統計を収集します。`--no-usage-statistics` でオプトアウトできます。パフォーマンスツールはフィールドデータ取得のためにトレースの URL を CrUX API に送ることがあり、`--no-performance-crux` で無効にできます。
サーバーはブラウザーの内容を MCP クライアントに公開するため、機密情報は避けてください。一時プロファイルを使う `--isolated`、アクセス先を制限する URL の許可・ブロックパターン、スクリプト評価ツールを無効にする `--javascriptEvaluation=false` を活用できます。
公式にサポートしているのは Google Chrome と Chrome for Testing です。その他の Chromium 系ブラウザーでも動く場合がありますが、保証はありません。
はい。args に `--headless` を追加し、必要に応じて `--viewport` でウィンドウサイズを指定します。
Give your AI agent the live web. One MCP server for Search, Fetch, Browser, and Agent: browse real sites, extract structured data, fill forms, and run multi-step workflows. Search and Fetch are free.
Monitor browser logs directly from Cursor and other MCP compatible IDEs.

Give your AI agent its own proxies. QuantumProxies exposes residential, mobile, datacenter, ISP and IPv6 endpoints as MCP tools: list your plans, generate ready-to-use proxy strings with credentials, target by country, s
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
This MCP server provides browser automation capabilities through Puppeteer, allowing interaction with both new browser instances and existing Chrome windows.
コメント