文件历史

提交图

121 次代码提交

作者 SHA1 备注 提交日期
zyzyzyryxy f028f8c075 chore: Update eslint rule to require empty line after license notice. (#784)
We should make sure there is always an empty line after license notice,
otherwise it gets dropped during build if it happens to be before import
statement.

---------

Co-authored-by: Piotr Paulski <piotrpaulski@chromium.org>
2026-01-16 16:35:45 +00:00
Lakshan Perera 4d9ac227dd fix: support resize_page when browser window is maximized/fullscreenwindow state (#748)
Related Issue -
[465](https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/465)

### Description

This change make sure that the browser window is restored to a `normal`
state before resizing the page. When the window is in `fullscreen` mode
we have to set the state twice to match how Chrome CDP behaves.

Tests cover window resizing for every available window states `type
WindowState = 'normal' | 'minimized' | 'maximized' | 'fullscreen';`

---------

Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
2026-01-13 16:25:22 +00:00
Alex Rudenko 68ae2f8253 feat: support filePath in performance tools (#686)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/680
2026-01-13 11:22:14 +00:00
Alex Rudenko 8f3fcf6582 chore: get tab ID tool (#756)
An experimental tools to allow interop with other CDP tooling.
2026-01-12 16:26:03 +00:00
Alex Rudenko a94dc0e614 chore: experimental vision mode (#745)
this PR adds the `--experimental-vision` argument that exposes
additional tool for visual automation (currently, click_at(x, y)).
2026-01-09 12:45:31 +00:00
Alex Rudenko a23c6ba8c9 refactor: change pageIdx to page ids (#741)
This allows for order-independent page IDs that are still easy to
consume by LLMs (incremental integers).
2026-01-08 15:59:30 +01:00
dependabot[bot] 6576c0feb3 chore(deps-dev): bump the bundled group with 2 updates (#697)
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.24.3 to 1.25.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/modelcontextprotocol/typescript-sdk/releases"><code>@​modelcontextprotocol/sdk</code>'s
releases</a>.</em></p>
<blockquote>
<h2>1.25.1</h2>
<h2>What's Changed</h2>
<ul>
<li>spec types - backwards compatibility changes by <a
href="https://github.com/KKonstantinov"><code>@​KKonstantinov</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1306">modelcontextprotocol/typescript-sdk#1306</a></li>
<li>chore: bump version for patch fix by <a
href="https://github.com/felixweinberger"><code>@​felixweinberger</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1307">modelcontextprotocol/typescript-sdk#1307</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/modelcontextprotocol/typescript-sdk/compare/1.25.0...1.25.1">https://github.com/modelcontextprotocol/typescript-sdk/compare/1.25.0...1.25.1</a></p>
<h2>1.25.0</h2>
<h2>What's Changed</h2>
<ul>
<li>list changed handlers on client constructor by <a
href="https://github.com/mattzcarey"><code>@​mattzcarey</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1206">modelcontextprotocol/typescript-sdk#1206</a></li>
<li>Role - moved from inline to reusable type by <a
href="https://github.com/KKonstantinov"><code>@​KKonstantinov</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1221">modelcontextprotocol/typescript-sdk#1221</a></li>
<li>fix: use versioned npm tag for non-main branch releases by <a
href="https://github.com/pcarleton"><code>@​pcarleton</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1236">modelcontextprotocol/typescript-sdk#1236</a></li>
<li>No automatic completion support unless needed - Revisited yet again
by <a href="https://github.com/cliffhall"><code>@​cliffhall</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1237">modelcontextprotocol/typescript-sdk#1237</a></li>
<li>fix: Support updating output schema by <a
href="https://github.com/vincent0426"><code>@​vincent0426</code></a> in
<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1048">modelcontextprotocol/typescript-sdk#1048</a></li>
<li>Remove type dependency on <code>@​cfworker/json-schema</code> by <a
href="https://github.com/LucaButBoring"><code>@​LucaButBoring</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1229">modelcontextprotocol/typescript-sdk#1229</a></li>
<li>Relocate tests under <code>/test</code> by <a
href="https://github.com/KKonstantinov"><code>@​KKonstantinov</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1220">modelcontextprotocol/typescript-sdk#1220</a></li>
<li>Fix tsconfig: remove tests by <a
href="https://github.com/KKonstantinov"><code>@​KKonstantinov</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1240">modelcontextprotocol/typescript-sdk#1240</a></li>
<li>tsconfig - tests and build fix by <a
href="https://github.com/KKonstantinov"><code>@​KKonstantinov</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1243">modelcontextprotocol/typescript-sdk#1243</a></li>
<li>fix a typo in examples README by <a
href="https://github.com/DaleSeo"><code>@​DaleSeo</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1246">modelcontextprotocol/typescript-sdk#1246</a></li>
<li>Protocol date validation by <a
href="https://github.com/mattzcarey"><code>@​mattzcarey</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1247">modelcontextprotocol/typescript-sdk#1247</a></li>
<li>Flaky test fix on Types.test.ts by <a
href="https://github.com/KKonstantinov"><code>@​KKonstantinov</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1244">modelcontextprotocol/typescript-sdk#1244</a></li>
<li>SPEC COMPLIANCE: Remove loose/passthrough types not allowed/defined
by MCP spec + Task types by <a
href="https://github.com/KKonstantinov"><code>@​KKonstantinov</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1242">modelcontextprotocol/typescript-sdk#1242</a></li>
<li>Follow-up fixes for PR <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1242">#1242</a>
by <a
href="https://github.com/felixweinberger"><code>@​felixweinberger</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1274">modelcontextprotocol/typescript-sdk#1274</a></li>
<li>Update server examples and docs by <a
href="https://github.com/DaleSeo"><code>@​DaleSeo</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1285">modelcontextprotocol/typescript-sdk#1285</a></li>
<li>Update TypeScript config to ES2020 to fix AJV imports by <a
href="https://github.com/mattzcarey"><code>@​mattzcarey</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1297">modelcontextprotocol/typescript-sdk#1297</a></li>
<li>Fix Zod v4 schema description extraction by <a
href="https://github.com/felixweinberger"><code>@​felixweinberger</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1296">modelcontextprotocol/typescript-sdk#1296</a></li>
<li>Add optional description field to Implementation schema by <a
href="https://github.com/calclavia"><code>@​calclavia</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1295">modelcontextprotocol/typescript-sdk#1295</a></li>
<li>Add theme property to Icon schema by <a
href="https://github.com/DaleSeo"><code>@​DaleSeo</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1290">modelcontextprotocol/typescript-sdk#1290</a></li>
<li>feat: fetch transport by <a
href="https://github.com/mattzcarey"><code>@​mattzcarey</code></a> in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1209">modelcontextprotocol/typescript-sdk#1209</a></li>
<li>chore: bump version for release by <a
href="https://github.com/felixweinberger"><code>@​felixweinberger</code></a>
in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1301">modelcontextprotocol/typescript-sdk#1301</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/vincent0426"><code>@​vincent0426</code></a>
made their first contribution in <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/1048">modelcontextprotocol/typescript-sdk#1048</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/modelcontextprotocol/typescript-sdk/compare/1.24.3...1.25.0">https://github.com/modelcontextprotocol/typescript-sdk/compare/1.24.3...1.25.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/384311b9b8452017f5f81819c133dc45c667cfa4"><code>384311b</code></a>
chore: bump version for patch fix (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1307">#1307</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/fb07af810b51003c338dc4885a9e42f54519f9af"><code>fb07af8</code></a>
spec types - backwards compatibility changes (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1306">#1306</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/2b20ca95735e82a2ba7c47c9bd303057601b7f8e"><code>2b20ca9</code></a>
chore: bump version for release (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1301">#1301</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/67ba7adbb73a0e40c2c350c74280ae3ac0aa47d6"><code>67ba7ad</code></a>
feat: fetch transport (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1209">#1209</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/1d425471342ceb414aa47eaca0173d3f35014633"><code>1d42547</code></a>
Add theme property to Icon schema (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1290">#1290</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/54303b4f8c94c5ce0fdc6598d5957e7db5f9eccb"><code>54303b4</code></a>
Add optional description field to Implementation schema (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1295">#1295</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/9941294df9c3b9121c042a72419248bf83d45c5c"><code>9941294</code></a>
Fix Zod v4 schema description extraction (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1296">#1296</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/34c9e165fee21cb84d1c577d1df433fe97d7742f"><code>34c9e16</code></a>
Update TypeScript config to ES2020 to fix AJV imports (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1297">#1297</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/67d79d45ee934d9e811150fb3d9eb458b8ce59f1"><code>67d79d4</code></a>
Update server examples and docs (<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1285">#1285</a>)</li>
<li><a
href="https://github.com/modelcontextprotocol/typescript-sdk/commit/06a4fd2332cd0ba8884e18b21ef4f7d03dea7b0d"><code>06a4fd2</code></a>
Follow-up fixes for PR <a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1242">#1242</a>
(<a
href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/1274">#1274</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/modelcontextprotocol/typescript-sdk/compare/1.24.3...1.25.1">compare
view</a></li>
</ul>
</details>
<br />

Updates `puppeteer` from 24.33.0 to 24.34.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.34.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v24.33.1...puppeteer-core-v24.34.0">24.34.0</a>
(2025-12-19)</h2>
<h3>🎉 Features</h3>
<ul>
<li>publish page.resize() (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14525">#14525</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/ee31c21270a881164b689c3b1cd9c2feca0e2820">ee31c21</a>)</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>roll to Chrome 143.0.7499.169 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14529">#14529</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/40c73cd6599db2857cbffbe7e9b1685f2d50e4f1">40c73cd</a>)</li>
<li>roll to Firefox 146.0.1 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14530">#14530</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/f0c7e574e382d0d270823b8e705cb424fd0aae4c">f0c7e57</a>)</li>
</ul>
<h2>puppeteer: v24.34.0</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.33.1...puppeteer-v24.34.0">24.34.0</a>
(2025-12-19)</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.33.1 to 24.34.0</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>puppeteer-core: v24.33.1</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v24.33.0...puppeteer-core-v24.33.1">24.33.1</a>
(2025-12-18)</h2>
<h3>🛠️ Fixes</h3>
<ul>
<li>DevTools worker targets should not end up as DevToolsTarget (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14505">#14505</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/e37f1a44e51689e0aedbb8f6a36a79a421d6264b">e37f1a4</a>)</li>
<li>roll to Chrome 143.0.7499.146 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14519">#14519</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/0fe8e2cdd80626468b136fc0e4a4b204cb81ca24">0fe8e2c</a>)</li>
<li><strong>webdriver:</strong> emit <code>response</code> event on
<code>network.responseStarted</code> (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14513">#14513</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/cdd358fb351d8776dafcd5e909ccabadbefa729e">cdd358f</a>)</li>
</ul>
<h2>puppeteer: v24.33.1</h2>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.33.0...puppeteer-v24.33.1">24.33.1</a>
(2025-12-18)</h2>
<h3>♻️ Chores</h3>
<ul>
<li><strong>puppeteer:</strong> Synchronize puppeteer versions</li>
</ul>
<h3>Dependencies</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</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.33.1...puppeteer-v24.34.0">24.34.0</a>
(2025-12-19)</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.33.1 to 24.34.0</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>🎉 Features</h3>
<ul>
<li>publish page.resize() (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14525">#14525</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/ee31c21270a881164b689c3b1cd9c2feca0e2820">ee31c21</a>)</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>roll to Chrome 143.0.7499.169 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14529">#14529</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/40c73cd6599db2857cbffbe7e9b1685f2d50e4f1">40c73cd</a>)</li>
<li>roll to Firefox 146.0.1 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14530">#14530</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/f0c7e574e382d0d270823b8e705cb424fd0aae4c">f0c7e57</a>)</li>
</ul>
<h2><a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.33.0...puppeteer-v24.33.1">24.33.1</a>
(2025-12-18)</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.33.0 to 24.33.1</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>🛠️ Fixes</h3>
<ul>
<li>DevTools worker targets should not end up as DevToolsTarget (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14505">#14505</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/e37f1a44e51689e0aedbb8f6a36a79a421d6264b">e37f1a4</a>)</li>
<li>roll to Chrome 143.0.7499.146 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14519">#14519</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/0fe8e2cdd80626468b136fc0e4a4b204cb81ca24">0fe8e2c</a>)</li>
<li><strong>webdriver:</strong> emit <code>response</code> event on
<code>network.responseStarted</code> (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14513">#14513</a>)
(<a
href="https://github.com/puppeteer/puppeteer/commit/cdd358fb351d8776dafcd5e909ccabadbefa729e">cdd358f</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/7d750c25cb29764f2fb31cb90b750a8eec350199"><code>7d750c2</code></a>
chore: release main (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14526">#14526</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/f0c7e574e382d0d270823b8e705cb424fd0aae4c"><code>f0c7e57</code></a>
fix: roll to Firefox 146.0.1 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14530">#14530</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/c1cb7b6baf43e6f3a2bf591e832d36dff7d28da4"><code>c1cb7b6</code></a>
docs: add full screen request guide and correct typos (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14527">#14527</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/40c73cd6599db2857cbffbe7e9b1685f2d50e4f1"><code>40c73cd</code></a>
fix: roll to Chrome 143.0.7499.169 (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14529">#14529</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/ee31c21270a881164b689c3b1cd9c2feca0e2820"><code>ee31c21</code></a>
feat: publish page.resize() (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14525">#14525</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/5aab24c5a7dba1ea067af8440fb21a0d22496994"><code>5aab24c</code></a>
docs: patch failed release generation (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14524">#14524</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/edf5f9e5d3c27f00bd491fa139775a3a8a1fe2e6"><code>edf5f9e</code></a>
chore: release main (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14506">#14506</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/c369b65cc5ba69e9219c9895e2eeac51fcbac9b2"><code>c369b65</code></a>
docs: add new guides to the sidebar (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14523">#14523</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/73acfc0c3848cfb4a1432b8d24643c3f51501cf9"><code>73acfc0</code></a>
test: add a keep alive fetch interception test (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14522">#14522</a>)</li>
<li><a
href="https://github.com/puppeteer/puppeteer/commit/b1770042e3802e1e6a0e1e44d7b175c9fa93af4f"><code>b177004</code></a>
docs: added screen configuration and window management examples (<a
href="https://redirect.github.com/puppeteer/puppeteer/issues/14521">#14521</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/puppeteer/puppeteer/compare/puppeteer-v24.33.0...puppeteer-v24.34.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>
Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
2026-01-08 09:10:12 +00:00
Alex Rudenko ceae17be26 fix: make bringToFront optional in select_page (#668)
bringToFront() not only brings the tab to front in the browser but also
the browser window itself. This PR fixes the issue by making the call to
bringToFront() optional allowing agents to bring a tab to the user's
attention if needed but not always. To mitigate the risk of selected
page that is in the background being throttled, this PR implements
emulation of the focused page to make background tabs run as usual.
2025-12-12 11:04:04 +00:00
Alex Rudenko 7a072c0012 build: rewrite docs generator (#640)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/562
2025-12-03 09:44:46 +01:00
Alex Rudenko d8921453c7 feat: integrate DevTools issues into the console tools (#636)
Now that all PRs by @nattallius have landed, this PR removes the feature
flag introduced in
https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/575 and makes
issues available by default.

- list_console_messages has a new message type called `issue` to filter
for DevTools issues
- get_console_message returns details for the issues.

DevTools issues help to identify and fix problems on web pages. See
https://developer.chrome.com/docs/devtools/issues for more details.

PRs contributing this feature:

- https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/505
- https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/594
- https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/594
2025-12-02 11:04:37 +01:00
JustasM 3991e4c2a9 feat(emulation): add geolocation emulation tool (#634)
Adding emulate_geolocation tool to emulate device location for testing
location-based features. Supports setting latitude/longitude or clearing
the override.

Closing https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/296
2025-12-02 08:57:55 +01:00
Nikolay Vitkov 6b0984aa7d fix(wait_for): respect the provided timeout (#630)
The issue is that locator don't modify themselves but create a new
locator.

Closes #624
2025-11-28 10:47:24 +00:00
Alex Rudenko 2eaf2689c3 fix: ignore quality for png (#589)
Fixes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/588
2025-11-21 06:32:19 +00:00
Alex Rudenko 08e9a9f42e refactor: disable issues in list_console_messages for now (#575)
Disabled the feature until the detail tool is ready.
2025-11-19 09:28:31 +01:00
Natasha Gorshunova c1e4118992 feat: report console issues in list_console_messages (#505)
Co-authored-by: Natallia Harshunova <nharshunova@chromium.org>
Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
2025-11-17 10:38:46 +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
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
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
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
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
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
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 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
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
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 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
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 9ad7cbb2de fix: document that console and requests are since the last nav (#335)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/240
2025-10-10 13:51:36 +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
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 74c6d6d649 refactor: use context agnostic write to file (#250)
Similar to the write to temporary file we should hide the implementation
behind the Context
2025-10-02 09:50:47 +00:00
Nikolay Vitkov 73f0aecd8a fix(network): show only selected request (#236) 2025-10-01 14:12:41 +02:00
Alex Rudenko 36e64d5ae2 feat: support timeouts in wait_for and navigations (#228)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/223
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/116
2025-10-01 10:48:53 +02:00
Alex Rudenko ef61a08707 feat: support initial viewport in the CLI (#229)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/165

This PR uses page_resize logic to set the initial viewport size. Not
using the emulation because it looks buggy in headful which is our
default mode.
2025-10-01 10:11:35 +02:00