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