chrome-devtools-mcp-for-extension 0.8.4 → 0.8.6

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.
@@ -39,7 +39,10 @@ export const listExtensions = defineTool({
39
39
  const description = shadowRoot.querySelector('#description')?.textContent?.trim() ||
40
40
  '';
41
41
  const version = shadowRoot.querySelector('#version')?.textContent?.trim() || '';
42
- const enableToggle = shadowRoot.querySelector('#enable-toggle');
42
+ let enableToggle = shadowRoot.querySelector('#enable-toggle');
43
+ if (!enableToggle) {
44
+ enableToggle = shadowRoot.querySelector('cr-toggle');
45
+ }
43
46
  const enabled = enableToggle?.getAttribute('checked') === '';
44
47
  const id = card.getAttribute('id') || 'unknown';
45
48
  const errorsBadge = shadowRoot.querySelector('#errors-button .badge');
@@ -113,7 +116,10 @@ export const getExtensionInfo = defineTool({
113
116
  const description = shadowRoot.querySelector('#description')?.textContent?.trim() ||
114
117
  '';
115
118
  const version = shadowRoot.querySelector('#version')?.textContent?.trim() || '';
116
- const enableToggle = shadowRoot.querySelector('#enable-toggle');
119
+ let enableToggle = shadowRoot.querySelector('#enable-toggle');
120
+ if (!enableToggle) {
121
+ enableToggle = shadowRoot.querySelector('cr-toggle');
122
+ }
117
123
  const enabled = enableToggle?.getAttribute('checked') === '';
118
124
  const id = card.getAttribute('id') || 'unknown';
119
125
  const errorsBadge = shadowRoot.querySelector('#errors-button .badge');
@@ -227,7 +233,10 @@ export const reloadExtension = defineTool({
227
233
  const name = shadowRoot.querySelector('#name')?.textContent?.trim() || '';
228
234
  if (name.toLowerCase().includes(searchName.toLowerCase())) {
229
235
  const version = shadowRoot.querySelector('#version')?.textContent?.trim() || '';
230
- const enableToggle = shadowRoot.querySelector('#enable-toggle');
236
+ let enableToggle = shadowRoot.querySelector('#enable-toggle');
237
+ if (!enableToggle) {
238
+ enableToggle = shadowRoot.querySelector('cr-toggle');
239
+ }
231
240
  const enabled = enableToggle?.getAttribute('checked') === '';
232
241
  const id = card.getAttribute('id') || 'unknown';
233
242
  return {
@@ -268,7 +277,15 @@ export const reloadExtension = defineTool({
268
277
  if (shadowRoot) {
269
278
  const name = shadowRoot.querySelector('#name')?.textContent?.trim() || '';
270
279
  if (name.toLowerCase().includes(searchName.toLowerCase())) {
271
- const reloadButton = shadowRoot.querySelector('#reload-button');
280
+ // Try multiple selectors for reload button
281
+ let reloadButton = shadowRoot.querySelector('#reload-button');
282
+ if (!reloadButton) {
283
+ reloadButton = shadowRoot.querySelector('cr-icon-button[id="reload-button"]');
284
+ }
285
+ if (!reloadButton) {
286
+ // Try finding by aria-label or title
287
+ reloadButton = shadowRoot.querySelector('[aria-label*="Reload"]');
288
+ }
272
289
  if (reloadButton && !reloadButton.hasAttribute('hidden')) {
273
290
  reloadButton.click();
274
291
  return { success: true };
@@ -276,7 +293,7 @@ export const reloadExtension = defineTool({
276
293
  else {
277
294
  return {
278
295
  success: false,
279
- reason: 'Reload button not available (extension not in developer mode)',
296
+ reason: 'Reload button not available (extension not in developer mode or button hidden)',
280
297
  };
281
298
  }
282
299
  }
@@ -372,7 +389,11 @@ export const toggleExtensionState = defineTool({
372
389
  if (shadowRoot) {
373
390
  const name = shadowRoot.querySelector('#name')?.textContent?.trim() || '';
374
391
  if (name.toLowerCase().includes(searchName.toLowerCase())) {
375
- const enableToggle = shadowRoot.querySelector('#enable-toggle');
392
+ // Try both selectors: #enable-toggle (older Chrome) and cr-toggle (newer Chrome)
393
+ let enableToggle = shadowRoot.querySelector('#enable-toggle');
394
+ if (!enableToggle) {
395
+ enableToggle = shadowRoot.querySelector('cr-toggle');
396
+ }
376
397
  const currentEnabled = enableToggle?.getAttribute('checked') === '';
377
398
  // Check if already in desired state
378
399
  if (currentEnabled === targetEnabled) {
@@ -397,7 +418,7 @@ export const toggleExtensionState = defineTool({
397
418
  else {
398
419
  return {
399
420
  success: false,
400
- reason: 'Enable/disable toggle not found',
421
+ reason: 'Enable/disable toggle not found (tried #enable-toggle and cr-toggle)',
401
422
  };
402
423
  }
403
424
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chrome-devtools-mcp-for-extension",
3
- "version": "0.8.4",
3
+ "version": "0.8.6",
4
4
  "description": "MCP server for Chrome extension development with Web Store automation. Fork of chrome-devtools-mcp with extension-specific tools.",
5
5
  "type": "module",
6
6
  "bin": "./build/src/index.js",