mcpField
B
Browser Inspector Mcp

Browser Inspector Mcp

ローカル
betson-g.github.ioブラウザ自動化620 週間前に更新

Browser Inspector Mcp について

Browser Inspector Mcpは、ローカル開発ページのCSSを調査するフロントエンド開発者やデザイナー向けのMCPサーバーです。レンダリング後のDOMやCSSカスケードを確認し、変更前後を比較して、ブラウザーの表示に基づく問題特定を支援します。

主な機能

  1. 01レンダリング後のDOMを検査
  2. 02CSSカスケード全体を確認
  3. 03適用ルールと原因を特定
  4. 04変更前後の状態を比較
  5. 05ページのスクリーンショットを取得

活用シーン

  1. 01適用されないスタイルを調査
  2. 02コンポーネントの実行時クラス名を確認
  3. 03CSS変更の反映を検証
  4. 04ローカル開発ページをデバッグ

MCP 対応

MCPサーバーとして、browser_inspectツールをクライアントに提供し、DOM、CSSカスケード、変更差分、スクリーンショットを調査できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"browser-inspector": {
"command": "npx",
"args": [
"-y",
"browser-inspector-mcp"
]
}
}
}
起動コマンドnpx -y browser-inspector-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmbrowser-inspector-mcp

ツール

1

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
actionenumはい'dom' — 実際にレンダリングされた HTML とクラス名を取得します。'styles' — すべての CSS ルール、計算値、および適用されているルールを取得します。'screenshot' — 要素の表示スナップショットを取得します。'diff' — CSS 変更前後のスタイルを比較し、変更が適用されたことを確認します。'help' — このツールでできることを説明します。dom | styles | screenshot | diff | help
selectorstringいいえ検査する要素の CSS セレクター(例:'.dropdown-menu'、'#header'、'button.primary')。'help' 以外のすべての操作で必須です。
urlstringいいえ検査するページの URL。アタッチモード(自分の Chrome を検査)の場合、開いているタブと照合し、最も一致するタブを使用します。一致するものがない場合は、警告を表示して最初のユーザータブを使用します。管理モード(ヘッドレス)の場合、ツールの内部ブラウザがこの URL に移動します。初回呼び出し時は必須です。
viewportobjectいいえ任意:検査前のブラウザのビューポートサイズ(例:モバイルの場合は {"width": 375, "height": 812})。デフォルトは 1440×900 です。アタッチモードでは無視され、実際の Chrome ウィンドウのサイズが使用されます。
viewport.widthnumberはい
viewport.heightnumberはい
propertiesarrayいいえ任意。'styles' 操作でのみ使用します。計算済みスタイルを指定したプロパティ名に絞り込みます(例:['color', 'border', 'display'])。省略すると、デフォルトで最も有用な項目が返されます。
paddingnumberいいえ任意。'screenshot' 操作でのみ使用します。要素周囲のパディングのピクセル数(デフォルト:8)。値を大きくすると、より広い範囲を確認できます。
resetbooleanいいえ任意。'diff' 操作でのみ使用します。true を渡すと、既存のスナップショットを破棄して新しいベースラインを開始します。
openInNewTabbooleanいいえ任意。アタッチモードでのみ使用します。既存のタブと照合せず、指定した `url` を新しいタブで開きます。開いているタブに影響を与えずに、ツールで特定のページを用意する場合に使用してください。

詳細

browser-inspector-mcp

AI コーディングツールに、ブラウザーの DevTools と同じ CSS の表示機能を提供します。

テストツールではなく、デバッグのための基本ツールです。テストランナーも合否判定もありません。AI が CSS を書く前に、ブラウザー上で実際に何が表示されているかを確認できるようにします。実際に描画されたクラス名、ルールのカスケード全体、どのルールが優先されるのか、そしてその理由を確認できます。人間が DevTools で確認できるデータと同じです。手動でコピー&ペーストする必要はありません。うまくいかない場合は、その理由を説明し、原因と思われる箇所を示します。

