<?xml version="1.0" encoding="utf-8" standalone="yes"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><script src="https://www.rss.style/js/atom-style.js" xmlns="http://www.w3.org/1999/xhtml"/><title>Tower of Kubes</title><link rel="self" type="application/atom+xml" hreflang="en" href="https://www.towerofkubes.com/tags/chrome/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://www.towerofkubes.com/tags/chrome/"/><link rel="alternate" type="application/rss+xml" hreflang="en" href="https://www.towerofkubes.com/tags/chrome/index.xml"/><id>/</id><updated>2025-11-16T00:00:00Z</updated><author><name>Ro'i Bandel</name></author><generator>Hugo 0.157.0</generator><entry><title>Chrome DevTools MCP server</title><link rel="alternate" type="text/html" hreflang="en" href="https://www.towerofkubes.com/articles/chrome-devtools-mcp/"/><id>https://www.towerofkubes.com/articles/chrome-devtools-mcp/</id><updated>2025-11-16T00:00:00Z</updated><summary type="html">Comparison of Playwright MCP server vs. Chrome DevTools MCP server</summary><content type="html"><![CDATA[<p>I have recently been using <a href="https://github.com/ChromeDevTools/chrome-devtools-mcp"  target="_blank" rel="noreferrer">Chrome DevTools MCP server</a> (which I tend to call Chrome MCP) to work on personal projects, notably <a href="https://github.com/CALMe25"  target="_blank" rel="noreferrer">CALMe</a>. In my first day of using MCP, I added <a href="https://github.com/microsoft/playwright-mcp"  target="_blank" rel="noreferrer">Playwright MCP server</a> to my <code>.mcp.json</code>. Both Playwright MCP and Chrome DevTools are MCP <em>servers</em> that work in similar ways, they give MCP <em>clients</em> (<a href="/articles/agentic-cli-tools-comparison/" >agentic CLI tools</a>) various tools that give the ability to browse web pages, click on buttons, read console logs and even “see” how the web page looks by allowing the client to take screenshots/snapshots. Playwright MCP is based on the <a href="https://github.com/microsoft/playwright"  target="_blank" rel="noreferrer">Playwright</a> framework for Web Testing and Automation, and is developed by Microsoft. Chrome DevTools MCP is based on the world’s most popular browser, and specifically its <a href="https://developer.chrome.com/docs/devtools"  target="_blank" rel="noreferrer">DevTools</a>, and is developed by Google. Two big tech giants, which means these MCPs are well developed.</p>

<h2 class="relative group">The comment that prompted me to try Chrome DevTools MCP
    <div id="the-comment-that-prompted-me-to-try-chrome-devtools-mcp" class="anchor"></div>
    
</h2>
<p>While Playwright MCP was working okay for me, I saw that Chrome DevTools was released after and wondered if it’s any better.</p>
<p>A comment from this thread (which I also linked in Cool MCP Servers) prompted me to try it: <a href="https://www.reddit.com/r/ClaudeCode/comments/1olhiam/what_mcps_are_you_using_with_claude_code_right_now/#nmkg5oz"  target="_blank" rel="noreferrer">What MCPs are you using with Claude Code right now? : r/ClaudeCode</a></p>

    <div class="admonition question">
      <div class="admonition-header"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3l58.3 0c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24l0-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1l-58.3 0c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"/></svg>
        <span>Question</span>
      </div>
      <div class="admonition-content">
        <p>What’s the advantage of chrome devtools vs playwright mcp?</p>
      </div>
    </div><hr>

    <div class="admonition conclusion">
      <div class="admonition-header"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M0 64C0 28.7 28.7 0 64 0L224 0l0 128c0 17.7 14.3 32 32 32l128 0 0 38.6C310.1 219.5 256 287.4 256 368c0 59.1 29.1 111.3 73.7 143.3c-3.2 .5-6.4 .7-9.7 .7L64 512c-35.3 0-64-28.7-64-64L0 64zm384 64l-128 0L256 0 384 128zM288 368a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z"/></svg>
        <span>Conclusion</span>
      </div>
      <div class="admonition-content">
        <p>Faster, more capable. Reads the console logs, and can execute scripts. The long screenshots are great too</p>
<p>I used to use playwright but Chrome dev tools blew me away</p>
      </div>
    </div>
<h2 class="relative group">Guide: Using Chrome DevTools MCP
    <div id="guide-using-chrome-devtools-mcp" class="anchor"></div>
    
</h2>

<h3 class="relative group">Claude Code
    <div id="claude-code" class="anchor"></div>
    
</h3>
<p><strong>At the project level, run:</strong></p>
<div class="highlight-wrapper"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">claude mcp add --scope project chrome-devtools npx chrome-devtools-mcp@latest</span></span></code></pre></div></div>
<p><strong>This configures the following in the <code>.mcp.json</code> file:</strong></p>
<div class="highlight-wrapper"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="nt">"mcpServers"</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">"chrome-devtools"</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">      <span class="nt">"type"</span><span class="p">:</span> <span class="s2">"stdio"</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">"command"</span><span class="p">:</span> <span class="s2">"npx"</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">"args"</span><span class="p">:</span> <span class="p">[</span>
</span></span><span class="line"><span class="cl">        <span class="s2">"chrome-devtools-mcp@latest"</span>
</span></span><span class="line"><span class="cl">      <span class="p">],</span>
</span></span><span class="line"><span class="cl">      <span class="nt">"env"</span><span class="p">:</span> <span class="p">{}</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span><span class="line"><span class="cl">  <span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div></div>
<p>Then simply open a new instance of <code>claude</code> and confirm that you trust the folder and MCP server. Run the <code>/mcp</code> slash command to verify that the MCP server appears as “✔ connected”.</p>
<p>To use the MCP server, I simply tell Claude something like “use chrome mcp to test and troubleshoot website x”. I would add more context depending on the specific task, but in general this is enough to let Claude know that it can use this MCP server.</p>

