Chrome Tools MCP Server

Enables remote control of Chrome tabs through the DevTools Protocol for tasks like executing JavaScript, capturing screenshots, and monitoring

Local serverstdio 53

What is the Chrome Tools MCP server?

Most developer tooling work still happens through a UI a human drives. Chrome Tools MCP server moves it into the conversation instead. Enables remote control of Chrome tabs through the DevTools Protocol for tasks like executing JavaScript, capturing screenshots, and monitoring network traffic.

The tools it exposes

The server publishes 7 tools. What each one is for:

  • list_tabs — The list_tabs tool exposed by this server
  • execute_script — Executes JavaScript code in a specified tab. Parameters: - tabId: ID of the Chrome tab - script: JavaScript code to execute
  • capture_screenshot — Captures a screenshot of a specified tab, automatically optimizing it for AI model consumption. Parameters: - tabId: ID of the Chrome tab - format
  • capture_network_events — Monitors and captures network events from a specified tab. Parameters: - tabId: ID of the Chrome tab - duration: Duration in seconds to capture -
  • load_url — Navigates a tab to a specified URL. Parameters: - tabId: ID of the Chrome tab - url: URL to load
  • query_dom_elements — Queries and retrieves detailed information about DOM elements matching a CSS selector. Parameters: - tabId: ID of the Chrome tab - selector: CSS
  • click_element — Clicks on a DOM element and captures any console output triggered by the click. Parameters: - tabId: ID of the Chrome tab - selector: CSS selector to

What it needs from you

Configuration is passed through the environment: CHROME_DEBUG_URL, CHROME_CONNECTION_TYPE, CHROME_ERROR_HELP. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

Getting it running

@nicholmikey/chrome-tools on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.

How it compares

Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Chrome Tools's toolset — list_tabs, execute_script, capture_screenshot and 4 more — is a fair guide to whether it matches your workflow. It is maintained by nicholmikey; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

Available tools

ToolWhat it does
list_tabsThe list_tabs tool exposed by this server.
execute_scriptExecutes JavaScript code in a specified tab. Parameters: - tabId: ID of the Chrome tab - script: JavaScript code to execute
capture_screenshotCaptures a screenshot of a specified tab, automatically optimizing it for AI model consumption. Parameters: - tabId: ID of the Chrome tab - format: Image format (jpeg/png) - Note: This is only for initial capture. Final
capture_network_eventsMonitors and captures network events from a specified tab. Parameters: - tabId: ID of the Chrome tab - duration: Duration in seconds to capture - filters: Optional type and URL pattern filters
load_urlNavigates a tab to a specified URL. Parameters: - tabId: ID of the Chrome tab - url: URL to load
query_dom_elementsQueries and retrieves detailed information about DOM elements matching a CSS selector. Parameters: - tabId: ID of the Chrome tab - selector: CSS selector to find elements Returns: - Array of DOM elements with properties
click_elementClicks on a DOM element and captures any console output triggered by the click. Parameters: - tabId: ID of the Chrome tab - selector: CSS selector to find the element to click Returns: - Object containing: - message: Suc

How to install the Chrome Tools MCP server

{
  "mcpServers": {
    "chrome-tools": {
      "command": "npx",
      "args": ["-y", "@nicholmikey/chrome-tools"],
      "env": {
        "CHROME_DEBUG_URL": "your-value",
        "CHROME_CONNECTION_TYPE": "your-value",
        "CHROME_ERROR_HELP": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

VariableDescriptionRequired
CHROME_DEBUG_URLEndpoint or connection string the server talks to.Yes
CHROME_CONNECTION_TYPEConfiguration value read at startup.Optional
CHROME_ERROR_HELPConfiguration value read at startup.Optional

Example prompts to try

  • Use Chrome Tools to list tabs.
  • Use Chrome Tools to execute script.
  • Use Chrome Tools to capture screenshot.

Frequently asked questions

You can automate browser interactions, capture screenshots optimized for AI, monitor network events, query DOM elements, and generally control Chrome for testing, data extraction, or other automation needs.