@eddym06/custom-chrome-mcp 1.0.4 → 1.1.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 (72) hide show
  1. package/CONDITIONAL_DESCRIPTIONS.md +174 -0
  2. package/FUTURE_FEATURES.txt +1503 -0
  3. package/README.md +300 -3
  4. package/TEST_WORKFLOW.md +311 -0
  5. package/USAGE_GUIDE.md +393 -0
  6. package/demo_features.ts +115 -0
  7. package/dist/chrome-connector.d.ts +31 -4
  8. package/dist/chrome-connector.d.ts.map +1 -1
  9. package/dist/chrome-connector.js +402 -53
  10. package/dist/chrome-connector.js.map +1 -1
  11. package/dist/index.js +69 -12
  12. package/dist/index.js.map +1 -1
  13. package/dist/tests/execute-script-tests.d.ts +62 -0
  14. package/dist/tests/execute-script-tests.d.ts.map +1 -0
  15. package/dist/tests/execute-script-tests.js +280 -0
  16. package/dist/tests/execute-script-tests.js.map +1 -0
  17. package/dist/tests/run-execute-tests.d.ts +7 -0
  18. package/dist/tests/run-execute-tests.d.ts.map +1 -0
  19. package/dist/tests/run-execute-tests.js +88 -0
  20. package/dist/tests/run-execute-tests.js.map +1 -0
  21. package/dist/tools/advanced-network.backup.d.ts +245 -0
  22. package/dist/tools/advanced-network.backup.d.ts.map +1 -0
  23. package/dist/tools/advanced-network.backup.js +996 -0
  24. package/dist/tools/advanced-network.backup.js.map +1 -0
  25. package/dist/tools/advanced-network.d.ts +580 -0
  26. package/dist/tools/advanced-network.d.ts.map +1 -0
  27. package/dist/tools/advanced-network.js +1325 -0
  28. package/dist/tools/advanced-network.js.map +1 -0
  29. package/dist/tools/anti-detection.d.ts.map +1 -1
  30. package/dist/tools/anti-detection.js +13 -8
  31. package/dist/tools/anti-detection.js.map +1 -1
  32. package/dist/tools/capture.d.ts +15 -9
  33. package/dist/tools/capture.d.ts.map +1 -1
  34. package/dist/tools/capture.js +21 -12
  35. package/dist/tools/capture.js.map +1 -1
  36. package/dist/tools/interaction.d.ts +84 -10
  37. package/dist/tools/interaction.d.ts.map +1 -1
  38. package/dist/tools/interaction.js +88 -33
  39. package/dist/tools/interaction.js.map +1 -1
  40. package/dist/tools/navigation.d.ts.map +1 -1
  41. package/dist/tools/navigation.js +43 -21
  42. package/dist/tools/navigation.js.map +1 -1
  43. package/dist/tools/network-accessibility.d.ts +67 -0
  44. package/dist/tools/network-accessibility.d.ts.map +1 -0
  45. package/dist/tools/network-accessibility.js +367 -0
  46. package/dist/tools/network-accessibility.js.map +1 -0
  47. package/dist/tools/playwright-launcher.d.ts +1 -1
  48. package/dist/tools/playwright-launcher.js +6 -6
  49. package/dist/tools/playwright-launcher.js.map +1 -1
  50. package/dist/tools/service-worker.d.ts +2 -2
  51. package/dist/tools/service-worker.d.ts.map +1 -1
  52. package/dist/tools/service-worker.js +22 -12
  53. package/dist/tools/service-worker.js.map +1 -1
  54. package/dist/tools/session.d.ts.map +1 -1
  55. package/dist/tools/session.js +23 -14
  56. package/dist/tools/session.js.map +1 -1
  57. package/dist/tools/system.d.ts +2 -2
  58. package/dist/tools/system.d.ts.map +1 -1
  59. package/dist/tools/system.js +9 -5
  60. package/dist/tools/system.js.map +1 -1
  61. package/dist/utils/truncate.d.ts +29 -0
  62. package/dist/utils/truncate.d.ts.map +1 -0
  63. package/dist/utils/truncate.js +46 -0
  64. package/dist/utils/truncate.js.map +1 -0
  65. package/dist/verify-tools.d.ts +7 -0
  66. package/dist/verify-tools.d.ts.map +1 -0
  67. package/dist/verify-tools.js +137 -0
  68. package/dist/verify-tools.js.map +1 -0
  69. package/package.json +3 -3
  70. package/recordings/demo_recording.har +3036 -0
  71. package/.npmrc.example +0 -2
  72. package/test-playwright.js +0 -57
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Output Truncation Utilities
3
+ * Prevents overwhelming AI with massive outputs
4
+ */
5
+ /**
6
+ * Truncates output intelligently with metadata
7
+ * @param data The data to potentially truncate
8
+ * @param maxSize Maximum size in characters (default: 50000)
9
+ * @param context Context hint for better suggestions
10
+ */
11
+ export function truncateOutput(data, maxSize = 50000, context) {
12
+ if (data.length <= maxSize) {
13
+ return { truncated: false, data };
14
+ }
15
+ // Context-specific suggestions
16
+ const suggestions = {
17
+ html: 'Use get_html with specific selector (e.g., get_html({selector: ".main-content"})) to get smaller chunks. Or use execute_script with targeted querySelector.',
18
+ json: 'Use execute_script to filter/query the data before returning. Example: return data.filter(item => item.id < 10)',
19
+ network: 'Use more specific URL patterns in interception. Or filter by resourceType (XHR, Fetch only).',
20
+ text: 'Use more specific selectors or queries to extract only the needed portion.'
21
+ };
22
+ const suggestion = context ? suggestions[context] : 'Use more specific filters or selectors to reduce output size.';
23
+ return {
24
+ truncated: true,
25
+ totalSize: data.length,
26
+ truncatedSize: maxSize,
27
+ data: data.substring(0, maxSize),
28
+ message: `āš ļø Output truncated: ${data.length} chars → ${maxSize} chars (${Math.round((maxSize / data.length) * 100)}% shown)`,
29
+ suggestion
30
+ };
31
+ }
32
+ /**
33
+ * Truncates array outputs intelligently
34
+ */
35
+ export function truncateArray(items, maxItems = 100, context) {
36
+ if (items.length <= maxItems) {
37
+ return { truncated: false, items };
38
+ }
39
+ return {
40
+ truncated: true,
41
+ totalCount: items.length,
42
+ items: items.slice(0, maxItems),
43
+ message: `āš ļø Array truncated: ${items.length} items → ${maxItems} items shown. ${context || 'Use more specific filters to see remaining items.'}`
44
+ };
45
+ }
46
+ //# sourceMappingURL=truncate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncate.js","sourceRoot":"","sources":["../../src/utils/truncate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,UAAkB,KAAK,EACvB,OAA8C;IAE9C,IAAI,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,+BAA+B;IAC/B,MAAM,WAAW,GAA2B;QAC1C,IAAI,EAAE,6JAA6J;QACnK,IAAI,EAAE,iHAAiH;QACvH,OAAO,EAAE,8FAA8F;QACvG,IAAI,EAAE,4EAA4E;KACnF,CAAC;IAEF,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,+DAA+D,CAAC;IAEpH,OAAO;QACL,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI,CAAC,MAAM;QACtB,aAAa,EAAE,OAAO;QACtB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC;QAChC,OAAO,EAAE,wBAAwB,IAAI,CAAC,MAAM,YAAY,OAAO,WAAW,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAC,IAAI,CAAC,MAAM,CAAC,GAAC,GAAG,CAAC,UAAU;QACzH,UAAU;KACX,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAU,EACV,WAAmB,GAAG,EACtB,OAAgB;IAEhB,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,OAAO;QACL,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,KAAK,CAAC,MAAM;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;QAC/B,OAAO,EAAE,uBAAuB,KAAK,CAAC,MAAM,YAAY,QAAQ,iBAAiB,OAAO,IAAI,mDAAmD,EAAE;KAClJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Tool Verification Script
4
+ * Verifies that all tools are properly exposed by the MCP server
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=verify-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-tools.d.ts","sourceRoot":"","sources":["../src/verify-tools.ts"],"names":[],"mappings":";AAEA;;;GAGG"}
@@ -0,0 +1,137 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Tool Verification Script
4
+ * Verifies that all tools are properly exposed by the MCP server
5
+ */
6
+ import { createNavigationTools } from './tools/navigation.js';
7
+ import { createInteractionTools } from './tools/interaction.js';
8
+ import { createAdvancedNetworkTools } from './tools/advanced-network.js';
9
+ // Mock connector (we don't need real Chrome connection for this test)
10
+ const mockConnector = {};
11
+ console.log('šŸ” Verifying MCP Tool Exposure...\n');
12
+ // Collect all tools
13
+ const allTools = [
14
+ ...createNavigationTools(mockConnector),
15
+ ...createInteractionTools(mockConnector),
16
+ ...createAdvancedNetworkTools(mockConnector),
17
+ ];
18
+ // Group by category
19
+ const toolsByCategory = {
20
+ navigation: createNavigationTools(mockConnector),
21
+ interaction: createInteractionTools(mockConnector),
22
+ advancedNetwork: createAdvancedNetworkTools(mockConnector)
23
+ };
24
+ // Print summary
25
+ console.log('šŸ“Š TOOL SUMMARY');
26
+ console.log('═'.repeat(80));
27
+ console.log(`Total Tools: ${allTools.length}\n`);
28
+ for (const [category, tools] of Object.entries(toolsByCategory)) {
29
+ console.log(`\n${category.toUpperCase()} (${tools.length} tools):`);
30
+ console.log('─'.repeat(80));
31
+ tools.forEach((tool, index) => {
32
+ console.log(` ${index + 1}. ${tool.name}`);
33
+ });
34
+ }
35
+ // Verify critical interception tools
36
+ console.log('\n\nšŸ” CRITICAL INTERCEPTION TOOLS VERIFICATION');
37
+ console.log('═'.repeat(80));
38
+ const criticalTools = [
39
+ 'enable_response_interception',
40
+ 'list_intercepted_responses',
41
+ 'modify_intercepted_response',
42
+ 'disable_response_interception',
43
+ 'continue_intercepted_request',
44
+ 'fail_intercepted_request'
45
+ ];
46
+ const toolMap = new Map(allTools.map(t => [t.name, t]));
47
+ let allFound = true;
48
+ criticalTools.forEach(toolName => {
49
+ const found = toolMap.has(toolName);
50
+ const status = found ? 'āœ…' : 'āŒ';
51
+ console.log(`${status} ${toolName}`);
52
+ if (found) {
53
+ const tool = toolMap.get(toolName);
54
+ console.log(` Description: ${tool.description.substring(0, 100)}...`);
55
+ }
56
+ else {
57
+ console.log(` āš ļø MISSING! This tool should exist but wasn't found!`);
58
+ allFound = false;
59
+ }
60
+ console.log();
61
+ });
62
+ // Verify navigation tools
63
+ console.log('\n🧭 NAVIGATION TOOLS VERIFICATION');
64
+ console.log('═'.repeat(80));
65
+ const navigationTools = ['navigate', 'create_tab', 'go_back', 'go_forward', 'reload'];
66
+ navigationTools.forEach(toolName => {
67
+ const found = toolMap.has(toolName);
68
+ const status = found ? 'āœ…' : 'āŒ';
69
+ console.log(`${status} ${toolName}`);
70
+ if (found && toolName === 'navigate') {
71
+ const tool = toolMap.get(toolName);
72
+ // Check if description includes PRIMARY NAVIGATION TOOL
73
+ if (tool.description.includes('PRIMARY NAVIGATION TOOL')) {
74
+ console.log(' āœ… Description includes "PRIMARY NAVIGATION TOOL"');
75
+ }
76
+ else {
77
+ console.log(' āš ļø Description missing "PRIMARY NAVIGATION TOOL" marker');
78
+ allFound = false;
79
+ }
80
+ }
81
+ if (found && toolName === 'create_tab') {
82
+ const tool = toolMap.get(toolName);
83
+ // Check if description warns against using for simple navigation
84
+ if (tool.description.includes('DO NOT USE for simple navigation')) {
85
+ console.log(' āœ… Description includes "DO NOT USE for simple navigation"');
86
+ }
87
+ else {
88
+ console.log(' āš ļø Description missing navigation warning');
89
+ allFound = false;
90
+ }
91
+ }
92
+ });
93
+ // Verify interaction tools have workflows
94
+ console.log('\n\nšŸ–±ļø INTERACTION TOOLS WORKFLOW VERIFICATION');
95
+ console.log('═'.repeat(80));
96
+ const interactionTools = ['click', 'type', 'get_html', 'screenshot'];
97
+ interactionTools.forEach(toolName => {
98
+ const found = toolMap.has(toolName);
99
+ const status = found ? 'āœ…' : 'āŒ';
100
+ console.log(`${status} ${toolName}`);
101
+ if (found) {
102
+ const tool = toolMap.get(toolName);
103
+ if (toolName === 'click' || toolName === 'type') {
104
+ // Should have get_html prerequisite
105
+ if (tool.description.includes('get_html') || tool.description.includes('PREREQUISITE')) {
106
+ console.log(' āœ… Has get_html prerequisite in description');
107
+ }
108
+ else {
109
+ console.log(' āš ļø Missing get_html prerequisite warning');
110
+ allFound = false;
111
+ }
112
+ }
113
+ if (toolName === 'get_html') {
114
+ // Should mention it's for analysis before interaction
115
+ if (tool.description.includes('CRITICAL') || tool.description.includes('BEFORE')) {
116
+ console.log(' āœ… Marked as critical for pre-interaction analysis');
117
+ }
118
+ else {
119
+ console.log(' āš ļø Missing critical analysis marker');
120
+ allFound = false;
121
+ }
122
+ }
123
+ }
124
+ });
125
+ // Final verdict
126
+ console.log('\n\n' + '═'.repeat(80));
127
+ if (allFound) {
128
+ console.log('āœ… ALL TOOLS VERIFIED SUCCESSFULLY!');
129
+ console.log('āœ… All critical tools exist and have proper descriptions');
130
+ process.exit(0);
131
+ }
132
+ else {
133
+ console.log('āŒ VERIFICATION FAILED!');
134
+ console.log('āŒ Some tools are missing or have incorrect descriptions');
135
+ process.exit(1);
136
+ }
137
+ //# sourceMappingURL=verify-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify-tools.js","sourceRoot":"","sources":["../src/verify-tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@eddym06/custom-chrome-mcp",
3
- "version": "1.0.4",
4
- "description": "Cross-platform Chrome MCP with enhanced features: connect to existing Chrome, anti-detection, service workers, session management, Shadow Profile system, and more. Works on Windows, Mac, and Linux.",
3
+ "version": "1.1.0",
4
+ "description": "Cross-platform Chrome MCP with response interception, request mocking, WebSocket interception, HAR recording/replay, CSS/JS injection, advanced patterns, accessibility tree, anti-detection, service workers, and more. Works on Windows, Mac, and Linux.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
7
7
  "custom-chrome-mcp": "./dist/index.js"
8
8
  },
9
9
  "type": "module",
10
10
  "publishConfig": {
11
- "registry": "https://npm.pkg.github.com"
11
+ "access": "public"
12
12
  },
13
13
  "scripts": {
14
14
  "build": "tsc",