@eddym06/custom-chrome-mcp 1.0.2

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/.npmrc.example +2 -0
  2. package/CHANGELOG.md +87 -0
  3. package/INSTALL.md +148 -0
  4. package/LICENSE +21 -0
  5. package/README.md +403 -0
  6. package/dist/chrome-connector.d.ts +116 -0
  7. package/dist/chrome-connector.d.ts.map +1 -0
  8. package/dist/chrome-connector.js +452 -0
  9. package/dist/chrome-connector.js.map +1 -0
  10. package/dist/index.d.ts +7 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +211 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/tools/anti-detection.d.ts +22 -0
  15. package/dist/tools/anti-detection.d.ts.map +1 -0
  16. package/dist/tools/anti-detection.js +220 -0
  17. package/dist/tools/anti-detection.js.map +1 -0
  18. package/dist/tools/capture.d.ts +130 -0
  19. package/dist/tools/capture.d.ts.map +1 -0
  20. package/dist/tools/capture.js +164 -0
  21. package/dist/tools/capture.js.map +1 -0
  22. package/dist/tools/interaction.d.ts +173 -0
  23. package/dist/tools/interaction.d.ts.map +1 -0
  24. package/dist/tools/interaction.js +274 -0
  25. package/dist/tools/interaction.js.map +1 -0
  26. package/dist/tools/navigation.d.ts +82 -0
  27. package/dist/tools/navigation.d.ts.map +1 -0
  28. package/dist/tools/navigation.js +196 -0
  29. package/dist/tools/navigation.js.map +1 -0
  30. package/dist/tools/playwright-launcher.d.ts +53 -0
  31. package/dist/tools/playwright-launcher.d.ts.map +1 -0
  32. package/dist/tools/playwright-launcher.js +117 -0
  33. package/dist/tools/playwright-launcher.js.map +1 -0
  34. package/dist/tools/service-worker.d.ts +128 -0
  35. package/dist/tools/service-worker.d.ts.map +1 -0
  36. package/dist/tools/service-worker.js +355 -0
  37. package/dist/tools/service-worker.js.map +1 -0
  38. package/dist/tools/session.d.ts +54 -0
  39. package/dist/tools/session.d.ts.map +1 -0
  40. package/dist/tools/session.js +311 -0
  41. package/dist/tools/session.js.map +1 -0
  42. package/dist/tools/system.d.ts +159 -0
  43. package/dist/tools/system.d.ts.map +1 -0
  44. package/dist/tools/system.js +252 -0
  45. package/dist/tools/system.js.map +1 -0
  46. package/dist/types/index.d.ts +75 -0
  47. package/dist/types/index.d.ts.map +1 -0
  48. package/dist/types/index.js +5 -0
  49. package/dist/types/index.js.map +1 -0
  50. package/dist/utils/helpers.d.ts +53 -0
  51. package/dist/utils/helpers.d.ts.map +1 -0
  52. package/dist/utils/helpers.js +122 -0
  53. package/dist/utils/helpers.js.map +1 -0
  54. package/mcp-config-example.json +12 -0
  55. package/package.json +61 -0
  56. package/test-playwright.js +57 -0
