chrome-devtools

A set of instructions for using Chrome DevTools through MCP, a way for software tools to communicate with each other. It covers browser control, page inspection, debugging, performance checks, and network analysis.

In plain words
What is it for?
Use it to debug websites, automate browser tasks, inspect page structure or network requests, and investigate performance.
Why use it?
It provides a repeatable way to find pages and elements before interacting with them, reducing failed browser actions.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/chromedevtools/chrome-devtools-mcp/chrome-devtools
Any agent
npx skills add ChromeDevTools/chrome-devtools-mcp --skill chrome-devtools
Clone the repo
git clone --depth 1 https://github.com/ChromeDevTools/chrome-devtools-mcp

Made for: Claude Code, Codex.

Per session 55 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 945 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00055 $0.00945
Opus 5 $0.00028 $0.00473
Sonnet 5 $0.00011 $0.00189
Haiku 4.5 $0.00006 $0.00094

Measured yesterday against content hash b27f4b6d68f7, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

chrome-devtools scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

Copies of this mod

8 near-identical copies found in the catalogue:

skills/chrome-devtools/SKILL.md · 74 lines

How it starts

The opening of the file, as written. The whole thing — 74 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Core Concepts

Browser lifecycle: Browser starts automatically on first tool call using a persistent Chrome profile. Configure via CLI args in the MCP server configuration: npx chrome-devtools-mcp@latest --help. Addional tooling can be enabled by providing the following flags:

  • For extension tooling, use the --categoryExtensions flag.
  • For memory tooling, use the --memoryDebugging flag.

Page targeting: Page-scoped tools require a pageId parameter to target a specific page. Use list_pages to see available pages and their IDs (e.g. pageId: 1), or use the ID returned when creating a page with new_page. Note: For evaluate_script, pageId is required when targeting pages. However, when --categoryExtensions is enabled, pageId is optional so you can pass serviceWorkerId instead to evaluate inside an extension background service worker. Element interaction: Use take_snapshot to get page structure with element uids. Each element has a unique uid for interaction. If an element isn't found, take a fresh snapshot - the element may have been removed or the page changed.

Workflow Patterns

Before interacting with a page

  1. Navigate: navigate_page or new_page
  2. Wait: wait_for to ensure content is loaded if you know what you look for.
  3. Snapshot: take_snapshot with pageId to understand page structure
  4. Interact: Use element uids from snapshot for click, fill, etc., passing the corresponding pageId.

Efficient data retrieval

  • Use filePath parameter for large outputs (screenshots, snapshots, traces)
  • Use pagination (pageIdx, pageSize) and filtering (types) to minimize data
  • Set includeSnapshot: false on input actions unless you need updated page state

Tool selection

  • Automation/interaction: take_snapshot (text-based, faster, better for automation)
  • Visual inspection: take_screenshot (when user needs to see visual state)
  • Additional details: evaluate_script for data not in accessibility tree

Read the full file on GitHub · 74 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 74 lines · 55 tokens per session scan A b27f4b6d68f7

Subscribe to this mod's changes

chrome-devtools is a skill published in the GitHub repository ChromeDevTools/chrome-devtools-mcp (50,208 stars, last pushed 2d ago), licensed Apache-2.0. It adds 55 tokens to every session and 945 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

webview-devtools

Use webview-devtools-mcp to inspect and automate an already-instrumented WebView/page: choose this skill when the user’s target environment is configured so the page injects wdmcp’s target.js (or the user is explicitly asking to work with such a configured WebView). If the page is not yet injecting target.js, do not…

ilharp/webview-devtools-mcp · 102 tokens

brave-devtools-cli

Use this skill to write shell scripts or run shell commands to automate tasks in the browser or otherwise use Brave DevTools via CLI.

triuzzi/brave-devtools-mcp · 32 tokens

brave-devtools

Uses Brave DevTools via MCP for efficient debugging, troubleshooting and browser automation. Use when debugging web pages, automating browser interactions, analyzing performance, or inspecting network requests. This skill does not apply to --slim mode (MCP configuration).

triuzzi/brave-devtools-mcp · 56 tokens

a11y-debugging

Uses Brave DevTools MCP for accessibility (a11y) debugging and auditing based on web.dev guidelines. Use when testing semantic HTML, ARIA labels, focus states, keyboard navigation, tap targets, and color contrast.

triuzzi/brave-devtools-mcp · 50 tokens

troubleshooting

Uses Brave DevTools MCP and documentation to troubleshoot connection and target issues. Trigger this skill when listpages, newpage, or navigatepage fail, or when the server initialization fails.

triuzzi/brave-devtools-mcp · 40 tokens

memory-leak-debugging

Diagnoses and resolves memory leaks in JavaScript/Node.js applications. Use when a user reports high memory usage, OOM errors, or wants to capture, compare, or inspect heap snapshots with Brave DevTools MCP memory tools.

triuzzi/brave-devtools-mcp · 52 tokens