ドキュメントとビジュアルの全文はこちら →

ソースファイルとライブ DOM — クラス名が一致しません
要約 — 使い方は分かっているので、セットアップだけを見せてください

必要なもの: Node.js 18 以降、MCP 対応 AI ツール(Claude Code、Cursor、Windsurf、Cline など)、起動中のローカル開発サーバー。

設定(AI ツールの MCP 設定ファイルに追加します):

{
  "mcpServers": {
    "browser-inspector": {
      "command": "npx",
      "args": ["-y", "browser-inspector-mcp"]
    }
  }
}

設定ファイルの場所:

  • Claude Code:~/.claude.json
  • Cursor:~/.cursor/mcp.json または .cursor/mcp.json
  • Windsurf:~/.codeium/windsurf/mcp_config.json
  • その他:お使いのツールが MCP サーバー設定を読み込む場所

AI ツールを再起動します。初回の呼び出し時に、開発サーバーの URL を AI に伝えてください。ブラウザーセッションは会話が終わるまで維持されます。

ツールは 1 つで、4 つのアクションを実行できます。browser_inspect の action: "dom"(描画された DOM)、"styles"(CSS カスケード全体)、"diff"(変更前後の検証)、"screenshot"(画面のスナップショット)です。必要なことを説明するだけでもかまいません。Claude が適切なアクションを選びます。

初回の使用時に、Puppeteer が Chromium(約 170 MB)をダウンロードします。

使い方を教えてください — 初めてなので、すべて説明してください
始める前に — 必要なもの

このツールは、あらかじめセットアップしておく必要がある 2 つのものに接続します。AI コーディングツールと、現在作業中の Web プロジェクトです。それぞれの内容と入手方法を説明します。


1. Node.js(このツールを実行するエンジン)

Node.js は、ブラウザーの外でコンピューターに JavaScript を実行させるプログラムです。このツールのインストールと実行に使うコマンドの npm と npx は、Node.js に付属しています。

すでにインストールされていますか? ターミナル(Mac)またはコマンドプロンプト(Windows)を開いて、次のように入力します:

node --version

v20.11.0 のようなバージョン番号が表示されれば準備完了です。エラーが表示された場合は、インストールが必要です。

インストールする: nodejs.org からダウンロードし、LTS バージョン(「Recommended for most users」と表示されているもの)を選びます。インストーラーを実行すれば完了です。


2. AI コーディングツール

これは、AI にコードの作成や修正を依頼するときに入力するツールです。この MCP サーバーは次のいずれとも連携できます。必要なのは 1 つだけです。

ツール説明入手先
Claude Codeターミナルで使う Anthropic の AIclaude.ai/code
CursorAI を組み込んだ AI ファーストのコードエディター(AI を内蔵した VS Code のようなもの)cursor.com
WindsurfCodeium の AI コードエディターcodeium.com/windsurf
ClineVS Code 用の AI コーディング拡張機能VS Code 拡張機能マーケットプレイス
Continueオープンソースの AI コーディングアシスタントcontinue.dev

まだどれもお持ちでなく、どれから始めるか迷っている場合は、Cursor をお試しください。デザインの経験がある方にも、最も簡単に使い始められます。


3. MCP とは(ひとことで)

MCP(Model Context Protocol)は、ブラウザー、データベース、ファイルシステムなどの追加機能に AI ツールがアクセスできるようにするための標準です。このツールも、そうした機能の 1 つです。AI ツールの設定に数行追加するだけでインストールでき、AI のツールボックスに自動的に表示されます。


#### 4. ローカルで実行中のウェブプロジェクト

このツールは、実際に動作しているブラウザーで CSS を調査します。そのため、お使いのコンピューターでウェブプロジェクトを実行している必要があります。通常は、開発中の React、Vue などのアプリです。

プロジェクトをローカルで実行すると、http://localhost:5173 や http://localhost:3000 のようなアドレスで開きます。このツールに指定する URL はそのアドレスです。

