38 Commits
Author SHA1 Message Date
Nikolay Vitkov 5068584894 refactor: simplify our gen scritps (#2793) 2026-09-21 14:39:51 +00:00
Nikolay Vitkov da3c40609a refactor: migrate the MCP SDK to v2 (#2408)
This was generated based on the documents provided in the SDK v2
migration for both the SDK and the MCP version.
It is to serve as a template for pre-factoring and other changes.
2026-09-21 12:49:51 +00:00
Nikolay Vitkov 61780c7498 refactor: prepare for SDK v2 (#2771)
The code changes here are a subset that works for both the current and
the update one. Splitting to reduce the review process.
2026-09-21 08:57:52 +00:00
Nikolay Vitkov 882f93e9a8 refactor: unify call type and ensure typesafety (#2659)
Prefactoring for the SDK v2.
2026-09-18 12:09:10 +00:00
Nikolay Vitkov 342d2430ce docs: fix defaults for non-boolean values (#2744)
Closes https://github.com/ChromeDevTools/chrome-devtools-mcp/pull/2722
2026-09-15 08:06:12 +00:00
Nikolay Vitkov 401a1192b6 refactor: extract category config into a seprate file (#2652) 2026-09-03 15:45:45 +00:00
d00e6f8239 feat: support configurable filesystem roots (#2605)
Fixes #2598

This lets people set filesystem roots through the MCP server or the
Chrome DevTools CLI. Multiple roots work together with any roots sent by
the MCP client, and temp directory access stays the same.

I added tests for the flags and root handling.

---------

Co-authored-by: Joseph B <289838966+joebasrawi@users.noreply.github.com>
Co-authored-by: Joseph B <joebasrawi@users.noreply.github.com>
2026-09-03 09:42:37 +00:00
Nikolay Vitkov 5463101120 docs: split the docs in separate files (#2600) 2026-09-02 07:14:54 +00:00
Michael Hablich 6a67552771 feat: Add cookie-debugging skill and improve network/pages tool descriptions (#2596)
#408
2026-09-01 12:55:06 +00:00
Alex Rudenko a78566ee7c feat: add an option to turn off js execution tools (#2627)
While we keep the evaluate script available by default since it is
useful for many users, we give an option to disable it.
2026-08-31 09:10:30 +00:00
50a16fae69 feat: make pageId required for page-scoped tools by default (#1777)
Removes `--experimental-page-id-routing` making it the default behavior.
To go back to the previous behavior, pass `--pageIdRouting=false` when
starting the server.

---------

Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
Co-authored-by: Samiya Caur <samiyac@google.com>
2026-08-24 16:54:06 +00:00
Nikolay Vitkov 5d0283969c refactor: move config files out of bin (#2578) 2026-08-14 14:17:28 +00:00
Alex Rudenko 38dd346805 docs: fix showing defaults in configuration (#2234)
closes https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/2233
2026-06-19 09:48:30 +00:00
Alex Rudenko 14938acd08 docs: remove token estimates (#2003)
since we include conditional tools in the reference, we cannot give
exact estimates since they depend on the configuration.
2026-05-06 09:21:54 +00:00
Alex Rudenko da0441d425 docs: extract WebMCP into its own category (#1993)
Extracting WebMCP tools into a separate category for better grouping in
the docs. This changes `--experimentalWebmcp` to
`--categoryExperimentalWebmcp` to align with other experimental
categories. Debugging category was not a good fit since the tools
provided by WebMCP are not necessarily used for debugging.

cc @beaufortfrancois
2026-05-05 12:50:42 +00:00
Nicholas Roscino 895fc65a1f docs: update generate-docs.ts tools output order (#1991)
Closes: #1932
2026-05-05 08:31:59 +00:00
Nicholas Roscino b2b3e99d67 feat(cli): generate commands for conditional tools (#1962)
This PR adds all tools in the CLI interface. When a tool is not enabled
the server responds with an error guiding the user on how to enable the
category or the experiment.

Closes:
https://github.com/ChromeDevTools/chrome-devtools-mcp/issues/1933
2026-04-30 07:59:08 +00:00
3ff21cf30d feat: support Chrome extensions debugging (#1922)
Adds ability to install, uninstall and reload extensions, trigger
extension actions and inspect extension pages, service workers and
content scripts. Specify `--categoryExtensions` to enable.

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

---------

Co-authored-by: Mathias Bynens <mathias@qiwi.be>
Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
2026-04-21 14:03:15 +00:00
Alex Rudenko c2d8009ff7 refactor: move main files (#1120)
- `chrome-devtools-mcp.js` is the `npx chrome-devtools-mcp`
- `chrome-devtools.js` is the new CLI
- `-cli-options.js` is the corresponding options
- all these files are in the bin folder to indicate they are executable
2026-03-05 21:51:37 +00:00
Alex Rudenko 013110b0ee chore: generate cli automatically (#1117) 2026-03-05 13:35:15 +00:00
Nicholas Roscino 25638f093b chore: enable dynamic tool definition based on CLI arguments (#1031)
This PR allows tools to be created dynamically based on the provided cli
arguments
2026-02-24 17:01:33 +00:00
Alex Rudenko c402b43697 feat: --slim mode for maximum token savings (#958)
- navigate
- run js
- take screenshot

That's it. Basic functionality for a low (~368) token price.
2026-02-23 14:42:27 +00:00
Alex Rudenko fd0a9193b3 docs: estimate tokens using tiktoken (#959) 2026-02-16 08:22:50 +00:00
Natasha GorshunovaandNatallia Harshunova 24d15a9375 chore: Implement uninstall_extension tool (#796)
Co-authored-by: Natallia Harshunova <nharshunova@chromium.org>
2026-01-20 07:01:10 +00:00
Natasha GorshunovaandNatallia Harshunova 1e0ee69d3a chore: Implement install_extension command (#764)
Co-authored-by: Natallia Harshunova <nharshunova@chromium.org>
2026-01-19 07:57:25 +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
Alex Rudenko 81cbd99f52 docs: enhance cli docs + sort required vs opt params (#674) 2025-12-13 09:16: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
Nikolay Vitkov 40e1753d2e docs: remove unnecessary replace (#475) 2025-10-27 15:38:40 +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
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
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
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
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