<h3 class="relative group">Codex CLI
    <div id="codex-cli" class="anchor"></div>
    
</h3>
<p>The Codex CLI sandbox makes working with Chrome DevTools MCP more challenging, though I managed to make it work (<strong>Source:</strong> <a href="https://github.com/ChromeDevTools/chrome-devtools-mcp?tab=readme-ov-file#connecting-to-a-running-chrome-instance"  target="_blank" rel="noreferrer">Connecting to a running Chrome instance | ChromeDevTools/chrome-devtools-mcp: Chrome DevTools for coding agents</a>).</p>
<p><strong>Run the following command:</strong></p>
<div class="highlight-wrapper"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">codex mcp add chrome-devtools -- npx chrome-devtools-mcp@latest --browser-url<span class="o">=</span><span class="s2">"http://127.0.0.1:9222"</span></span></span></code></pre></div></div>
<p><strong>In addition, if live websites need to be tested, allow network access by adding the following lines to the global Codex config:</strong></p>
<div class="highlight-wrapper"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-toml" data-lang="toml"><span class="line"><span class="cl"><span class="p">[</span><span class="nx">mcp_servers</span><span class="p">.</span><span class="nx">chrome-devtools</span><span class="p">]</span> 
</span></span><span class="line"><span class="cl"><span class="nx">command</span> <span class="p">=</span> <span class="s2">"npx"</span> 
</span></span><span class="line"><span class="cl"><span class="nx">args</span> <span class="p">=</span> <span class="p">[</span><span class="s2">"chrome-devtools-mcp@latest"</span><span class="p">,</span> <span class="s2">"--browser-url=http://127.0.0.1:9222"</span><span class="p">]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="p">[</span><span class="nx">sandbox_workspace_write</span><span class="p">]</span> 
</span></span><span class="line"><span class="cl"><span class="nx">network_access</span> <span class="p">=</span> <span class="kc">true</span> </span></span></code></pre></div></div>
<p><strong>Now, every time we want to use Codex CLI with Chrome DevTools MCP, we must first run this command in the background:</strong></p>
<div class="highlight-wrapper"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">nohup /usr/bin/google-chrome --remote-debugging-port<span class="o">=</span><span class="m">9222</span> --user-data-dir<span class="o">=</span>/tmp/chrome-debug-headful --no-first-run --disable-gpu about:blank >/tmp/chrome-launch.log 2><span class="p">&</span><span class="m">1</span></span></span></code></pre></div></div>

<h3 class="relative group">Gemini CLI
    <div id="gemini-cli" class="anchor"></div>
    
</h3>
<p><strong>At the project level, run:</strong></p>
<div class="highlight-wrapper"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">gemini mcp add chrome-devtools npx chrome-devtools-mcp@latest</span></span></code></pre></div></div>
<p><strong>This configures the following project settings:</strong></p>
<div class="highlight-wrapper"><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="nt">"mcpServers"</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="nt">"chrome-devtools"</span><span class="p">:</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">      <span class="nt">"command"</span><span class="p">:</span> <span class="s2">"npx"</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">      <span class="nt">"args"</span><span class="p">:</span> <span class="p">[</span>
</span></span><span class="line"><span class="cl">        <span class="s2">"chrome-devtools-mcp@latest"</span>
</span></span><span class="line"><span class="cl">      <span class="p">]</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span><span class="line"><span class="cl">  <span class="p">}</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span></span></span></code></pre></div></div>

<h3 class="relative group">Other MCP clients
    <div id="other-mcp-clients" class="anchor"></div>
    
</h3>
<p>Follow the instructions in <a href="https://github.com/ChromeDevTools/chrome-devtools-mcp?tab=readme-ov-file#mcp-client-configuration"  target="_blank" rel="noreferrer">MCP Client configuration | ChromeDevTools/chrome-devtools-mcp: Chrome DevTools for coding agents</a>.</p>
<hr>
<p><em>Featured image by <a href="https://unsplash.com/@growtika?utm_source=hugo&utm_medium=referral"  target="_blank" rel="noreferrer">Growtika</a> on <a href="https://unsplash.com/?utm_source=hugo&utm_medium=referral"  target="_blank" rel="noreferrer">Unsplash</a>.</em></p>
]]></content><author><name>Ro'i Bandel</name></author><category term="chrome" label="Chrome" scheme="https://www.towerofkubes.com/tags/chrome/"/><category term="browser" label="Browser" scheme="https://www.towerofkubes.com/tags/browser/"/><category term="ai" label="Ai" scheme="https://www.towerofkubes.com/tags/ai/"/><category term="tools" label="Tools" scheme="https://www.towerofkubes.com/tags/tools/"/><category term="agents" label="Agents" scheme="https://www.towerofkubes.com/tags/agents/"/><category term="mcp" label="Mcp" scheme="https://www.towerofkubes.com/tags/mcp/"/><category term="google" label="Google" scheme="https://www.towerofkubes.com/tags/google/"/><published>2025-11-16T00:00:00Z</published></entry></feed>