browser-debug-mcp-bridge 1.9.0 → 1.11.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 (56) hide show
  1. package/README.md +271 -188
  2. package/apps/mcp-server/dist/db/automation-repository.js +199 -0
  3. package/apps/mcp-server/dist/db/automation-repository.js.map +1 -0
  4. package/apps/mcp-server/dist/db/connection.js +1 -5
  5. package/apps/mcp-server/dist/db/connection.js.map +1 -1
  6. package/apps/mcp-server/dist/db/events-repository.js +79 -10
  7. package/apps/mcp-server/dist/db/events-repository.js.map +1 -1
  8. package/apps/mcp-server/dist/db/index.js +2 -0
  9. package/apps/mcp-server/dist/db/index.js.map +1 -1
  10. package/apps/mcp-server/dist/db/migrations.js +493 -0
  11. package/apps/mcp-server/dist/db/migrations.js.map +1 -1
  12. package/apps/mcp-server/dist/db/schema.js +192 -1
  13. package/apps/mcp-server/dist/db/schema.js.map +1 -1
  14. package/apps/mcp-server/dist/document-response-rewriter.js +196 -0
  15. package/apps/mcp-server/dist/document-response-rewriter.js.map +1 -0
  16. package/apps/mcp-server/dist/json-rewrite.js +189 -0
  17. package/apps/mcp-server/dist/json-rewrite.js.map +1 -0
  18. package/apps/mcp-server/dist/main.js +375 -4
  19. package/apps/mcp-server/dist/main.js.map +1 -1
  20. package/apps/mcp-server/dist/mcp/server.js +4168 -310
  21. package/apps/mcp-server/dist/mcp/server.js.map +1 -1
  22. package/apps/mcp-server/dist/mcp-bridge.js +46 -3
  23. package/apps/mcp-server/dist/mcp-bridge.js.map +1 -1
  24. package/apps/mcp-server/dist/next-asset-mapper.js +701 -0
  25. package/apps/mcp-server/dist/next-asset-mapper.js.map +1 -0
  26. package/apps/mcp-server/dist/next-source-override-planner.js +601 -0
  27. package/apps/mcp-server/dist/next-source-override-planner.js.map +1 -0
  28. package/apps/mcp-server/dist/override-audit-contract.js +51 -0
  29. package/apps/mcp-server/dist/override-audit-contract.js.map +1 -0
  30. package/apps/mcp-server/dist/override-audit.js +740 -0
  31. package/apps/mcp-server/dist/override-audit.js.map +1 -0
  32. package/apps/mcp-server/dist/override-capabilities.js +136 -0
  33. package/apps/mcp-server/dist/override-capabilities.js.map +1 -0
  34. package/apps/mcp-server/dist/override-observed-assets.js +179 -0
  35. package/apps/mcp-server/dist/override-observed-assets.js.map +1 -0
  36. package/apps/mcp-server/dist/override-poc.js +336 -0
  37. package/apps/mcp-server/dist/override-poc.js.map +1 -0
  38. package/apps/mcp-server/dist/override-profile-generator.js +403 -0
  39. package/apps/mcp-server/dist/override-profile-generator.js.map +1 -0
  40. package/apps/mcp-server/dist/override-response-planner.js +557 -0
  41. package/apps/mcp-server/dist/override-response-planner.js.map +1 -0
  42. package/apps/mcp-server/dist/override-rule-types.js +32 -0
  43. package/apps/mcp-server/dist/override-rule-types.js.map +1 -0
  44. package/apps/mcp-server/dist/retention.js +4 -3
  45. package/apps/mcp-server/dist/retention.js.map +1 -1
  46. package/apps/mcp-server/dist/rsc-flight-patch-safety.js +269 -0
  47. package/apps/mcp-server/dist/rsc-flight-patch-safety.js.map +1 -0
  48. package/apps/mcp-server/dist/runtime-paths.js +33 -0
  49. package/apps/mcp-server/dist/runtime-paths.js.map +1 -0
  50. package/apps/mcp-server/dist/websocket/messages.js +13 -0
  51. package/apps/mcp-server/dist/websocket/messages.js.map +1 -1
  52. package/apps/mcp-server/dist/websocket/websocket-server.js +10 -0
  53. package/apps/mcp-server/dist/websocket/websocket-server.js.map +1 -1
  54. package/apps/mcp-server/package.json +1 -0
  55. package/package.json +16 -1
  56. package/scripts/mcp-start.cjs +201 -11