ローカルプロジェクトがない場合、このツールで調査できるものはありません。このツールは、公開中のウェブサイトの調査ではなく、開発中のワークフロー向けに設計されています。


インストール方法

事前にインストールする必要はありません。次の手順で AI ツールを設定すると、必要になった初回に、npx というツールを使って browser-inspector-mcp が自動的にダウンロードされ、実行されます。

初回の実行時には、ブラウザーの Chromium もダウンロードされます(約 170MB)。これは、このツールがページを調査するために使用するヘッドレスブラウザーです。バックグラウンドで見えない状態で実行されるもので、普段お使いの Chrome や Safari とは関係ありません。


AI ツールの設定方法

お使いのコンピューター上のファイルに、JSON ブロックという短い設定を追加する必要があります。JSON は構造化されたテキスト形式です。ブロックは次のようになります。

{
  "mcpServers": {
    "browser-inspector": {
      "command": "npx",
      "args": ["-y", "browser-inspector-mcp"]
    }
  }
}

追加先のファイルは、使用する AI ツールによって異なります。以下から該当するものを確認してください。

重要: 設定ファイルにすでにほかの内容がある場合は、置き換えるのではなく、設定を追加してください。以下の例を参照してください。


Claude Code

ファイルの場所: ~/.claude.json

~ はホームフォルダーを意味します。Mac では /Users/yourname/ です。ファイルがまだ存在しない場合は、作成してください。

ターミナルを開いて、次のコマンドを実行します。

open -e ~/.claude.json

これにより、ファイルが TextEdit で開きます。ファイルが存在しなかった場合は、新規作成して、次の内容を貼り付けてください。

{
  "mcpServers": {
    "browser-inspector": {
      "command": "npx",
      "args": ["-y", "browser-inspector-mcp"]
    }
  }
}

ファイルにすでに内容がある場合は、"mcpServers" セクションを見つけ、その中に "browser-inspector" ブロックを追加してください。既存の内容は削除しないでください。

ファイルを保存してから、Claude Code を終了し、再起動してください。


Cursor

ファイルの場所: ~/.cursor/mcp.json(すべてのプロジェクトに適用) または、特定のプロジェクトフォルダー内の .cursor/mcp.json(そのプロジェクトのみに適用)

Cursor で、Settings → MCP に移動します。通常は、MCP サーバーを直接追加する UI が用意されており、ファイルを手動で編集するより簡単です。ファイルを編集する場合は、上記と同じ JSON ブロックを追加してください。

保存後、Cursor を再起動してください。


Windsurf

ファイルの場所: ~/.codeium/windsurf/mcp_config.json

ファイルを開き、同じ JSON ブロックを追加して保存し、Windsurf を再起動してください。


Cline(VS Code 拡張機能)

Cline をインストールした VS Code で、Cline サイドバーを開き → 設定アイコンをクリックし →「MCP Servers」を見つけて → コマンドに npx、引数に ["-y", "browser-inspector-mcp"] を指定して、新しいサーバーを追加します。


その他のツール(Continue、OpenCode、Codex など)

MCP に対応したツールであれば、同じ設定ブロックを使用できます。お使いのツールで MCP サーバーの設定を保存する場所を確認し、そこに追加してください。


使い方

設定が完了すると、ツールが自動的に利用可能になります。ツール名を指定して呼び出す必要はありません。作業中の内容を説明するだけで大丈夫です。

セッションの開始: 開発サーバーが実行されている URL を AI に伝えます。

I'm working on the dashboard at http://localhost:5173 — the button styles aren't applying correctly.

AI は必要なツールを使用します。ブラウザーのセッションは会話中ずっと開いたままになるため、URL を伝えるのは一度だけで構いません。

AI が裏側で行うこと:

You:  "The icon in the panel header isn't picking up the brand color"