@@ -0,0 +1,355 @@
1
+ /**
2
+ * Service Worker Management Tools
3
+ */
4
+ import { z } from 'zod';
5
+ export function createServiceWorkerTools(connector) {
6
+ return [
7
+ // List all service workers
8
+ {
9
+ name: 'list_service_workers',
10
+ description: 'List all registered service workers',
11
+ inputSchema: z.object({
12
+ tabId: z.string().optional().describe('Tab ID (optional)')
13
+ }),
14
+ handler: async ({ tabId }) => {
15
+ const client = await connector.getTabClient(tabId);
16
+ const { Runtime } = client;
17
+ await Runtime.enable();
18
+ // Use JavaScript to query service workers
19
+ const result = await Runtime.evaluate({
20
+ expression: `
21
+ (async () => {
22
+ const registrations = await navigator.serviceWorker.getRegistrations();
23
+ return registrations.map(reg => ({
24
+ scope: reg.scope,
25
+ scriptURL: reg.active ? reg.active.scriptURL : null,
26
+ state: reg.active ? reg.active.state : 'none',
27
+ installing: reg.installing ? reg.installing.scriptURL : null,
28
+ waiting: reg.waiting ? reg.waiting.scriptURL : null
29
+ }));
30
+ })()
31
+ `,
32
+ awaitPromise: true,
33
+ returnByValue: true
34
+ });
35
+ const workers = result.result.value || [];
36
+ return {
37
+ success: true,
38
+ count: workers.length,
39
+ workers
40
+ };
41
+ }
42
+ },
43
+ // Inspect service worker console logs
44
+ {
45
+ name: 'inspect_service_worker_logs',
46
+ description: 'Get recent console logs from a specific Service Worker Target. Generates test logs and captures them in real-time.',
47
+ inputSchema: z.object({
48
+ targetId: z.string().describe('The Target ID of the service worker (from list_tabs)'),
49
+ executeTestLogs: z.boolean().optional().default(true).describe('Whether to execute test console.log statements to verify capture (default: true)'),
50
+ captureTimeMs: z.number().optional().default(3000).describe('How long to listen for logs in milliseconds (default: 3000)')
51
+ }),
52
+ handler: async ({ targetId, executeTestLogs = true, captureTimeMs = 3000 }) => {
53
+ // Connect directly to the specific target
54
+ const client = await connector.getTabClient(targetId);
55
+ const { Runtime, Log } = client;
56
+ await Runtime.enable();
57
+ await Log.enable();
58
+ // Collect logs from BOTH Runtime and Log domains for better coverage
59
+ const logs = [];
60
+ // Listen to Runtime.consoleAPICalled (for console.log/warn/error)
61
+ client.on('Runtime.consoleAPICalled', (params) => {
62
+ try {
63
+ const message = params.args.map((a) => {
64
+ if (a.value !== undefined)
65
+ return String(a.value);
66
+ if (a.description)
67
+ return a.description;
68
+ if (a.preview?.properties) {
69
+ return JSON.stringify(Object.fromEntries(a.preview.properties.map((p) => [p.name, p.value])));
70
+ }
71
+ return '[Complex Object]';
72
+ }).join(' ');
73
+ logs.push({
74
+ time: new Date().toISOString(),
75
+ source: 'Runtime.consoleAPICalled',
76
+ type: params.type || 'log',
77
+ message
78
+ });
79
+ }
80
+ catch (e) {
81
+ logs.push({
82
+ time: new Date().toISOString(),
83
+ source: 'Runtime.consoleAPICalled',
84
+ type: 'error',
85
+ message: `Failed to parse console args: ${e}`
86
+ });
87
+ }
88
+ });
89
+ // Listen to Log.entryAdded (alternative logging mechanism)
90
+ client.on('Log.entryAdded', (params) => {
91
+ logs.push({
92
+ time: new Date(params.entry.timestamp).toISOString(),
93
+ source: 'Log.entryAdded',
94
+ type: params.entry.level || 'info',
95
+ message: params.entry.text || params.entry.url || 'Unknown log'
96
+ });
97
+ });
98
+ // Get initial status
99
+ const evalResult = await Runtime.evaluate({
100
+ expression: `(function() {
101
+ return {
102
+ userAgent: navigator.userAgent,
103
+ time: new Date().toISOString(),
104
+ location: self.location.href,
105
+ serviceWorker: {
106
+ state: self.serviceWorker ? self.serviceWorker.state : 'unknown'
107
+ }
108
+ };
109
+ })()`,
110
+ returnByValue: true
111
+ });
112
+ // Execute test logs if requested (AFTER listeners are set up)
113
+ if (executeTestLogs) {
114
+ await Runtime.evaluate({
115
+ expression: `
116
+ console.log('🔍 [MCP Test 1] Service Worker Log Capture Test');
117
+ console.warn('⚠️ [MCP Test 2] Warning level test');
118
+ console.error('❌ [MCP Test 3] Error level test');
119
+ console.log('✅ [MCP Test 4] Capture timestamp:', new Date().toISOString());
120
+ `,
121
+ awaitPromise: false
122
+ });
123
+ }
124
+ // Wait to capture logs
125
+ await new Promise(r => setTimeout(r, captureTimeMs));
126
+ return {
127
+ success: true,
128
+ targetId,
129
+ status: evalResult.result.value,
130
+ capturedLogs: logs.length > 0 ? logs : [],
131
+ summary: {
132
+ totalCaptured: logs.length,
133
+ byType: logs.reduce((acc, log) => {
134
+ acc[log.type] = (acc[log.type] || 0) + 1;
135
+ return acc;
136
+ }, {}),
137
+ bySource: logs.reduce((acc, log) => {
138
+ acc[log.source] = (acc[log.source] || 0) + 1;
139
+ return acc;
140
+ }, {})
141
+ },
142
+ note: logs.length === 0 ?
143
+ "No logs captured. Service Worker extensions may have limited console.log emission via CDP. Try using Log.entryAdded or check Chrome DevTools directly." :
144
+ `Successfully captured ${logs.length} log entries`
145
+ };
146
+ }
147
+ },
148
+ // Get service worker details
149
+ {
150
+ name: 'get_service_worker',
151
+ description: 'Get detailed information about a specific service worker',
152
+ inputSchema: z.object({
153
+ versionId: z.string().describe('Service worker version ID'),
154
+ tabId: z.string().optional().describe('Tab ID (optional)')
155
+ }),
156
+ handler: async ({ versionId, tabId }) => {
157
+ const client = await connector.getTabClient(tabId);
158
+ const { ServiceWorker } = client;
159
+ await ServiceWorker.enable();
160
+ const { registrations } = await ServiceWorker.getRegistrations();
161
+ const worker = registrations.find((r) => r.versionId === versionId);
162
+ if (!worker) {
163
+ throw new Error(`Service worker not found: ${versionId}`);
164
+ }
165
+ return {
166
+ success: true,
167
+ worker: {
168
+ registrationId: worker.registrationId,
169
+ scopeURL: worker.scopeURL,
170
+ scriptURL: worker.scriptURL,
171
+ status: worker.status,
172
+ versionId: worker.versionId,
173
+ runningStatus: worker.runningStatus
174
+ }
175
+ };
176
+ }
177
+ },
178
+ // Unregister service worker
179
+ {
180
+ name: 'unregister_service_worker',
181
+ description: 'Unregister a service worker by scope URL',
182
+ inputSchema: z.object({
183
+ scopeURL: z.string().describe('Scope URL of the service worker to unregister'),
184
+ tabId: z.string().optional().describe('Tab ID (optional)')
185
+ }),
186
+ handler: async ({ scopeURL, tabId }) => {
187
+ const client = await connector.getTabClient(tabId);
188
+ const { Runtime } = client;
189
+ await Runtime.enable();
190
+ const result = await Runtime.evaluate({
191
+ expression: `
192
+ (async () => {
193
+ const registrations = await navigator.serviceWorker.getRegistrations();
194
+ const reg = registrations.find(r => r.scope === '${scopeURL}');
195
+ if (reg) {
196
+ const unregistered = await reg.unregister();
197
+ return { success: unregistered };
198
+ }
199
+ return { success: false, error: 'Not found' };
200
+ })()
201
+ `,
202
+ awaitPromise: true,
203
+ returnByValue: true
204
+ });
205
+ return {
206
+ success: result.result.value.success,
207
+ message: `Service worker unregister ${result.result.value.success ? 'successful' : 'failed'}: ${scopeURL}`
208
+ };
209
+ }
210
+ },
211
+ // Update service worker
212
+ {
213
+ name: 'update_service_worker',
214
+ description: 'Force update a service worker registration',
215
+ inputSchema: z.object({
216
+ scopeURL: z.string().describe('Scope URL of the service worker to update'),
217
+ tabId: z.string().optional().describe('Tab ID (optional)')
218
+ }),
219
+ handler: async ({ scopeURL, tabId }) => {
220
+ const client = await connector.getTabClient(tabId);
221
+ const { Runtime } = client;
222
+ await Runtime.enable();
223
+ const result = await Runtime.evaluate({
224
+ expression: `
225
+ (async () => {
226
+ const registrations = await navigator.serviceWorker.getRegistrations();
227
+ const reg = registrations.find(r => r.scope === '${scopeURL}');
228
+ if (reg) {
229
+ await reg.update();
230
+ return { success: true };
231
+ }
232
+ return { success: false, error: 'Not found' };
233
+ })()
234
+ `,
235
+ awaitPromise: true,
236
+ returnByValue: true
237
+ });
238
+ return {
239
+ success: result.result.value.success,
240
+ message: `Service worker update triggered: ${scopeURL}`
241
+ };
242
+ }
243
+ },
244
+ // Start service worker
245
+ {
246
+ name: 'start_service_worker',
247
+ description: 'Start a service worker',
248
+ inputSchema: z.object({
249
+ scopeURL: z.string().describe('Scope URL of the service worker to start'),
250
+ tabId: z.string().optional().describe('Tab ID (optional)')
251
+ }),
252
+ handler: async ({ scopeURL, tabId }) => {
253
+ const client = await connector.getTabClient(tabId);
254
+ const { ServiceWorker } = client;
255
+ await ServiceWorker.enable();
256
+ await ServiceWorker.startWorker({ scopeURL });
257
+ return {
258
+ success: true,
259
+ message: `Service worker started: ${scopeURL}`
260
+ };
261
+ }
262
+ },
263
+ // Stop service worker
264
+ {
265
+ name: 'stop_service_worker',
266
+ description: 'Stop a running service worker',
267
+ inputSchema: z.object({
268
+ versionId: z.string().describe('Version ID of the service worker to stop'),
269
+ tabId: z.string().optional().describe('Tab ID (optional)')
270
+ }),
271
+ handler: async ({ versionId, tabId }) => {
272
+ const client = await connector.getTabClient(tabId);
273
+ const { ServiceWorker } = client;
274
+ await ServiceWorker.enable();
275
+ await ServiceWorker.stopWorker({ versionId });
276
+ return {
277
+ success: true,
278
+ message: `Service worker stopped: ${versionId}`
279
+ };
280
+ }
281
+ },
282
+ // Inspect service worker
283
+ {
284
+ name: 'inspect_service_worker',
285
+ description: 'Open DevTools for a service worker',
286
+ inputSchema: z.object({
287
+ versionId: z.string().describe('Version ID of the service worker to inspect'),
288
+ tabId: z.string().optional().describe('Tab ID (optional)')
289
+ }),
290
+ handler: async ({ versionId, tabId }) => {
291
+ const client = await connector.getTabClient(tabId);
292
+ const { ServiceWorker } = client;
293
+ await ServiceWorker.enable();
294
+ await ServiceWorker.inspectWorker({ versionId });
295
+ return {
296
+ success: true,
297
+ message: `DevTools opened for service worker: ${versionId}`
298
+ };
299
+ }
300
+ },
301
+ // Skip waiting
302
+ {
303
+ name: 'skip_waiting',
304
+ description: 'Skip waiting phase for a service worker',
305
+ inputSchema: z.object({
306
+ scopeURL: z.string().describe('Scope URL of the service worker'),
307
+ tabId: z.string().optional().describe('Tab ID (optional)')
308
+ }),
309
+ handler: async ({ scopeURL, tabId }) => {
310
+ const client = await connector.getTabClient(tabId);
311
+ const { ServiceWorker } = client;
312
+ await ServiceWorker.enable();
313
+ await ServiceWorker.skipWaiting({ scopeURL });
314
+ return {
315
+ success: true,
316
+ message: `Skip waiting triggered for: ${scopeURL}`
317
+ };
318
+ }
319
+ },
320
+ // Get service worker cache names
321
+ {
322
+ name: 'get_sw_caches',
323
+ description: 'Get cache names used by service workers',
324
+ inputSchema: z.object({
325
+ tabId: z.string().optional().describe('Tab ID (optional)')
326
+ }),
327
+ handler: async ({ tabId }) => {
328
+ const client = await connector.getTabClient(tabId);
329
+ const { CacheStorage } = client;
330
+ const { caches } = await CacheStorage.requestCacheNames({
331
+ securityOrigin: await getCurrentOrigin(client)
332
+ });
333
+ return {
334
+ success: true,
335
+ count: caches.length,
336
+ caches: caches.map((c) => ({
337
+ securityOrigin: c.securityOrigin,
338
+ cacheName: c.cacheName,
339
+ cacheId: c.cacheId
340
+ }))
341
+ };
342
+ }
343
+ }
344
+ ];
345
+ }
346
+ // Helper function to get current origin
347
+ async function getCurrentOrigin(client) {
348
+ const { Runtime } = client;
349
+ await Runtime.enable();
350
+ const result = await Runtime.evaluate({
351
+ expression: 'window.location.origin'
352
+ });
353
+ return result.result.value;
354
+ }
355
+ //# sourceMappingURL=service-worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-worker.js","sourceRoot":"","sources":["../../src/tools/service-worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Cookie and Session Management Tools
3
+ */
4
+ import { z } from 'zod';
5
+ import type { ChromeConnector } from '../chrome-connector.js';
6
+ export declare function createSessionTools(connector: ChromeConnector): ({
7
+ name: string;
8
+ description: string;
9
+ inputSchema: z.ZodObject<{
10
+ url: z.ZodOptional<z.ZodString>;
11
+ tabId: z.ZodOptional<z.ZodString>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ url?: string | undefined;
14
+ tabId?: string | undefined;
15
+ }, {
16
+ url?: string | undefined;
17
+ tabId?: string | undefined;
18
+ }>;
19
+ handler: ({ url, tabId }: any) => Promise<{
20
+ success: boolean;
21
+ count: any;
22
+ cookies: any;
23
+ }>;
24
+ } | {
25
+ name: string;
26
+ description: string;
27
+ inputSchema: z.ZodObject<{
28
+ tabId: z.ZodOptional<z.ZodString>;
29
+ }, "strip", z.ZodTypeAny, {
30
+ tabId?: string | undefined;
31
+ }, {
32
+ tabId?: string | undefined;
33
+ }>;
34
+ handler: ({ tabId }: any) => Promise<{
35
+ success: boolean;
36
+ count: number;
37
+ storage: any;
38
+ }>;
39
+ } | {
40
+ name: string;
41
+ description: string;
42
+ inputSchema: z.ZodObject<{
43
+ tabId: z.ZodOptional<z.ZodString>;
44
+ }, "strip", z.ZodTypeAny, {
45
+ tabId?: string | undefined;
46
+ }, {
47
+ tabId?: string | undefined;
48
+ }>;
49
+ handler: ({ tabId }: any) => Promise<{
50
+ success: boolean;
51
+ message: string;
52
+ }>;
53
+ })[];
54
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,eAAe;;;;;;;;;;;;;8BAUvB,GAAG;;;;;;;;;;;;;;;yBAwKR,GAAG;;;;;;;;;;;;;;;yBAsDH,GAAG;;;;KAsHnC"}