How to add Chrome DevTools MCP server to Codex

Adding Chrome DevTools MCP to Codex gives a session live browser tools for navigation, page inspection, screenshots, console logs, network requests, and performance tracing from the same prompt. That is useful when a task needs real Chrome state instead of shell output alone.

The upstream launcher is a local stdio MCP server started with npx -y chrome-devtools-mcp@latest. In Codex, codex mcp add saves that launcher in ~/.codex/config.toml, and the saved entry can be checked immediately with codex mcp get --json or codex mcp list before you ask Codex to use any browser tools. That saved configuration is shared between the Codex CLI and IDE extension.

Current upstream requirements are Node.js 20.19 or newer on a current maintenance LTS line, npm, and stable Google Chrome or newer. The project officially supports Google Chrome and Chrome for Testing. The server starts Chrome only when a prompt uses a browser tool, and current upstream behavior enables Google usage statistics by default unless the launcher is saved with --no-usage-statistics.

Steps to add Chrome DevTools MCP server to Codex:

  1. Add the standard Chrome DevTools MCP launcher to Codex.
    $ codex mcp add chrome-devtools -- npx -y chrome-devtools-mcp@latest
    Added global MCP server 'chrome-devtools'.

    -y suppresses the initial npx install prompt, and chrome-devtools-mcp@latest keeps the saved launcher on the current upstream package name and version stream.

  2. Retrieve the saved MCP entry in JSON to confirm that Codex stored the expected local stdio server.
    $ codex mcp get chrome-devtools --json
    {
      "name": "chrome-devtools",
      "enabled": true,
      "disabled_reason": null,
      "transport": {
        "type": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "chrome-devtools-mcp@latest"
        ],
        "env": null,
        "env_vars": [],
        "cwd": null
      },
      "enabled_tools": null,
      "disabled_tools": null,
      "startup_timeout_sec": null,
      "tool_timeout_sec": null
    }

    "type": "stdio" plus the saved command and args values confirms that Codex will start a local Chrome DevTools MCP process. The same entry is written under [mcp_servers.chrome-devtools] in ~/.codex/config.toml.

  3. List configured MCP servers and confirm that the new entry is enabled.
    $ codex mcp list
    Name             Command  Args                           Env  Cwd  Status   Auth
    chrome-devtools  npx      -y chrome-devtools-mcp@latest  -    -    enabled  Unsupported

    The decisive success state for the add flow is the chrome-devtools row with enabled under Status. The Unsupported value under Auth is expected for this local stdio server because it does not use a separate login flow.

  4. Start or restart Codex and send a browser prompt that forces the first server launch.
    Check the performance of https://developers.chrome.com

    The upstream project uses this as its first test prompt. A working result causes Codex to start Chrome DevTools MCP, open Chrome when needed, and gather a performance trace. If you want a temporary browser profile or no browser window, remove the entry and add it again with --isolated or --headless after chrome-devtools-mcp@latest.

    Current upstream behavior enables Google usage statistics by default. To opt out, remove the saved entry and add it again with --no-usage-statistics after chrome-devtools-mcp@latest.