New to Claude Skills? Learn how to install them →

chromedevtools on GitHub

Chrome DevTools

Free

Efficiently debug and automate browser tasks with Chrome DevTools.

Get this skill

Free · Opens the source repo

What Chrome DevTools does

Chrome DevTools is a powerful skill that integrates with the MCP framework to facilitate debugging, troubleshooting, and browser automation tasks. By leveraging Chrome's built-in developer tools, users can perform a wide range of operations on web pages, including inspecting network requests, analyzing performance metrics, and automating interactions. This skill is particularly useful for developers and designers who need to ensure their web applications are functioning correctly and efficiently.

The skill operates by automatically launching a Chrome browser instance with a persistent profile, allowing for seamless interactions with web pages. Users can navigate to different pages, take snapshots of the DOM, and interact with elements using unique identifiers. This structured approach helps in understanding the current state of a page before performing actions like clicking buttons or filling forms. It also supports parallel execution of commands, which can significantly speed up testing and debugging workflows.

For those working with browser extensions, the skill includes specific commands to install and manage extensions, provided the MCP server is configured correctly. This allows developers to test their extensions in real-time and verify their behavior on target pages. Additionally, the skill offers options for memory debugging and extension tooling, enhancing its utility for more complex scenarios.

In summary, Chrome DevTools is an essential tool for web developers and designers who require a robust solution for debugging and automating browser interactions. Its integration with MCP allows for efficient workflows, making it a valuable addition to any developer's toolkit.

When to use it

Use this skill when you need to debug web pages, automate browser interactions, or analyze performance metrics.

When not to use it

This skill may not be suitable for users who require a graphical interface for debugging, as it operates through command-line interactions only.

What you can build with it

Debugging a Web Application

Use Chrome DevTools to navigate to your web application, take snapshots of the DOM, and interact with elements to troubleshoot issues.

Automating Browser Tests

Leverage the skill to automate interactions with your web application, such as filling out forms and clicking buttons, to streamline testing.

Analyzing Performance Metrics

Utilize the performance analysis features to gather insights on network requests and page load times, helping optimize your web application.

How to install Chrome DevTools

View source

1. Install with the skills CLI

npx skills add chromedevtools/chrome-devtools-mcp/chrome-devtools --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by chromedevtools

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 selection: Tools operate on the currently selected page. Use list_pages to see available pages, then select_page to switch context. 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 to understand page structure
  4. Interact: Use element uids from snapshot for click, fill, etc.

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

Parallel execution

You can send multiple tool calls in parallel, but maintain correct order: navigate → wait → snapshot → interact.

Testing an extension

Before proceeding: Extension tools (install_extension, list_extensions, etc.) are only available when the MCP server is started with the --categoryExtensions flag. If these tools are not in your tool list, stop and ask the user to update their MCP server configuration:

{
  "mcpServers": {
    "chrome-devtools": {
      "command": "npx",
      "args": ["chrome-devtools-mcp@latest", "--categoryExtensions"]
    }
  }
}

After updating, the user must restart the MCP server (or their AI client) for the change to take effect.

  1. Install: Use install_extension with the path to the unpacked extension.
  2. Identify: Get the extension ID from the response or by calling list_extensions.
  3. Trigger Action: Use trigger_extension_action to open the popup or side panel if applicable.
  4. Verify Service Worker: Use evaluate_script with serviceWorkerId to check extension state or trigger background actions.
  5. Verify Page Behavior: Navigate to a page where the extension operates and use take_snapshot to check if content scripts injected elements or modified the page correctly.

Troubleshooting

If chrome-devtools-mcp is insufficient, guide users to use Chrome DevTools UI:

If there are errors launching chrome-devtools-mcp or Chrome, refer to https://github.com/ChromeDevTools/chrome-devtools-mcp/blob/main/docs/troubleshooting.md.

Frequently asked questions about Chrome DevTools

Similar skills