AI:   → browser_inspect(action="dom", selector=".panel-header")
        sees the real rendered class names, finds the icon is <span class="panel__header-icon">
      → browser_inspect(action="styles", selector=".panel__header-icon", properties=["color"])
        sees there's an explicit color rule on the icon overriding the parent
      → fixes the right rule, first try

DevTools も、コピー&ペーストも、何度もやり取りする必要もありません。


このツールが解決する問題

ふつうはどうなるか

AI ツールにスタイルの問題を修正するよう依頼します。AI はソースファイルを読み、CSS を変更して適用します。ブラウザーを確認しても、まだ問題が残っています。AI がもう一度試しても、やはり直りません。何度か繰り返したあと、自分で DevTools を開き、実際の要素を見つけて HTML をコピーし、チャットに貼り付けます。そこでようやく、AI は実際に何を扱っていたのかを理解します。

この手動でのコピー&ペーストこそ、このツールが解消するギャップです。

なぜ同じ問題が繰り返し起こるのか

AI はソースファイルを読みます。ブラウザーがレンダリングするものは異なります。

Ant Design、Material UI、Radix などの最新のコンポーネントライブラリは、実行時に独自のクラス名を生成します。その名前はソースコードのどこにも登場しません。JSX には <Menu> と書かれています。ブラウザーは ant-dropdown-menu-item-container をレンダリングします。AI はソースで見つけた ant-menu-item に対する CSS を書きます。そのルールは適用されません。

もう一つ問題があります。AI が正しい要素を対象にできたとしても、変更が反映されたかどうかを確認できません。CSS は適用されたのか? 何かに上書きされたのか? font-weight はもともと太字だったのか、それともそう見えただけなのか? DevTools がなければ、答えはすべて推測です。

この問題が起こる3つのパターン

問題1 — 料理ではなくレシピを読んでいる

仕立て屋がスーツの元の型紙、つまり平らな紙のパターンを調べています。すべての縫い目を把握しています。しかし、目の前のスーツを仕立てたのは別の人で、変更も加えられていました。型紙と実際に仕立てられたものは違います。

これが AI による CSS ソースファイルの読み取りです。AI は元の型紙を読んでいます。ブラウザーがレンダリングしたものは異なります。AI は間違った縫い目を直し続けます。

インスペクターは試着室です。手を加える前に、実際に仕立てられたものを確認します。

問題2 — 屋根裏からテレビアンテナを調整している

裏庭でテレビアンテナを調整しています。家の中では誰かが画面を見ています。アンテナを動かすたびに「良くなった? 悪くなった?」と声をかけ、返事を待ちます。調整のたびに往復が発生します。

これが変更して確認し、また変更するサイクルです。AI が変更を加えます。あなたはブラウザーまで歩いて行き、画面を見て、戻ってきて見た内容を入力します。アンテナを持つ人と画面を見る人を直接つなぐものがないまま、ループのたびに往復が発生します。

このツールはその間をつなぐ線です。あなたが行ったり来たりしなくても、AI が自分で結果を確認します。

問題3 — 別の病気の患者を診ている

医師が顔色の悪い疲れた人を診ています。診察もせずに鉄欠乏症だと思い込み、それに合わせた処方をします。6週間後、何も変わっていません。原因は甲状腺でした。

AI はスクリーンショットで太字に見えるテキストを見て、font-weight が高く設定されていると思い込みます。それを上書きしようとします。しかし値は 400 で、そのサイズではそう見えるだけでした。AI は存在しない問題の解決にセッションを費やしました。

処方する前に調べましょう。計算済みの値が診察結果です。


対象ユーザー

AI コーディングツールを使うデザイナー — Cursor、Claude Code、Windsurf、Cline。あなたは視覚的に考え、見た目で確認します。DevTools を開いて HTML をチャットに貼り付けるのは、流れを断ち切る唐突なコンテキスト切り替えです。このツールを使えば、その手順が不要になります。

