文件历史

提交图

88 次代码提交

作者 SHA1 备注 提交日期
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 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
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 b30bdd6e17 test: use snapshots for McpResponse (#483) 2025-10-27 16:02:03 +01:00
dependabot[bot] e8394ab113 chore(deps-dev): bump the bundled group with 2 updates (#481)
Bumps the bundled group with 2 updates:
[@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk)
and [puppeteer](https://github.com/puppeteer/puppeteer).

Updates `@modelcontextprotocol/sdk` from 1.20.1 to 1.20.2
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/7098bff073d78cfaee40869897d84a5929c29570"><code>7098bff</code></a>
chore: bump version for weekly release (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1042">#1042</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/c54309598505007c4467f78fa7dfb3e7c763679c"><code>c543095</code></a>
fix: Zod to JSONSchema pipe strategies (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/962">#962</a>)</li>
<li>See full diff in <a
href="https://github.com/modelcontextprotocol/typescript-sdk/compare/1.20.1...1.20.2">compare
view</a></li>
</ul>
</details>
<br />

Updates `puppeteer` from 24.26.0 to 24.26.1
<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.26.1</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v24.26.0...puppeteer-core-v24.26.1">24.26.1</a>
(2025-10-22)</h2>
<h3>🛠️ Fixes</h3>
<ul>
<li><strong>a11y:</strong> expose the url property for links (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14357">#14357</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/93d098b060771dbd1e6875f4664273604022f3bd">93d098b</a>)</li>
<li>roll to Chrome 141.0.7390.122 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14360">#14360</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/f2fef816f234bd30a13bb86dfc654f29f5cb2f6b">f2fef81</a>)</li>
</ul>
<h2>puppeteer: v24.26.1</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.26.0...puppeteer-v24.26.1">24.26.1</a>
(2025-10-22)</h2>
<h3>♻️ Chores</h3>
<ul>
<li><strong>puppeteer:</strong> Synchronize puppeteer versions</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>puppeteer-core bumped from 24.26.0 to 24.26.1</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.0...puppeteer-v24.26.1">24.26.1</a>
(2025-10-22)</h2>
<h3>♻️ Chores</h3>
<ul>
<li><strong>puppeteer:</strong> Synchronize puppeteer versions</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>The following workspace dependencies were updated
<ul>
<li>dependencies
<ul>
<li>puppeteer-core bumped from 24.26.0 to 24.26.1</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li><strong>a11y:</strong> expose the url property for links (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14357">#14357</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/93d098b060771dbd1e6875f4664273604022f3bd">93d098b</a>)</li>
<li>roll to Chrome 141.0.7390.122 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14360">#14360</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/f2fef816f234bd30a13bb86dfc654f29f5cb2f6b">f2fef81</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/6e2348c27e3493e53b609122888e0950d342e4d2"><code>6e2348c</code></a>
chore: release main (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14359">#14359</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/21f309239909548b390b7e851d481ff832899e35"><code>21f3092</code></a>
test: fix move to ESM (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14362">#14362</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/5fe1333769dd7bf28b239db308d67f3402633da2"><code>5fe1333</code></a>
test: move to ESM (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14358">#14358</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/f2fef816f234bd30a13bb86dfc654f29f5cb2f6b"><code>f2fef81</code></a>
fix: roll to Chrome 141.0.7390.122 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14360">#14360</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/93d098b060771dbd1e6875f4664273604022f3bd"><code>93d098b</code></a>
fix(a11y): expose the url property for links (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14357">#14357</a>)</li>
<li>See full diff in <a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.26.0...puppeteer-v24.26.1">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>
Co-authored-by: Nikolay Vitkov <nvitkov@chromium.org>
2025-10-27 14:08:01 +00:00
Nikolay Vitkov 43897afd1d test: switch to pipes (#482) 2025-10-27 14:04:35 +01:00
Nikolay Vitkov 376f57c972 test: use html helper (#478) 2025-10-27 12:32:47 +00: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 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
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 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
Alina Varkki 92055933dc feat: tool to get a verbose single console message (#435) 2025-10-20 11:18:41 +02:00
Nikolay Vitkov 5a062ce373 test: stabilize test locally (#418)
Locally the test `with full page resulting in a large screenshot` would
fail semi consistently.
With what I think is just things not getting loaded fully, so scroll to
the bottom to fix that.
2025-10-20 08:41:08 +00: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
Đà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
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
Nikolay Vitkov f4d7b49bb1 feat: support stable id for network requests (#375)
This is part 1, we just expose the uid here, in a follow up PR we will
be used for finding the request.
2025-10-14 12:45:16 +02:00
Nikolay Vitkov 76d5e9416d refactor: dispose listeners on page destroyed (#318) 2025-10-13 18:38:23 +02:00
Alex Rudenko 2082641cc7 refactor: simplify snapshot generation (#369)
the only difference is that checked/pressed are only included if the
element was checked/pressed.

Refs: https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/363
2025-10-13 13:51:49 +00:00
Alex Rudenko f08f8080d0 fix: return the default dialog value correctly (#366)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/364 
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/361

---------

Co-authored-by: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com>
2025-10-13 11:46:18 +00:00
Alina Varkki 207137edd6 fix: add an option value to the snapshot (#362)
Fixes #185 

The standard selector value is not included in the AXNode, so add it
separately.
2025-10-13 13:25:48 +02:00
Mithun Gowda B 0624029e0f fix: improve navigate_page_history error messages (#321) 2025-10-13 09:46:09 +02:00
Alex Rudenko e1b5363653 feat: support passing args to Chrome (#338)
Drive-by: removes custom devtools frontend as a dedicated argument.

Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/261
2025-10-10 15:05:41 +00:00
Alex Rudenko 2982195ec9 chore: experimental devtools-on-devtools support (#51)
Allows using the MCP server for the devtools development.
2025-10-10 14:17:00 +00:00
Jack Franklin 2d4484a123 fix: ordering of information in performance trace summary (#334)
Fixes a bug where the output contained "this is a high level summary"
before then outputting the call frame / network format information
before then outputting the trace summary.

With this commit, we now output the summary & insights before ending
with the format information.
2025-10-10 12:52:16 +00:00
iamitesh 139ce60781 feat: Add offline network emulation support to emulate_network command (#326)
https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/320
Issue:
It would be very useful to have the ability to simulate offline network
conditions directly through the MCP emulate_network command, similar to
how it's possible in DevTools.
Currently, the command doesn’t support an Offline state, which limits
testing for PWA and offline-first web applications. Adding this option
would make it easier to automate and validate offline behavior through
MCP scripts or tools that rely on this API.

Solution
- Add 'Offline' option to throttlingOptions for simulating offline
network conditions
- Update emulate_network tool to handle offline mode with proper network
conditions
- Update documentation to include offline option and usage instructions
- Add test coverage for offline network emulation functionality
- Enable testing of PWA and offline-first web applications through MCP
2025-10-10 09:22:16 +02:00
Nicholas Roscino dd3c14336e feat: add request and response body (#267)
This PR adds the request and response bodies into the context if they
are available and in a readable format.

---------

Co-authored-by: Nicholas Roscino <nroscino@chromium.org>
Co-authored-by: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com>
2025-10-08 11:22:10 +02:00
Alex Rudenko 357db65d18 fix: change default screen size in headless (#299)
Sets the screen size in headless to be 3840x2160px to allow resize tool
to work correctly for most use cases.

Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/294
2025-10-07 13:27:23 +00:00
Alex Rudenko 098a904b36 fix(cli): tolerate empty browser URLs (#298)
it seems some clients default to empty default values for args. We can
accept that and do not error for these.

Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/264
2025-10-07 14:33:59 +02:00
leslie liu 8200194c80 fix: guard performance_stop_trace when tracing inactive (#295)
PR Description

- Fix the stop-trace guard to call context.isRunningPerformanceTrace()
so we skip page.tracing.stop() when nothing is recording, avoiding the
Puppeteer error that bubbled up
    to users.
- Extend the “does nothing” test to stub tracing.stop() and assert it
stays untouched, guaranteeing the guard path is covered.
2025-10-07 12:04:41 +00:00
Nikolay Vitkov 2714158eb3 docs: fix typos (#260)
This also implements the suggestion from
https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/244
but that includes other parts that I am not sure we would want for now.
2025-10-02 16:59:09 +02:00
Nikolay Vitkov 0412878bf5 fix: PageCollector subscribing multiple times (#241)
We were setting the storage inside the first collect callback which mean
that we double subscribed to the events.

This affected Network request and Console messages
2025-10-01 16:33:55 +02:00