chrome-devtools-mcp 0.18.1 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +4 -3
  2. package/build/src/McpContext.js +215 -266
  3. package/build/src/McpPage.js +95 -0
  4. package/build/src/McpResponse.js +73 -29
  5. package/build/src/bin/chrome-devtools.js +184 -0
  6. package/build/src/bin/cliDefinitions.js +651 -0
  7. package/build/src/browser.js +5 -3
  8. package/build/src/cli.js +11 -1
  9. package/build/src/daemon/client.js +151 -0
  10. package/build/src/daemon/daemon.js +49 -15
  11. package/build/src/daemon/types.js +6 -0
  12. package/build/src/daemon/utils.js +56 -15
  13. package/build/src/main.js +5 -173
  14. package/build/src/server.js +209 -0
  15. package/build/src/telemetry/watchdog/ClearcutSender.js +2 -0
  16. package/build/src/third_party/THIRD_PARTY_NOTICES +1480 -111
  17. package/build/src/third_party/bundled-packages.json +4 -3
  18. package/build/src/third_party/devtools-formatter-worker.js +5 -13
  19. package/build/src/third_party/index.js +1980 -396
  20. package/build/src/third_party/lighthouse-devtools-mcp-bundle.js +54183 -0
  21. package/build/src/tools/ToolDefinition.js +52 -0
  22. package/build/src/tools/console.js +3 -3
  23. package/build/src/tools/emulation.js +13 -45
  24. package/build/src/tools/extensions.js +17 -0
  25. package/build/src/tools/input.js +33 -33
  26. package/build/src/tools/lighthouse.js +123 -0
  27. package/build/src/tools/memory.js +5 -5
  28. package/build/src/tools/network.js +7 -7
  29. package/build/src/tools/pages.js +32 -32
  30. package/build/src/tools/performance.js +16 -14
  31. package/build/src/tools/screencast.js +5 -5
  32. package/build/src/tools/screenshot.js +6 -6
  33. package/build/src/tools/script.js +99 -49
  34. package/build/src/tools/slim/tools.js +18 -18
  35. package/build/src/tools/snapshot.js +5 -4
  36. package/build/src/tools/tools.js +2 -0
  37. package/build/src/types.js +6 -0
  38. package/build/src/utils/files.js +19 -0
  39. package/build/src/version.js +1 -1
  40. package/package.json +11 -8
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import fs from 'node:fs/promises';
7
+ import os from 'node:os';
8
+ import path from 'node:path';
9
+ export async function saveTemporaryFile(data, filename) {
10
+ try {
11
+ const dir = await fs.mkdtemp(path.join(os.tmpdir(), 'chrome-devtools-mcp-'));
12
+ const filepath = path.join(dir, filename);
13
+ await fs.writeFile(filepath, data);
14
+ return { filepath };
15
+ }
16
+ catch (err) {
17
+ throw new Error('Could not save a file', { cause: err });
18
+ }
19
+ }
@@ -5,5 +5,5 @@
5
5
  */
6
6
  // If moved update release-please config
7
7
  // x-release-please-start-version
8
- export const VERSION = '0.18.1';
8
+ export const VERSION = '0.19.0';
9
9
  // x-release-please-end
package/package.json CHANGED
@@ -1,18 +1,19 @@
1
1
  {
2
2
  "name": "chrome-devtools-mcp",
3
- "version": "0.18.1",
3
+ "version": "0.19.0",
4
4
  "description": "MCP server for Chrome DevTools",
5
5
  "type": "module",
6
6
  "bin": "./build/src/index.js",
7
- "main": "index.js",
7
+ "main": "./build/src/server.js",
8
8
  "scripts": {
9
+ "cli:generate": "node --experimental-strip-types scripts/generate-cli.ts",
9
10
  "clean": "node -e \"require('fs').rmSync('build', {recursive: true, force: true})\"",
10
- "bundle": "npm run clean && npm run build && rollup -c rollup.config.mjs && node -e \"require('fs').rmSync('build/node_modules', {recursive: true, force: true})\"",
11
+ "bundle": "npm run clean && npm run build && rollup -c rollup.config.mjs && node -e \"require('fs').rmSync('build/node_modules', {recursive: true, force: true})\" && node --experimental-strip-types scripts/append-lighthouse-notices.ts",
11
12
  "build": "tsc && node --experimental-strip-types --no-warnings=ExperimentalWarning scripts/post-build.ts",
12
13
  "typecheck": "tsc --noEmit",
13
14
  "format": "eslint --cache --fix . && prettier --write --cache .",
14
15
  "check-format": "eslint --cache . && prettier --check --cache .;",
15
- "docs": "npm run build && npm run docs:generate && npm run format",
16
+ "gen": "npm run build && npm run docs:generate && npm run cli:generate && npm run format",
16
17
  "docs:generate": "node --experimental-strip-types scripts/generate-docs.ts",
17
18
  "start": "npm run build && node build/src/index.js",
18
19
  "start-debug": "DEBUG=mcp:* DEBUG_COLORS=false npm run build && node build/src/index.js",
@@ -22,6 +23,7 @@
22
23
  "test:update-snapshots": "npm run build && node scripts/test.mjs --test-update-snapshots",
23
24
  "prepare": "node --experimental-strip-types scripts/prepare.ts",
24
25
  "verify-server-json-version": "node --experimental-strip-types scripts/verify-server-json-version.ts",
26
+ "update-lighthouse": "node --experimental-strip-types scripts/update-lighthouse.ts",
25
27
  "verify-npm-package": "node scripts/verify-npm-package.mjs",
26
28
  "eval": "npm run build && node --experimental-strip-types scripts/eval_gemini.ts",
27
29
  "count-tokens": "node --experimental-strip-types scripts/count_tokens.ts"
@@ -42,7 +44,7 @@
42
44
  "devDependencies": {
43
45
  "@eslint/js": "^9.35.0",
44
46
  "@google/genai": "^1.37.0",
45
- "@modelcontextprotocol/sdk": "1.26.0",
47
+ "@modelcontextprotocol/sdk": "1.27.1",
46
48
  "@rollup/plugin-commonjs": "^29.0.0",
47
49
  "@rollup/plugin-json": "^6.1.0",
48
50
  "@rollup/plugin-node-resolve": "^16.0.3",
@@ -54,16 +56,17 @@
54
56
  "@types/yargs": "^17.0.33",
55
57
  "@typescript-eslint/eslint-plugin": "^8.43.0",
56
58
  "@typescript-eslint/parser": "^8.43.0",
57
- "chrome-devtools-frontend": "1.0.1587572",
59
+ "chrome-devtools-frontend": "1.0.1592362",
58
60
  "core-js": "3.48.0",
59
61
  "debug": "4.4.3",
60
62
  "eslint": "^9.35.0",
61
63
  "eslint-import-resolver-typescript": "^4.4.4",
62
64
  "eslint-plugin-import": "^2.32.0",
63
65
  "globals": "^17.0.0",
66
+ "lighthouse": "13.0.3",
64
67
  "prettier": "^3.6.2",
65
- "puppeteer": "24.37.5",
66
- "rollup": "4.58.0",
68
+ "puppeteer": "24.38.0",
69
+ "rollup": "4.59.0",
67
70
  "rollup-plugin-cleanup": "^3.2.1",
68
71
  "rollup-plugin-license": "^3.6.0",
69
72
  "sinon": "^21.0.0",