文件历史

96 次代码提交

作者 SHA1 备注 提交日期
Alex Rudenko fd0a9193b3 docs: estimate tokens using tiktoken (#959) 2026-02-16 08:22:50 +00:00
Alex Rudenko 482a288c7e chore: evaluate select_page scenario (#925)
Passes the test with gemini-2.5-flash with no errors.

Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/921
2026-02-10 10:11:23 +00:00
Alex Rudenko c0435a2d53 fix: disable usage statistics when CI or CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS env is set (#862)
When CI or CHROME_DEVTOOLS_MCP_NO_USAGE_STATISTICS env variables are
set, we override the set cli args and disable the usage statistics.
2026-01-30 07:58:45 +00:00
Alex Rudenko aa0a3679f5 feat: add a skill for using chrome-devtools-mcp (#830)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/710
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/709
2026-01-26 10:04:39 +00:00
Alex Rudenko 4b8e9f2875 feat: allow skipping snapshot generation for input tools (#821)
Input tools have snapshots not re-generated by default now with an
option to opt-in to get a snapshot.

Refs: https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/726
2026-01-23 13:43:00 +00:00
Alex Rudenko 57e07eed7b chore: token count tool (#820)
small helper
2026-01-23 12:56:22 +00:00
dependabot[bot] 5bd77d3e97 chore(deps-dev): bump chrome-devtools-frontend from 1.0.1570343 to 1.0.1571573 in the bundled-devtools group (#811)
Bumps the bundled-devtools group with 1 update:
[chrome-devtools-frontend](https://github.com/ChromeDevTools/devtools-frontend).

Updates `chrome-devtools-frontend` from 1.0.1570343 to 1.0.1571573
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/5563496226fd71a8ab7681e7fdae4f99bb5e9fb5"><code>5563496</code></a>
Update DevTools DEPS (trusted)</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/92f6ef8e6da11408cbdabc22e565e2c22d21fd66"><code>92f6ef8</code></a>
Update Chrome (for Testing) PIN</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/5a8e2a0ef05a79898ff8444eeddeebc7ed8cc6d9"><code>5a8e2a0</code></a>
Node screenshots in OOPiF</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/bdd5124e030ee4cf59b78af0df257faef3f65a1b"><code>bdd5124</code></a>
Make <code>ComputedStyleModel</code> take a DOMNode explicitly.</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/09497c921d594414d34a45fec5fcf9db3b8276db"><code>09497c9</code></a>
Migrate XLink in templates</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/ed7883b3fd6f6fcc2170a89a1dc2c3b7cd7d763d"><code>ed7883b</code></a>
Roll browser-protocol</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/52c709a810c92ff1f925772b8262190c0935ec56"><code>52c709a</code></a>
Add initial //agents/prompts folder and some prompts</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/5e8a5c29da01203e176019cc9443dd51967a93c8"><code>5e8a5c2</code></a>
Update Chrome (for Testing) PIN</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/76990dded48a1b8d29e71d505af9c2877b0cbe22"><code>76990dd</code></a>
Remove default jslog name for devtools-link</li>
<li><a
href="https://github.com/ChromeDevTools/devtools-frontend/commit/8b9a227cf425a51e2825dad31e7cdc3bd3c4d606"><code>8b9a227</code></a>
Trace: remove outdated comment</li>
<li>Additional commits viewable in <a
href="https://github.com/ChromeDevTools/devtools-frontend/compare/v1.0.1570343...v1.0.1571573">compare
view</a></li>
</ul>
</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.1570343&new-version=1.0.1571573)](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>
2026-01-22 12:47:10 +00:00
Alex Rudenko a8169676f9 feat: support device viewport and user agent emulation (#798)
This PR adds two emulation attributes `viewport` and `userAgent` that
allow emulating a mobile or a different desktop device.

Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/272
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/619
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/410
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/280
(the recommended way is to emulate via the MCP server instead of a
parallel DevTools session)
2026-01-20 14:07:57 +00:00
Alex Rudenko aa9a176956 fix: improve performance tool description (#800)
Drive-by: refactor and improve eval scripts.
2026-01-20 11:38:51 +00:00
Natasha Gorshunova 24d15a9375 chore: Implement uninstall_extension tool (#796)
Co-authored-by: Natallia Harshunova <nharshunova@chromium.org>
2026-01-20 07:01:10 +00:00
Alex Rudenko a83a338351 fix: increase timeouts for long text input (#787)
Fixes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/786
2026-01-19 13:01:41 +00:00
Alex Rudenko 9b21f8b2e9 fix: handle beforeunload dialogs in navigations (#788)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/713
2026-01-19 10:04:45 +00:00
Natasha Gorshunova 1e0ee69d3a chore: Implement install_extension command (#764)
Co-authored-by: Natallia Harshunova <nharshunova@chromium.org>
2026-01-19 07:57:25 +00:00
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
Alex Rudenko 67c1f80b28 chore: refactor eval script more (#781)
add args parsing and simplify output (support debug logging + headless).
2026-01-16 08:49:06 +00:00
Alex Rudenko 303a1383e1 chore: add more eval scenarios (#780) 2026-01-16 08:38:45 +00:00
Alex Rudenko 0284d18b7b chore: support an html route in evals (#770)
Allows using the server URL in the prompt.
2026-01-14 17:11:53 +00:00
Alex Rudenko 257b9943e9 chore: add basic eval (#766)
This PR adds a tool based on the node test runner that runs a loop to
see what tools a model chooses given a prompt. The expectations are
encoding for each prompt. Run `npm run eval` to get results. Currently,
only Gemini and needs and API key.
2026-01-14 14:15:21 +00:00
Alex Rudenko 10baac9c48 test: add a retry for the merge queue (#762)
The tests need to pass checks before being added to the merge queue so
we can avoid merge queue failures in case there are flaky tests.
2026-01-13 12:03:17 +00:00
Alex Rudenko c4e493b411 test: support testing a single test file without only (#761)
This PR adds a test.ts wrapper over the test runner to simplify scripts
in package.json and allow running a single test file.
2026-01-13 11:53:54 +00:00
Alex Rudenko b204ad7009 build: update verify server.json (#759)
move download to the script, run script without deleting server.json
2026-01-13 10:10:19 +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
Simon Zünd 79ab800b1e chore(build): remove obsolete protocol_client.js modifications (#739)
The `self.Protocol` assignment and register call have moved to the
InspectorBackend constructor. The `self.Protocol` assignment now use
`globalThis`. The register call is necessary to make DevTools foundation
work.
2026-01-08 13:05:01 +01:00
Alex Rudenko 81cbd99f52 docs: enhance cli docs + sort required vs opt params (#674) 2025-12-13 09:16:04 +00:00
Alex Rudenko 94b899c205 build: bundle devtools frontend (#656) 2025-12-11 11:51:04 +01: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
Simon Zünd 589d994974 chore: add UniverseManager to create DevTools Universes for each Page (#621)
A follow-up PR will add a single instance of the `UniverseManager` to
`McpContext` similarly to the *Collectors. We don't do that in this PR
yet, as we need to wait for some chrome-devtools-frontend changes to
roll.
2025-11-28 09:19:50 +00:00
Alex Rudenko a5c40d14a9 chore: remove i18n mocks (#576)
i18n can now run in node.js.
2025-11-19 09:32:54 +00: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
Nikolay Vitkov 2fd4cc9ac6 chore: restrict DevTools imports (#547) 2025-11-12 10:15:11 +00:00
Alex Rudenko aae8c0fab0 build: remove outdated prepare.ts steps (#501) 2025-10-30 10:58:38 +01:00
Nikolay Vitkov 40e1753d2e docs: remove unnecessary replace (#475) 2025-10-27 15:38:40 +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
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 2e0961f36d ci: verify schema is correct on release PRs (#314)
Also gets the latest mcp-publisher based on GitHub latest tag.
2025-10-13 12:01:30 +02:00
Nikolay Vitkov b1d239ece1 refactor: use release-please to bump version in files (#349) 2025-10-12 11:14:27 +00:00
Alex Rudenko 03b59f0bca fix: do not set channel if executablePath is provided (#150)
Fixes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/148
2025-09-25 18:44:31 +02:00
Nikolay Vitkov 15277541d8 chore: add additional EsLint rule (#147) 2025-09-25 17:20:01 +02:00
Jack Franklin d64ba0d902 fix(performance): ImageDelivery insight errors (#144)
This fixes the ImageDelivery insight which throws when we try to
generate it
because of its dependency on core/i18n. The long term fix here is to
remove the reliance of models/trace on the core/i18n package, or at
least dependency inject it, but this is a quick fix to at least make
this insight available.

The irony is that we don't even use the string in the AI output; but if
we don't have the method available we cannot generate the insight.

This fixes part of #124 by making this insight not error. The other
required work for that bug is to deal with Insights that do error. That
work is done in DevTools, but we need to ship & roll a new version into
the MCP server.
2025-09-25 13:38:52 +02:00
Alex Rudenko adfcecf987 fix: validate and report incompatible Node versions (#113)
Ref https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/92
2025-09-24 14:45:27 +02:00
Alex Rudenko cae1cf13d5 fix: manually bump server.json versions based on package.json (#105)
it appears that mcp registry publishing tools would not sync
automatically with package.json.
2025-09-24 10:23:06 +02:00
Sebastian Benz 0c7daa0b86 chore: refactor docs generating (#55)
* add script `npm run docs` that builds, generate docs and runs
formatter to auto fix formatting after doc generation
* rename generate-docs to docs:generate
* update presubmit workflow
* add docs process to contributing.md
2025-09-19 15:57:10 +02:00
Jack Franklin 0cb6147b87 feat: use Performance Trace Formatter in trace output (#36)
Note: this will error until a chrome-devtools-frontend with this change

https://chromiumdash.appspot.com/commit/62e1652b2bf044ec53a2ec212cf53b1a62bc357e
is released on npm.
2025-09-16 17:07:58 +00:00
Sebastian Benz 8ba8460b98 docs: polish readme (#2)
* add configuration section
* move user-data-dir to new concepts section
2025-09-12 12:30:30 +02:00
Nikolay Vitkov 03cede89cf ci: preconfigure CI jobs (#3) 2025-09-11 11:46:56 +00:00
Alex Rudenko 31a0bdce26 feat: initial version 2025-09-11 12:46:05 +02:00