フロントエンドエンジニア — AI ペアプログラマーが、ブラウザーで実際にレンダリングされている内容を説明しなくても、自ら確認・変更・検証して、作業を完了できるようにしたい方。

デザインシステムのコントリビューター — 実行時のクラス名がソースと一致しないコンポーネントライブラリを扱う方。Ant Design、Material UI、Radix、Shadcn など、JSX に記述されたものとは異なる構造をブラウザーが構築するあらゆるライブラリが対象です。

CSS のデバッグをするすべての方 — 「なぜこれが適用されないの?」と言ったことがあり、AI が推測する代わりにブラウザーを見てくれたらと思ったことがある方。


claude --chrome との併用

Anthropic の claude --chrome 統合を使うと、Claude Code で実際に動作しているブラウザーを操作し、ページの移動、クリック、フォームへの入力、スクリーンショットの撮影ができます。browser-inspector-mcp は別のことを行います。CSS カスケード、つまりどのルールが優先されるか、そのルールの出どころ、スタイルが適用されない理由を読み取ります。

用途が異なるツールです。おすすめのワークフローは、claude --chrome で確認したい状態に移動し、その後 browser-inspector-mcp で CSS をデバッグすることです。どちらかがもう一方の代わりになることはありません。


このツールが使用する Chrome はどれですか?

このツールは 2 つのモードのいずれかで動作し、自動的に選択します。

管理モード(セットアップ不要 — デフォルト)。 何もせずに使うと、ツールがバックグラウンドで専用のヘッドレス Chrome を起動します。設定不要で、公開 URL やローカルの開発サーバーを調べるのに最適です。ビューポートは 1440×900 に固定されています。

接続モード(オプトイン — より高機能)。 ツールは、ユーザーが操作する実際の Chrome に接続します。実際のビューポートやクライアント側のルートを使えるほか、アプリにサインインして、認証が必要な状態を持つページを調べられます。ただし、事前に知っておくべき重要な注意点が 1 つあります。

Chrome では、普段使っているプロファイルを使ったデバッグはできません。 Chrome 136 以降では、意図的なセキュリティ変更により、Chrome を別のプロファイルディレクトリとともに起動しない限り、--remote-debugging-port フラグは無視されます。そのため、接続モードでは既存のタブが開いているメインの Chrome は使えません。一度セットアップする専用のデバッグ用 Chromeを使用します。調査専用の 2 つ目の Chrome と考えてください。そこでアプリに一度サインインすれば、その後もログイン状態が維持されます。

一度セットアップして起動したままにしておけば、ツールは自動的に接続します。

macOS

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
  --remote-debugging-port=9222 \
  --user-data-dir="$HOME/.chrome-debug-profile"

Linux

google-chrome --remote-debugging-port=9222 --user-data-dir="$HOME/.chrome-debug-profile"

Windows

"C:\Program Files\Google\Chrome\Application\chrome.exe" ^
  --remote-debugging-port=9222 ^
  --user-data-dir=%LOCALAPPDATA%\chrome-debug-profile

--user-data-dirは必須です。指定しない場合、Chrome 136 以降はデバッグポートを何も通知せずに無視し、ツールは管理モードにフォールバックします。上記のような固定のパス(永続的なフォルダー)を使い、/tmpは使わないでください。/tmpは実行のたびに消去されるため、プロファイルが毎回空の状態で開きます。コマンドをエイリアスに登録して一発で実行できるようにし、作業中はこの Chrome を開いたままにしておくのがおすすめです。

ツールはまず接続モードを試し、デバッグ用 Chrome が起動していない場合は管理モードにフォールバックします。また、どのモードを使用したかはレスポンスのたびに表示されるため、どの Chrome を見ているのか迷うことはありません。

環境変数

AI ツールの MCP 設定(commandおよびargsと同じ階層にあるenvブロック)に、次の値を設定してください。

