文件历史

提交图

334 次代码提交

作者 SHA1 备注 提交日期
browser-automation-bot c9d617007e chore(main): release chrome-devtools-mcp 0.10.1 (#538)
publish-on-tag / publish-to-npm (push) Has been cancelled
publish-on-tag / publish-to-mcp-registry (push) Has been cancelled
🤖 I have created a release *beep* *boop*
---


##
[0.10.1](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.10.0...chrome-devtools-mcp-v0.10.1)
(2025-11-07)


### 🛠️ Fixes

* avoid no page selected errors
([#537](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/537))
([4724bbb](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/4724bbba9327fc162cd1f0372e608f6ebefc59cc))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2025-11-07 13:30:17 +01:00
Alex Rudenko 4724bbba93 fix: avoid no page selected errors (#537)
Uses object identity to track the selected page. This helps to be in
sync with the browser state better.

Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/492

---------

Co-authored-by: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com>
2025-11-07 12:55:01 +01:00
browser-automation-bot b2f6d1be1a chore(main): release chrome-devtools-mcp 0.10.0 (#460)
publish-on-tag / publish-to-npm (push) Has been cancelled
publish-on-tag / publish-to-mcp-registry (push) Has been cancelled
🤖 I have created a release *beep* *boop*
---


##
[0.10.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.9.0...chrome-devtools-mcp-v0.10.0)
(2025-11-05)


### 🎉 Features

* add a press_key tool
([#458](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/458))
([b427392](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/b4273923928704e718e0a0f8b5cc86758416e994))
* add insightSetId to performance_analyze_insight
([#518](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/518))
([36504d2](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/36504d29caf637b2d7bf231204c0478b54220c83))
* an option to ignore cache on reload
([#485](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/485))
([8e56307](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/8e56307d623fe3651262287b30544ed70426b0b8))
* detect network requests inspected in DevTools UI
([#477](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/477))
([796aed7](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/796aed72b7126ed4332888ffbc06d6cb678265ef))
* fetch DOM node selected in the DevTools Elements panel
([#486](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/486))
([4a83574](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/4a83574961d8d6b974037db56fc8bdbbb91f79b6))
* support page reload
([#462](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/462))
([d177087](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/d17708798194486b2571092aa67838085da7231e))
* support saving snapshots to file
([#463](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/463))
([b0ce08a](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/b0ce08ae2ce422813fef3f28c18f2cb6c976d9fc))


### 🛠️ Fixes

* Augment fix to prevent stray OGS frames in NTP from causing hangs.
([#521](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/521))
([d90abd4](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/d90abd4e9e534417622d7f4676e9c3dbeb39ea8d))
* improve get_network_request description
([#500](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/500))
([2f448e8](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/2f448e84ea8d3a44687c74b3577edf882ef2c19f))
* work around NTP iframes causing hangs
([#504](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/504))
([cca5ff4](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/cca5ff471c2d2c663e63ade1e2ea58f9a7f5a2cd))


### 📄 Documentation

* add Windsurf to the editor config README
([#493](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/493))
([63a5d82](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/63a5d824c2d914c9007e2b837fa292f5ba74ceed))
* fix typos in README.md exlcude -&gt; exclude
([#513](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/513))
([8854a34](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/8854a3400c3a6b84c761bf8ed82769fc2dec7366))
* remove unnecessary replace
([#475](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/475))
([40e1753](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/40e1753d2e874bb22005dbebdb551da304a80033))


### ♻️ Chores

* connect to DevTools targets by default
([#466](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/466))
([a41e440](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/a41e4407996b8090f8cccc85f6c4696006fc31ec))
* detect DevTools page for each page
([#467](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/467))
([1560ff2](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/1560ff23cad28ab63c1cf9fb1b961db886bc4a3e))
* merge emulate tools into one
([#494](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/494))
([c06f452](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/c06f4522ee8f762b59c60c2fd23a0deaaa544766))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2025-11-05 11:38:10 +00:00
Alex Rudenko c03a4a47df chore: remove special handling for target urls (#527)
Fixed by https://github.com/puppeteer/puppeteer/pull/14400
2025-11-05 12:25:59 +01:00
Alex Rudenko 01454d4617 chore: experimental includeAllPages option (#517) 2025-11-05 11:02:36 +01:00
Finnur Thorarinsson d90abd4e9e fix: Augment fix to prevent stray OGS frames in NTP from causing hangs. (#521)
The URL used before was a little too-specific, so it didn't catch frames that include `u/0/` in 
the URL (potentially to support multi users?).

(original fix:
https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/504)
2025-11-04 15:00:20 +00:00
Connor Clark 36504d29ca feat: add insightSetId to performance_analyze_insight (#518)
This should land with / after
https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/508
2025-11-04 08:18:04 +00:00
Kilian Valkhof 8854a3400c docs: fix typos in README.md exlcude -> exclude (#513)
drive-by PR to fix some typos I spotted in the readme.
2025-11-03 14:21:34 +01:00
Alex Rudenko 4a83574961 feat: fetch DOM node selected in the DevTools Elements panel (#486)
Refs https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/129
2025-10-31 11:07:10 +01:00
Alex Rudenko cca5ff471c fix: work around NTP iframes causing hangs (#504)
Drive-by: some logging
2025-10-31 09:26:24 +01:00
Alex Rudenko 2f448e84ea fix: improve get_network_request description (#500)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/497
2025-10-30 11:52:09 +01:00
Alex Rudenko c06f4522ee refactor: merge emulate tools into one (#494)
Merges emulateCpu and emulateNetwork into a single tool to reduce token
consumption. Changes descriptions to be more concise.
2025-10-30 08:50:36 +00:00
Alex Rudenko 17b2edca7c build: do not bundle by default (#488)
The CI jobs will still bundle by default but I think the risk of the
differences between the bundled and unbundled version is fairly low for
local development.
2025-10-29 11:00:43 +01:00
Alex Rudenko 8e56307d62 feat: an option to ignore cache on reload (#485)
This CL implements an option to ignore cache on reload. Since the
configuration is passed as-is we rely on tests in Puppeteer to verify
the cache behavior.

Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/374
2025-10-29 10:32:27 +01:00
dependabot[bot] e5653b0516 chore(deps-dev): bump the bundled group with 2 updates (#490)
Bumps the bundled group with 2 updates:
[chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend)
and [puppeteer](https://github.com/puppeteer/puppeteer).

Updates `chrome-devtools-frontend` from 1.0.1534717 to 1.0.1536371
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/f9114c7810effda21b986fedddf791fb41a53bf8"><code>f9114c7</code></a>
Update Chrome (for Testing) PIN</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/420b33e69a9639a0b2fa82b4a1aa888782a68c75"><code>420b33e</code></a>
[RPP] In trace_app, ignore frames not in the primary main frame</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/02e471449f14ca98d0c03391e5400489fbbb1fcd"><code>02e4714</code></a>
Add option for Tooltip to be triggered by both <code>hover</code> and
<code>click</code></li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/a53e59d6e84dd432d9e791dc9c73aad37fc34c85"><code>a53e59d</code></a>
Restructure BFCache view to make adopting UI eng vision easier</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/02896d3ce1b19e97443a29e4e3435bc275beea40"><code>02896d3</code></a>
Add placeholder for Keybind recording</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/b8c6a36a03db91b39f24b1939d8e1b7077bf2776"><code>b8c6a36</code></a>
[Console Insights Teasers] Update KnownContextValues</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/ddf2fedafe978ef2e740e01d1591f7d7a2e48591"><code>ddf2fed</code></a>
Roll browser-protocol</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/ffaf345e9503ac3c51b0f76431a379194a13a540"><code>ffaf345</code></a>
Add unit test for Widget.focus() behavior</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/a8f58dd5654817064975d239376cd855a3de229e"><code>a8f58dd</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/d8a5a9140f7fc25563c442bbcf001b4892c550ce"><code>d8a5a91</code></a>
Make setDefaultFocusedElement use autofocus attribute</li>
<li>Additional commits viewable in <a
href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1534717...v1.0.1536371">compare
view</a></li>
</ul>
</details>
<br />

Updates `puppeteer` from 24.26.1 to 24.27.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/releases">puppeteer's
releases</a>.</em></p>
<blockquote>
<h2>puppeteer-core: v24.27.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v24.26.1...puppeteer-core-v24.27.0">24.27.0</a>
(2025-10-29)</h2>
<h3>🎉 Features</h3>
<ul>
<li>add window options to newPage() (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14363">#14363</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/1d4f48d80760231bc765f26e4648b4d0c6de66f4">1d4f48d</a>)</li>
<li>roll to Chrome 142.0.7444.59 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14381">#14381</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/54d504db0515f150b97862aa1415008dcfe9fcfa">54d504d</a>)</li>
<li>support ignoreCache in page.reload() (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14365">#14365</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/3794e8f0136f6e25c27bab5b6e89723fd9b6a239">3794e8f</a>)</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>roll to Firefox 144.0.2 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14382">#14382</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/122f56ec6d5a71e48e3e4f00cae2e097bb8d2ce8">122f56e</a>)</li>
</ul>
<h3>📄 Documentation</h3>
<ul>
<li>fix api-extractor warnings (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14370">#14370</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/538c480a2b485b1ae9b4d25645b0b99e53967855">538c480</a>)</li>
</ul>
<h2>puppeteer: v24.27.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.26.1...puppeteer-v24.27.0">24.27.0</a>
(2025-10-29)</h2>
<h3>🎉 Features</h3>
<ul>
<li>roll to Chrome 142.0.7444.59 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14381">#14381</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/54d504db0515f150b97862aa1415008dcfe9fcfa">54d504d</a>)</li>
</ul>
<h3>♻️ Chores</h3>
<ul>
<li>extract things required for ESM migration (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14369">#14369</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/c38313c4ebde082573409d1dfb358534673f42f4">c38313c</a>)</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>puppeteer-core bumped from 24.26.1 to 24.27.0</li>
</ul>
</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md">puppeteer's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.26.1...puppeteer-v24.27.0">24.27.0</a>
(2025-10-29)</h2>
<h3>🎉 Features</h3>
<ul>
<li>add window options to newPage() (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14363">#14363</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/1d4f48d80760231bc765f26e4648b4d0c6de66f4">1d4f48d</a>)</li>
<li>roll to Chrome 142.0.7444.59 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14381">#14381</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/54d504db0515f150b97862aa1415008dcfe9fcfa">54d504d</a>)</li>
<li>support ignoreCache in page.reload() (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14365">#14365</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/3794e8f0136f6e25c27bab5b6e89723fd9b6a239">3794e8f</a>)</li>
</ul>
<h3>♻️ Chores</h3>
<ul>
<li>extract things required for ESM migration (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14369">#14369</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/c38313c4ebde082573409d1dfb358534673f42f4">c38313c</a>)</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>puppeteer-core bumped from 24.26.1 to 24.27.0</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>roll to Firefox 144.0.2 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14382">#14382</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/122f56ec6d5a71e48e3e4f00cae2e097bb8d2ce8">122f56e</a>)</li>
</ul>
<h3>📄 Documentation</h3>
<ul>
<li>fix api-extractor warnings (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14370">#14370</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/538c480a2b485b1ae9b4d25645b0b99e53967855">538c480</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/f73ebcde308687cd3f8d44596371a02c86626fd6"><code>f73ebcd</code></a>
chore: release main (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14378">#14378</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/122f56ec6d5a71e48e3e4f00cae2e097bb8d2ce8"><code>122f56e</code></a>
fix: roll to Firefox 144.0.2 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14382">#14382</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/54d504db0515f150b97862aa1415008dcfe9fcfa"><code>54d504d</code></a>
feat: roll to Chrome 142.0.7444.59 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14381">#14381</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/a851dec9b2982dcbe1abc039879c1317a29a7ffd"><code>a851dec</code></a>
chore: expose backendNodeId in a11y snapshot (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14379">#14379</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/06f48d784a0912becd74df5e21ce0a79dfe05c7b"><code>06f48d7</code></a>
build: remove test server from release-please (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14377">#14377</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/d94bbd14278d9de13e660dbfc95177d52b783542"><code>d94bbd1</code></a>
chore(deps): bump the all group with 3 updates (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14374">#14374</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/b84b188c53d0d599fa98e8df6ec3d89e8f68a40b"><code>b84b188</code></a>
build: fix default config (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14376">#14376</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/97e2528ec77475c9379012acda3d36847d34d17b"><code>97e2528</code></a>
chore(deps-dev): bump the dev-dependencies group with 7 updates (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14373">#14373</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/26ef878cbd8aa1d01a5fe3b533e04d987ee2b615"><code>26ef878</code></a>
chore(deps): bump node from <code>2bb201f</code> to <code>23c24e8</code>
in /docker in the all grou...</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/784d5ad02aa475d6c9deedd658552d156e8c6a69"><code>784d5ad</code></a>
build(deps): bump mime to v4 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14372">#14372</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.26.1...puppeteer-v24.27.0">compare
view</a></li>
</ul>
</details>
<br />


Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-29 08:18:31 +00:00
Alex Rudenko 796aed72b7 feat: detect network requests inspected in DevTools UI (#477)
If you manually inspect a network request in the DevTools UI, the Chrome
DevTools MCP server is now able to detect it and allow you to refer to
the selected request. The approach was tested in a couple of models.

In the list of the network requests we have a short indication about
which request is selected in DevTools UI. We refer to the DevTools as
"DevTools UI" to disambiguate from the DevTools MCP server.
2025-10-28 10:52:09 +01:00
Nikolay Vitkov 73be1b4424 build: extract bundled in a separate config (#474) 2025-10-27 12:30:33 +01:00
Alex Rudenko 1560ff23ca refactor: detect DevTools page for each page (#467) 2025-10-27 09:53:34 +00:00
Alex Rudenko a41e440799 refactor: connect to DevTools targets by default (#466)
in preparation for integration with DevTools, this PR moves the pages
filtering to the MCP context.

---------

Co-authored-by: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com>
2025-10-24 14:30:31 +02:00
Alex Rudenko b0ce08ae2c feat: support saving snapshots to file (#463)
Refs https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/153

---------

Co-authored-by: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com>
2025-10-24 09:20:14 +00:00
Alex Rudenko d177087981 feat: support page reload (#462)
- merges navigation tools into a single tool.
- adds reload functionality.
- in a follow-up we will add options to reload.
2025-10-24 09:00:04 +00:00
Alex Rudenko 21af8daf04 chore: 3p import fix (#461) 2025-10-23 16:48:18 +00:00
Alex Rudenko b427392392 feat: add a press_key tool (#458)
Press key can be used to test shortcuts and individual key presses.
2025-10-23 16:18:58 +00:00
Alex Rudenko ad307f6c2d chore: restrict imports outside of the mcp.js (#456) 2025-10-22 14:02:35 +00:00
browser-automation-bot 25530069b6 chore(main): release chrome-devtools-mcp 0.9.0 (#378)
publish-on-tag / publish-to-npm (push) Has been cancelled
publish-on-tag / publish-to-mcp-registry (push) Has been cancelled
🤖 I have created a release *beep* *boop*
---


##
[0.9.0](https://github.com/ChromeDevTools/chrome-devtools-mcp/compare/chrome-devtools-mcp-v0.8.1...chrome-devtools-mcp-v0.9.0)
(2025-10-22)


### 🎉 Features

* add claude marketplace and plugin json
([#396](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/396))
([0498611](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/0498611429f769c6ccae365674003d2bd538c292))
* add filters and pagination to the console messages tool
([#387](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/387))
([15d942c](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/15d942c4f3335b35f1cba8e8634651688323663d))
* add WebSocket endpoint and custom headers support
([#404](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/404))
([41d6a10](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/41d6a107baee0d14a1c14573f958d44198de23aa))
* allow configuring tool categories
([#454](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/454))
([0fe2b8a](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/0fe2b8a2b4d64b9da5f7d1adccc5425fd7cbec34))
* expose previous navigations to the MCP
([#419](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/419))
([165cf9c](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/165cf9c70b7f91dc116558547a870281f29da710))
* support previous navigation for Console messages
([#452](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/452))
([6f24362](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/6f243620391f0c608f51d464257cf3222d653e9e))
* support stable id for network requests
([#375](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/375))
([f4d7b49](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/f4d7b49bb112b4336bef0d90059485f41f71e4f1))
* support verbose snapshots
([#388](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/388))
([d47aaa9](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/d47aaa96ff990c49dd07a481ea1924f85881eafa))
* tool to get a verbose single console message
([#435](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/435))
([9205593](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/92055933dc44e5d200dda2ee4ae0e365b24281bb))
* use stable id for network request querying
([#382](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/382))
([579819b](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/579819b5e76f7a34c7c5c0877ac1e5e284beb328))


### 🛠️ Fixes

* allow evaluating in Frames
([#443](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/443))
([053f1f8](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/053f1f830d051ec415f4b00e645f5a1aff8554a1))
* better wording for evaluate_script
([#392](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/392))
([2313fda](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/2313fdacad72a1bc5c4d8f1cbdd80fd64ba91771))
* indicate when request and response bodies are not available
([#446](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/446))
([7d47d6b](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/7d47d6b2f40bf08def29de3ca37b1a4a28ce6777))
* pageerror for non-error types
([#442](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/442))
([b6b42ec](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/b6b42ecb998dd4f8fbf4a8e7a49f461333a41103))
* retrieve data correctly with fewer than 3 navigations
([#451](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/451))
([4c65f59](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/4c65f59cf9f62662cf903fbbd19b67a8828d674a))


### 📄 Documentation

* add instructions for Qoder
([#386](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/386))
([d8df784](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/d8df784127afd590eb02e0060378465ae115a7a4))
* add VM-to-host remote debugging workaround
([#399](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/399))
([9f9dab0](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/9f9dab0787f19c5730b65daf148c382fb2d9e365))
* Update Copilot CLI instructions
([#423](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/423))
([c7733a8](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/c7733a818050e50830c9a8e3d62bb80892cf9121))


### ♻️ Chores

* bundle all dependencies together
([#450](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/450))
([914b980](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/914b980113353fd41b301da397aa45975090487a))
* bundle modelcontextprotocol-sdk
([#409](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/409))
([6c8432b](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/6c8432b6b69d5d56d0dee01968882492033f2dc1))
* bundle puppeteer-core
([#417](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/417))
([b443033](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/b443033000e46a992ea7fa071af0f9ec304b9ea7))
* bundle zod together with modelcontextprotocol/sdk
([#414](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/414))
([800e7e8](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/800e7e836433f3f1b2bfafa12ed35a991404d270))
* cleanup data fetching
([#441](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/441))
([5c871c3](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/5c871c3bd98127996011f269faddd8d8e7163917))
* dispose listeners on page destroyed
([#318](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/318))
([76d5e94](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/76d5e9416d833299561242ac45c0ce7813e61dbe))
* extract common paginate type
([#415](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/415))
([29fd602](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/29fd60216ca1394c46a266c6f853f8d65418e861))
* store the last 3 navigations in PageCollector
([#411](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/411))
([b873822](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/b8738221d8cf8322d5f968ee829f03dc83238a05))
* use different format for reqid
([#380](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/380))
([78bf66a](https://github.com/ChromeDevTools/chrome-devtools-mcp/commit/78bf66a7b1eefc93768f39d6d38fd141104fe812))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
2025-10-22 13:46:52 +02:00
dependabot[bot] 12eb494466 chore(deps-dev): bump chrome-devtools-frontend from 1.0.1524741 to 1.0.1531367 in the chrome-devtools-frontend group (#429)
Bumps the chrome-devtools-frontend group with 1 update:
[chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend).

Updates `chrome-devtools-frontend` from 1.0.1524741 to 1.0.1531367
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/6f4312a899ff0af345ba1a51ba719d0c0a1bf5d2"><code>6f4312a</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/03ffc0b5fc5f07fdde976d2ad47670138bf5cca7"><code>03ffc0b</code></a>
Update Chrome (for Testing) PIN</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/a717fef99f53ea02dbc91867206546800ae52f69"><code>a717fef</code></a>
[RPP] Actually hide Workspaces in trace app</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/9ac40d2b0c7d7cf9d6493905df1a72dd4b90803b"><code>9ac40d2</code></a>
Increase performance tests timeout</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/ca1486a6501f6926009969c0c1aa3a577ec93210"><code>ca1486a</code></a>
Create throttling/blocking conditions from the context menu</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/19213823907008766d5759b8b25feca602ea93fa"><code>1921382</code></a>
[Console Insights Teasers] Add error state</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/2678dc3548a7fbb9aa80455ffa0dc13fd0714e86"><code>2678dc3</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/db045b91de4fa65c651bda1968ad882f78160a26"><code>db045b9</code></a>
[Console Insights Teasers] Handle slowness</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/a95ceaf384f7917fe9e3a2aac3d10000a8f14fc6"><code>a95ceaf</code></a>
Fix console sidebar filter selection</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/a32c47b13d74ba38f478f3369d57bf9647a458b1"><code>a32c47b</code></a>
Support individual request throttling in the request blocking panel</li>
<li>Additional commits viewable in <a
href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1524741...v1.0.1531367">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by [GitHub Actions](<a
href="https://www.npmjs.com/~GitHub">https://www.npmjs.com/~GitHub</a>
Actions), a new releaser for chrome-devtools-frontend since your current
version.</p>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=chrome-devtools-frontend&package-manager=npm_and_yarn&previous-version=1.0.1524741&new-version=1.0.1531367)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
2025-10-22 13:02:29 +02:00
Nikolay Vitkov 70cd290986 chore: rename options to includePreserved<Data> (#455) 2025-10-22 10:54:12 +00:00
Alex Rudenko 0fe2b8a2b4 feat: allow configuring tool categories (#454)
This PR introduces a feature to disable some of the MCP server tool
categories to tailor it to specific use cases.

For example,

```
npx chrome-devtools-mcp@latest --no-category-emulation        Disable tools in the emulation category
npx chrome-devtools-mcp@latest --no-category-performance      Disable tools in the performance category
npx chrome-devtools-mcp@latest --no-category-network          Disable tools in the network category
```
2025-10-22 12:32:16 +02:00
Nikolay Vitkov 6f24362039 feat: support previous navigation for Console messages (#452) 2025-10-22 01:03:01 +02:00
zyzyzyryxy 914b980113 refactor: bundle all dependencies together (#450)
Final bundling step for improved startup times.

---------

Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
2025-10-21 17:44:31 +00:00
Nikolay Vitkov 4c65f59cf9 fix: retrieve data correctly with fewer than 3 navigations (#451)
Also adds test for navigation
2025-10-21 16:53:30 +00:00
Nikolay Vitkov 165cf9c70b feat: expose previous navigations to the MCP (#419)
We should consider changing the order of element shown in the from the
collectors to be show newest first rather then the current oldest first
approach.

Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/88
2025-10-21 12:25:08 +00:00
Alex Rudenko 7d47d6b2f4 fix: indicate when request and response bodies are not available (#446) 2025-10-21 12:16:28 +00:00
zyzyzyryxy b443033000 refactor: bundle puppeteer-core (#417)
Continue speeding up boot time.

---------

Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
2025-10-21 09:31:06 +00:00
Nikolay Vitkov 053f1f830d fix: allow evaluating in Frames (#443)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/439
2025-10-21 10:36:09 +02:00
Nikolay Vitkov b6b42ecb99 fix: pageerror for non-error types (#442)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/432
2025-10-20 17:43:37 +02:00
Alex Rudenko 5c871c3bd9 refactor: cleanup data fetching (#441)
Drive-by: fixed extra newline
2025-10-20 13:05:05 +00:00
Alex Rudenko 962ac88445 chore: improve console message format (#440)
I checked Puppeteer implementation and it computes the text based on all
args so we should treat the first arg in a special way. Also, changes
the format to print count of args in the list and full args in the
details only.
2025-10-20 14:49:09 +02:00
Simon Zünd c463614079 chore: add DevTools connection adapter (#434)
This PR adds a small utility class that allows us to proxy a CDP
connection via puppeteer into Chrome DevTools proper.

---------

Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
2025-10-20 13:03:32 +02:00
Alina Varkki 92055933dc feat: tool to get a verbose single console message (#435) 2025-10-20 11:18:41 +02:00
zyzyzyryxy 800e7e8364 refactor: bundle zod together with modelcontextprotocol/sdk (#414)
Continue bundling dependencies for faster startup time.

---------

Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
2025-10-17 19:10:11 +02:00
Nikolay Vitkov 29fd60216c refactor: extract common paginate type (#415) 2025-10-17 16:39:08 +02:00
Nikolay Vitkov b8738221d8 refactor: store the last 3 navigations in PageCollector (#411)
Refactors the code to support
https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/88

We keep each navigation in a separate array, that we can then expose to
the user.
2025-10-17 16:20:38 +02:00
zyzyzyryxy 6c8432b6b6 refactor: bundle modelcontextprotocol-sdk (#409)
Improve installation time.

---------

Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
2025-10-17 13:13:15 +00:00
Đào Hoàng Sơn 41d6a107ba feat: add WebSocket endpoint and custom headers support (#404)
## Summary
Add support for connecting to Chrome via WebSocket endpoint with custom
headers, enabling authenticated remote debugging scenarios and providing
an alternative to the HTTP-based connection method.

## What's New
This PR introduces two new CLI arguments:

- **`--wsEndpoint` / `-w`**: Connect directly to Chrome using a
WebSocket URL
  - Example: `ws://127.0.0.1:9222/devtools/browser/<id>`
  - Alternative to `--browserUrl` (mutually exclusive)
  
- **`--wsHeaders`**: Pass custom headers for WebSocket connections (JSON
format)
  - Example: `'{"Authorization":"Bearer token"}'`
  - Only works with `--wsEndpoint`

## Use Cases
- **Authenticated remote debugging**: Use API keys, tokens, or custom
auth headers
- **Secured instances**: Connect to browser instances requiring
authentication
2025-10-17 11:06:36 +02:00
Nikolay Vitkov 2313fdacad fix: better wording for evaluate_script (#392)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/390
2025-10-16 11:53:04 +02:00
Alina Varkki 15d942c4f3 feat: add filters and pagination to the console messages tool (#387)
In the next pr, we will add ids to messages and another tool to get more
details by id
2025-10-15 18:22:15 +02:00
Alex Rudenko d47aaa96ff feat: support verbose snapshots (#388)
As an option allow verbose snapshots
https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/363

---------

Co-authored-by: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com>
2025-10-15 12:16:34 +00:00
Nikolay Vitkov 579819b5e7 feat: use stable id for network request querying (#382)
Provides stable id when selecting a network request, this should fix
issues with multiple same places and long URL selection.
2025-10-14 14:35:15 +02:00
Nikolay Vitkov 78bf66a7b1 refactor: use different format for reqid (#380) 2025-10-14 12:23:19 +00:00