@@ -1 +1 @@
1
- {"version":3,"file":"websocket-server.js","sourceRoot":"","sources":["../../src/websocket/websocket-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket-server.js","sourceRoot":"","sources":["../../src/websocket/websocket-server.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@
14
14
  "@modelcontextprotocol/sdk": "^1.27.1",
15
15
  "@types/ws": "^8.18.1",
16
16
  "better-sqlite3": "^12.6.2",
17
+ "cheerio": "^1.2.0",
17
18
  "fastify": "^5.7.4",
18
19
  "jszip": "^3.10.1",
19
20
  "ws": "^8.19.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "browser-debug-mcp-bridge",
3
- "version": "1.9.0",
3
+ "version": "1.11.0",
4
4
  "description": "Chrome Extension + Node.js MCP server for browser debugging",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -26,6 +26,10 @@
26
26
  "verify": "pnpm typecheck && pnpm lint && pnpm test && pnpm build && pnpm docs:ci && pnpm mcp:check-stdio-guard",
27
27
  "serve": "nx serve mcp-server",
28
28
  "mcp:start": "node scripts/mcp-start.cjs",
29
+ "mcp:diagnose": "node tools/mcp/diagnose-bridge.mjs",
30
+ "mcp:doctor": "node tools/mcp/diagnose-bridge.mjs",
31
+ "mcp:doctor:json": "node tools/mcp/diagnose-bridge.mjs --json",
32
+ "mcp:smoke": "node tools/mcp/diagnose-bridge.mjs --smoke",
29
33
  "build:mcp-runtime": "pnpm -C apps/mcp-server build",
30
34
  "prepack": "pnpm run build:mcp-runtime",
31
35
  "docs:dev": "nx serve docs",
@@ -67,18 +71,28 @@
67
71
  "@docusaurus/preset-classic": "^3.9.2",
68
72
  "@easyops-cn/docusaurus-search-local": "^0.55.1",
69
73
  "@mdx-js/react": "^3.1.1",
74
+ "@nx/js": "22.5.3",
75
+ "@nx/next": "22.5.3",
70
76
  "@nx/vite": "^22.5.2",
71
77
  "@playwright/test": "^1.58.2",
78
+ "@swc-node/register": "~1.11.1",
79
+ "@swc/cli": "~0.8.0",
80
+ "@swc/core": "~1.15.5",
81
+ "@swc/helpers": "~0.5.18",
72
82
  "@types/chrome": "^0.1.37",
73
83
  "@types/node": "^25.3.3",
74
84
  "@types/react": "^19.2.14",
75
85
  "@types/react-dom": "^19.2.3",
86
+ "@types/ws": "^8.18.1",
76
87
  "@vitest/coverage-v8": "^4.0.18",
77
88
  "jsdom": "^28.1.0",
78
89
  "markdownlint-cli2": "^0.21.0",
90
+ "next": "~16.0.1",
79
91
  "nx": "^22.5.3",
92
+ "prettier": "~3.6.2",
80
93
  "react": "^19.2.4",
81
94
  "react-dom": "^19.2.4",
95
+ "tslib": "^2.3.0",
82
96
  "typescript": "^5.9.3",
83
97
  "vite": "^7.3.1",
84
98
  "vitest": "^4.0.18"
@@ -86,6 +100,7 @@
86
100
  "dependencies": {
87
101
  "@modelcontextprotocol/sdk": "^1.27.1",
88
102
  "better-sqlite3": "^12.6.2",
103
+ "cheerio": "^1.2.0",
89
104
  "fastify": "^5.7.4",
90
105
  "jszip": "^3.10.1",
91
106
  "tsx": "^4.21.0",
@@ -5,8 +5,10 @@ const { dirname, join, resolve } = require('node:path');
5
5
  const { createRequire } = require('node:module');
6
6
  const net = require('node:net');
7
7
  const http = require('node:http');
8
+ const { homedir } = require('node:os');
8
9
 
9
10
  const repoRoot = resolve(__dirname, '..');
11
+ const runtimeDirName = 'browser-debug-mcp-bridge';
10
12
  const packageJson = join(repoRoot, 'package.json');
11
13
  const mcpBridgeDistEntry = join(repoRoot, 'apps', 'mcp-server', 'dist', 'mcp-bridge.js');
12
14
  const mainServerDistEntry = join(repoRoot, 'apps', 'mcp-server', 'dist', 'main.js');
@@ -22,10 +24,45 @@ const localRequire = createRequire(join(repoRoot, 'package.json'));
22
24
  const supportsColor = Boolean(process.stderr.isTTY) && !process.env.NO_COLOR;
23
25
  const greenBackground = '\x1b[42m\x1b[30m';
24
26
  const ansiReset = '\x1b[0m';
25
- const launchLockPath = join(process.env.DATA_DIR ? resolve(process.env.DATA_DIR) : join(repoRoot, 'data'), '.mcp-start.lock');
27
+ const resolvedDataDir = resolveRuntimeDataDir();
28
+ const launchLockPath = join(resolvedDataDir, '.mcp-start.lock');
26
29
 
27
30
  let launchLockHeld = false;
28
31
 
32
+ function resolveRuntimeDataDir() {
33
+ const explicitDataDir = process.env.DATA_DIR && process.env.DATA_DIR.trim();
34
+ if (explicitDataDir) {
35
+ return resolve(explicitDataDir);
36
+ }
37
+
38
+ const home = process.env.HOME || homedir();
39
+
40
+ if (process.platform === 'win32') {
41
+ const appDataRoot = process.env.LOCALAPPDATA || process.env.APPDATA;
42
+ if (appDataRoot) {
43
+ return resolve(appDataRoot, runtimeDirName);
44
+ }
45
+ }
46
+
47
+ if (process.platform === 'darwin' && home) {
48
+ return resolve(home, 'Library', 'Application Support', runtimeDirName);
49
+ }
50
+
51
+ if (process.env.XDG_STATE_HOME) {
52
+ return resolve(process.env.XDG_STATE_HOME, runtimeDirName);
53
+ }
54
+
55
+ if (process.env.XDG_DATA_HOME) {
56
+ return resolve(process.env.XDG_DATA_HOME, runtimeDirName);
57
+ }
58
+
59
+ if (home) {
60
+ return resolve(home, '.local', 'share', runtimeDirName);
61
+ }
62
+
63
+ return resolve(process.cwd(), '.browser-debug-mcp-bridge');
64
+ }
65
+
29
66
  function resolveRuntimePath(specifier) {
30
67
  try {
31
68
  return localRequire.resolve(specifier);
@@ -181,6 +218,115 @@ function releaseLaunchLock(lockPath) {
181
218
  }
182
219
  }
183
220
 
221
+ function clearLaunchLockForPid(lockPath, pid) {
222
+ if (!Number.isInteger(pid) || pid <= 0) {
223
+ return;
224
+ }
225
+
226
+ try {
227
+ const existing = readLaunchLock(lockPath);
228
+ const lockPid = Number(existing && existing.pid);
229
+ if (lockPid !== pid) {
230
+ return;
231
+ }
232
+ unlinkSync(lockPath);
233
+ } catch (error) {
234
+ if (error && error.code !== 'ENOENT') {
235
+ process.stderr.write(`[mcp-start] Warning: failed to clear startup lock ${lockPath}.\n`);
236
+ }
237
+ }
238
+ }
239
+
240
+ function isStandaloneLauncherCommand(command) {
241
+ const normalized = String(command || '').toLowerCase();
242
+ return (
243
+ (normalized.includes('scripts\\mcp-start.cjs') || normalized.includes('scripts/mcp-start.cjs'))
244
+ && normalized.includes('--standalone')
245
+ );
246
+ }
247
+
248
+ async function tryRecoverLockedStandaloneForMcpStdio(lockPath) {
249
+ if (standalone || dryRun || stopRequested) {
250
+ return false;
251
+ }
252
+
253
+ const existing = readLaunchLock(lockPath);
254
+ const lockPid = Number(existing && existing.pid);
255
+ if (!Number.isInteger(lockPid) || lockPid <= 0 || lockPid === process.pid) {
256
+ return false;
257
+ }
258
+
259
+ if (!isProcessAlive(lockPid) || !isStandaloneLauncherCommand(existing && existing.command)) {
260
+ return false;
261
+ }
262
+
263
+ process.stderr.write(
264
+ `[mcp-start] Replacing running standalone launcher (pid ${lockPid}) so MCP stdio can own the bridge runtime.\n`,
265
+ );
266
+
267
+ if (!terminateProcess(lockPid)) {
268
+ process.stderr.write(`[mcp-start] Failed to terminate standalone launcher ${lockPid}.\n`);
269
+ process.exit(1);
270
+ }
271
+
272
+ for (let attempt = 0; attempt < 20; attempt++) {
273
+ await delay(200);
274
+ if (!isProcessAlive(lockPid)) {
275
+ break;
276
+ }
277
+ }
278
+
279
+ if (isProcessAlive(lockPid)) {
280
+ process.stderr.write(
281
+ `[mcp-start] Standalone launcher ${lockPid} did not exit after termination request.\n`,
282
+ );
283
+ process.exit(1);
284
+ }
285
+
286
+ clearLaunchLockForPid(lockPath, lockPid);
287
+ return true;
288
+ }
289
+
290
+ async function tryReplaceExistingBridgeForMcpStdio(port) {
291
+ if (standalone || dryRun || stopRequested) {
292
+ return false;
293
+ }
294
+
295
+ const endpointLooksLikeBridge = await isBridgeHttpEndpoint(port);
296
+ if (!endpointLooksLikeBridge) {
297
+ return false;
298
+ }
299
+
300
+ const listenerPids = getListeningPids(port).filter((pid) => pid !== process.pid);
301
+ if (listenerPids.length === 0) {
302
+ return false;
303
+ }
304
+
305
+ process.stderr.write(
306
+ `[mcp-start] Replacing existing Browser Debug MCP Bridge listener(s) on port ${port} so MCP stdio can own the runtime.\n`,
307
+ );
308
+
309
+ for (const pid of listenerPids) {
310
+ if (!terminateProcess(pid)) {
311
+ process.stderr.write(`[mcp-start] Failed to terminate bridge listener ${pid} on port ${port}.\n`);
312
+ process.exit(1);
313
+ }
314
+ }
315
+
316
+ for (let attempt = 0; attempt < 20; attempt++) {
317
+ await delay(200);
318
+ const inUse = await isPortInUse(port);
319
+ if (!inUse) {
320
+ return true;
321
+ }
322
+ }
323
+
324
+ process.stderr.write(
325
+ `[mcp-start] Existing bridge listeners stopped, but port ${port} is still in use.\n`,
326
+ );
327
+ process.exit(1);
328
+ }
329
+
184
330
  function getStartupTimeoutMs() {
185
331
  const timeoutMs = Number(process.env.MCP_STARTUP_TIMEOUT_MS || '15000');
186
332
  if (!Number.isFinite(timeoutMs) || timeoutMs < 1000) {
@@ -264,7 +410,7 @@ function getWindowsProcessCommandLine(pid) {
264
410
  const result = spawnSync(
265
411
  'powershell.exe',
266
412
  ['-NoProfile', '-Command', `(Get-CimInstance Win32_Process -Filter "ProcessId = ${pid}").CommandLine`],
267
- { encoding: 'utf8' },
413
+ { encoding: 'utf8', timeout: 2000 },
268
414
  );
269
415
 
270
416
  if (result.status !== 0) {
@@ -285,7 +431,16 @@ function isLikelyBridgeCommandLine(commandLine) {
285
431
  }
286
432
 
287
433
  function killWindowsProcess(pid) {
288
- const result = spawnSync('taskkill', ['/PID', String(pid), '/T', '/F'], { encoding: 'utf8' });
434
+ const stopResult = spawnSync(
435
+ 'powershell.exe',
436
+ ['-NoProfile', '-Command', `Stop-Process -Id ${pid} -Force`],
437
+ { encoding: 'utf8', timeout: 5000 },
438
+ );
439
+ if (stopResult.status === 0) {
440
+ return true;
441
+ }
442
+
443
+ const result = spawnSync('taskkill', ['/PID', String(pid), '/T', '/F'], { encoding: 'utf8', timeout: 5000 });
289
444
  return result.status === 0;
290
445
  }
291
446
 
@@ -477,6 +632,7 @@ if (!existsSync(packageJson)) {
477
632
  }
478
633
 
479
634
  async function spawnRuntime(runtime, port) {
635
+ const attachExistingBridge = !standalone && process.env.MCP_ATTACH_EXISTING_BRIDGE === '1';
480
636
  const nxTarget = standalone ? 'mcp-server:serve' : 'mcp-server:serve-mcp';
481
637
  const entryScript =
482
638
  runtime === 'dist'
@@ -506,14 +662,24 @@ async function spawnRuntime(runtime, port) {
506
662
  nxBin.endsWith('.cmd') ? ['run', nxTarget] : [nxBin, 'run', nxTarget],
507
663
  {
508
664
  cwd: repoRoot,
509
- env: { ...process.env },
665
+ env: {
666
+ ...process.env,
667
+ DATA_DIR: resolvedDataDir,
668
+ MCP_ATTACH_EXISTING_BRIDGE: attachExistingBridge ? '1' : '',
669
+ MCP_ATTACH_HTTP_BASE_URL: `http://127.0.0.1:${port}`,
670
+ },
510
671
  stdio: 'inherit',
511
672
  },
512
673
  )
513
674
  : runtime === 'dist'
514
675
  ? spawn(process.execPath, [entryScript], {
515
676
  cwd: repoRoot,
516
- env: { ...process.env },
677
+ env: {
678
+ ...process.env,
679
+ DATA_DIR: resolvedDataDir,
680
+ MCP_ATTACH_EXISTING_BRIDGE: attachExistingBridge ? '1' : '',
681
+ MCP_ATTACH_HTTP_BASE_URL: `http://127.0.0.1:${port}`,
682
+ },
517
683
  stdio: 'inherit',
518
684
  })
519
685
  : spawn(
@@ -521,7 +687,12 @@ async function spawnRuntime(runtime, port) {
521
687
  tsxCli.endsWith('.cmd') ? [entryScript] : [tsxCli, entryScript],
522
688
  {
523
689
  cwd: repoRoot,
524
- env: { ...process.env },
690
+ env: {
691
+ ...process.env,
692
+ DATA_DIR: resolvedDataDir,
693
+ MCP_ATTACH_EXISTING_BRIDGE: attachExistingBridge ? '1' : '',
694
+ MCP_ATTACH_HTTP_BASE_URL: `http://127.0.0.1:${port}`,
695
+ },
525
696
  stdio: 'inherit',
526
697
  },
527
698
  );
@@ -604,7 +775,9 @@ async function spawnRuntime(runtime, port) {
604
775
  startupFinished = true;
605
776
  const startedMessage = standalone
606
777
  ? `[mcp-start] Started Browser Debug MCP Bridge (runtime: ${runtime}, mode: standalone). Keep this terminal open.`
607
- : `[mcp-start] Started Browser Debug MCP Bridge (runtime: ${runtime}, mode: mcp-stdio).`;
778
+ : attachExistingBridge
779
+ ? `[mcp-start] Attached MCP stdio to existing Browser Debug MCP Bridge (runtime: ${runtime}, mode: attach).`
780
+ : `[mcp-start] Started Browser Debug MCP Bridge (runtime: ${runtime}, mode: mcp-stdio).`;
608
781
  process.stderr.write(`${supportsColor ? `${greenBackground}${startedMessage}${ansiReset}` : startedMessage}\n`);
609
782
  if (!standalone && process.stdin.isTTY) {
610
783
  process.stderr.write(
@@ -612,6 +785,13 @@ async function spawnRuntime(runtime, port) {
612
785
  'Use --standalone for manual keep-alive testing.\n',
613
786
  );
614
787
  }
788
+
789
+ if (standalone) {
790
+ await new Promise((resolve) => {
791
+ child.once('exit', () => resolve());
792
+ child.once('close', () => resolve());
793
+ });
794
+ }
615
795
  }
616
796
 
617
797
  async function main() {
@@ -626,12 +806,22 @@ async function main() {
626
806
  return;
627
807
  }
628
808
 
629
- if (!dryRun) {
630
- acquireLaunchLock(launchLockPath);
631
- process.on('exit', () => releaseLaunchLock(launchLockPath));
809
+ let attachExistingBridge = false;
810
+ if (!standalone && !dryRun) {
811
+ attachExistingBridge = await isBridgeHttpEndpoint(port);
812
+ if (attachExistingBridge) {
813
+ process.env.MCP_ATTACH_EXISTING_BRIDGE = '1';
814
+ process.stderr.write(
815
+ `[mcp-start] Found existing Browser Debug MCP Bridge on port ${port}; attaching MCP stdio instead of replacing it.\n`,
816
+ );
817
+ }
632
818
  }
633
819
 
634
- if (Number.isFinite(port)) {
820
+ if (!dryRun && !attachExistingBridge) {
821
+ await tryRecoverLockedStandaloneForMcpStdio(launchLockPath);
822
+ await tryReplaceExistingBridgeForMcpStdio(port);
823
+ acquireLaunchLock(launchLockPath);
824
+ process.on('exit', () => releaseLaunchLock(launchLockPath));
635
825
  let inUse = await isPortInUse(port);
636
826
  if (inUse) {
637
827
  const recovered = await tryRecoverStaleBridgeOnWindowsPort(port);