変数デフォルト説明
BROWSER_INSPECTOR_MODEautoautoは接続モードを試してからフォールバックします。attachedは、指定したポートから Chrome に接続できない場合にエラーになります。managedは内部のヘッドレス Chrome のみを使用します(v2.x の動作)。
BROWSER_INSPECTOR_PORT9222接続先のポートです。
BROWSER_INSPECTOR_HOST127.0.0.1ホスト名です。変更が必要になることはほとんどありません。

1 つのツールで 4 つのアクション

dom — ブラウザーが実際に構築した内容を見る

AI が CSS を記述する前に、このツールを呼び出します。指定した要素について、実際にレンダリングされた HTML、つまり実行時のクラス名や実際の DOM 構造を返します。

これは試着室のようなものです。AI は変更を加える前に、実際に構築された内容を確認します。

styles — すべての CSS ルールと、優先されているルールを見る

スタイルの変更が反映されない場合、このツールは要素に適用された CSS カスケード全体を返します。一致したすべてのルールとその順序、適用元(スタイルシートと行番号)、有効なプロパティと上書きされたプロパティを確認できます。

さらに、祖先要素を最大 4 階層さかのぼり、レイアウトに重要な計算済みスタイル(overflow、サイズ、フレックスのコンテキスト)を返します。制約が対象の要素自体ではなく、親要素にある場合に役立ちます。

AI は、ルールが要素に適用されているか、別のルールに上書きされているか、そして優先されているルールがどこで定義されているかを正確に確認できます。

diff — 変更が実際に反映されたことを確認する

変更前と変更後のスタイルを比較します。最初の呼び出しでスナップショットを保存し、CSS の変更後に 2 回目を呼び出すと、変更されたプロパティと変更量を正確に表示します。何も変わっていない場合は、その旨を明示します。

これにより、AI はユーザーが手動でブラウザーを確認しなくても、修正が機能したかどうかを把握できます。

screenshot — 任意の要素のビジュアルスナップショット

任意の要素を切り抜いたスクリーンショットを返します。AI は画像をインラインで受け取り、対象の状態を確認できます。

アタッチモードでは、スクリーンショットに表示されるのは、現在見えているものそのものです。同じビューポート、同じ状態など、すべてが一致します。管理フォールバックモードでは、スクリーンショットはヘッドレスブラウザーで 1440×900 のサイズに描画されるため、現在のウィンドウサイズでご自身の Chrome に表示されているものとは異なる場合があります。CSS データアクション(dom、styles、diff)は、どちらのモードでも正確なデータを返します。

openInNewTab — アタッチモード用のオプション修飾子

ツールを Chrome にアタッチし、開いているタブのいずれにも一致しない url を渡した場合、デフォルトではアクティブなタブを調べ、警告を追加します。現在のタブに触れずに調べたい公開サイトなど、指定した URL を新しいタブで開く場合は、openInNewTab: true を渡してください。アタッチモードでのみ適用され、それ以外では無視されます。


要件

  • Node.js 18 以降 — nodejs.org
  • MCP 対応の AI コーディングツール(Claude Code、Cursor、Windsurf、Cline、Continue、OpenCode、Codex など)
  • 調査したいローカルで実行中の Web プロジェクト

あらゆる CSS の手法で動作します — Tailwind JIT、CSS Modules(Next.js)、Emotion でテスト済みです。


今後の予定

  • インタラクションプリミティブ — click、hover、type により、ブラウザーで手動設定していない場合でも、AI がインタラクティブな状態(開いたメニュー、フォーカスリング、ホバーエフェクト)を確認できます。汎用のブラウザー自動化ツールと重複しないよう、慎重に範囲を限定します。
  • スタイルのライブインジェクション — AI が CDP 経由でブラウザーに直接書き込み、変更をすぐに確認できます。結果が確定してから初めてソースファイルに変更を加えます。ファイルの保存やホットリロードを挟みません。
  • ポータルとシャドウ DOM のサポート — 親要素の外部に描画されるコンポーネントライブラリの要素(ドロップダウン、モーダル、ツールチップ)。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。