@dynamicu/chromedebug-mcp 2.7.2 → 2.7.5
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.
- package/CLAUDE.md +18 -0
- package/README.md +87 -449
- package/chrome-extension/background.js +547 -56
- package/chrome-extension/browser-recording-manager.js +34 -0
- package/chrome-extension/content.js +438 -32
- package/chrome-extension/firebase-config.public-sw.js +1 -1
- package/chrome-extension/firebase-config.public.js +1 -1
- package/chrome-extension/frame-capture.js +31 -10
- package/chrome-extension/image-processor.js +193 -0
- package/chrome-extension/manifest.free.json +1 -1
- package/chrome-extension/popup.html +82 -4
- package/chrome-extension/popup.js +1106 -38
- package/chrome-extension/pro/frame-editor.html +259 -6
- package/chrome-extension/pro/frame-editor.js +959 -10
- package/chrome-extension/pro/video-exporter.js +917 -0
- package/chrome-extension/pro/video-player.js +545 -0
- package/dist/chromedebug-extension-free.zip +0 -0
- package/package.json +1 -1
- package/scripts/postinstall.js +1 -1
- package/scripts/webpack.config.free.cjs +6 -0
- package/scripts/webpack.config.pro.cjs +6 -0
- package/src/chrome-controller.js +6 -6
- package/src/database.js +157 -39
- package/src/http-server.js +55 -11
- package/src/validation/schemas.js +11 -1
package/CLAUDE.md
CHANGED
|
@@ -66,6 +66,13 @@ npm run update-extension-config # Update Chrome extension config
|
|
|
66
66
|
# 2. Enable Developer mode
|
|
67
67
|
# 3. Click "Load unpacked"
|
|
68
68
|
# 4. Select chrome-extension/ directory
|
|
69
|
+
|
|
70
|
+
# Build extension packages
|
|
71
|
+
npm run build:free # Build FREE version (webpack bundle)
|
|
72
|
+
npm run build:pro # Build PRO version (webpack bundle)
|
|
73
|
+
npm run build:both # Build both versions
|
|
74
|
+
npm run package-pro # Package PRO extension for distribution
|
|
75
|
+
npm run package-webstore # Package for Chrome Web Store submission
|
|
69
76
|
```
|
|
70
77
|
|
|
71
78
|
### VS Code Extension
|
|
@@ -121,15 +128,19 @@ npm run compile
|
|
|
121
128
|
|
|
122
129
|
- **Element Selection**: Click elements to select for AI manipulation
|
|
123
130
|
- **Screen Recording**: Capture video + console logs for debugging
|
|
131
|
+
- **Workflow Recording**: Record user actions with screenshots for replay
|
|
132
|
+
- **Screenshot Recording**: Click-to-capture mode with countdown (0/3/5 seconds)
|
|
124
133
|
- **Frame Capture**: Optimized frame capture for videos
|
|
125
134
|
- **WebRTC Override**: Redirects webcam to screen capture
|
|
126
135
|
- **Download ZIP Export**: Export recordings as ZIP packages with screenshots and JSON metadata
|
|
136
|
+
- **Tab Filtering**: Filter recordings by type (All/Workflow/Screenshots)
|
|
127
137
|
|
|
128
138
|
### Chrome Extension Versions
|
|
129
139
|
|
|
130
140
|
**FREE Version** (npm package / direct install):
|
|
131
141
|
- 5 recordings per day limit
|
|
132
142
|
- All core recording features
|
|
143
|
+
- Watermarked images (applied at display/export time, not storage)
|
|
133
144
|
- Local storage only
|
|
134
145
|
- No external data transmission
|
|
135
146
|
|
|
@@ -299,6 +310,13 @@ The package name is `chromedebug-mcp` but the project is commonly referred to as
|
|
|
299
310
|
- Supports restore points for reverting to previous states
|
|
300
311
|
- Stores DOM snapshots, form values, storage, and cookies
|
|
301
312
|
- Enables replay and debugging of complex workflows
|
|
313
|
+
- Two modes: `workflow` (action tracking) and `screenshot` (click-to-capture)
|
|
314
|
+
- Console logs associated with actions using timestamp windowing
|
|
315
|
+
|
|
316
|
+
### Recording Mode Database Schema
|
|
317
|
+
- `recording_mode` column: 'workflow' or 'screenshot'
|
|
318
|
+
- NULL values treated as 'workflow' for backward compatibility
|
|
319
|
+
- Tab filtering uses SQL: `WHERE (recording_mode = ? OR recording_mode IS NULL)`
|
|
302
320
|
|
|
303
321
|
### Testing Framework
|
|
304
322
|
- **Jest-based**: Uses Jest with ES modules support (`NODE_OPTIONS='--experimental-vm-modules'`)
|
package/README.md
CHANGED
|
@@ -3,158 +3,112 @@
|
|
|
3
3
|
[](https://www.npmjs.com/package/@dynamicu/chromedebug-mcp)
|
|
4
4
|
[](https://opensource.org/licenses/MIT)
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
**Give your AI assistant eyes into your browser.** ChromeDebug connects Claude Code directly to Chrome, letting AI see, interact with, and debug web pages alongside you.
|
|
7
7
|
|
|
8
|
-
##
|
|
8
|
+
## Why ChromeDebug?
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
- **Show, don't tell** - Record bugs instead of explaining them
|
|
11
|
+
- **AI sees what you see** - Screenshots, console logs, and DOM in real-time
|
|
12
|
+
- **Click to select** - Point at elements, let AI modify them
|
|
13
|
+
- **100% private** - All data stays on your machine
|
|
11
14
|
|
|
12
|
-
|
|
15
|
+

|
|
13
16
|
|
|
14
|
-
|
|
17
|
+
## Quick Start (2 minutes)
|
|
15
18
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
### Installation from npm
|
|
19
|
+
### 1. Install the MCP Server
|
|
19
20
|
|
|
20
21
|
```bash
|
|
21
|
-
# Install globally
|
|
22
22
|
npm install -g @dynamicu/chromedebug-mcp
|
|
23
|
-
|
|
24
|
-
# Or install locally in your project
|
|
25
|
-
npm install @dynamicu/chromedebug-mcp
|
|
26
23
|
```
|
|
27
24
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
### Chrome Extension Installation
|
|
31
|
-
|
|
32
|
-
Install the Chrome extension to enable visual element selection and recording features:
|
|
33
|
-
|
|
34
|
-
🌐 **[Install from Chrome Web Store](https://chromewebstore.google.com/detail/chromedebug-mcp-assistant/lemgbmdnephoaniipapgeciebfeakffn)**
|
|
35
|
-
|
|
36
|
-
- ✅ 5 recordings per day (FREE version)
|
|
37
|
-
- ✅ Visual element selection
|
|
38
|
-
- ✅ Full MCP integration
|
|
39
|
-
- ✅ Automatic updates
|
|
40
|
-
|
|
41
|
-
### Development Installation
|
|
25
|
+
### 2. Add to Claude Code
|
|
42
26
|
|
|
43
27
|
```bash
|
|
44
|
-
|
|
45
|
-
git clone https://github.com/dynamicupgrade/ChromeDebug.git
|
|
46
|
-
cd ChromeDebug
|
|
47
|
-
npm install
|
|
28
|
+
claude mcp add chromedebug -s user -- chromedebug-mcp
|
|
48
29
|
```
|
|
49
30
|
|
|
50
|
-
|
|
31
|
+
### 3. Install Chrome Extension
|
|
51
32
|
|
|
52
|
-
|
|
53
|
-
- **Function call tracking** - Record and replay function execution traces
|
|
54
|
-
- **Advanced debugging** - Enhanced breakpoint and inspection capabilities
|
|
55
|
-
- **Unlimited recordings** - No daily recording limits
|
|
56
|
-
- Priority support and updates
|
|
33
|
+
🌐 **[Install from Chrome Web Store](https://chromewebstore.google.com/detail/chromedebug-mcp-assistant/lemgbmdnephoaniipapgeciebfeakffn)** (FREE)
|
|
57
34
|
|
|
58
|
-
|
|
35
|
+
That's it! Ask Claude to "launch Chrome" and start debugging.
|
|
59
36
|
|
|
60
|
-
|
|
37
|
+
---
|
|
61
38
|
|
|
62
|
-
|
|
39
|
+
## Features
|
|
63
40
|
|
|
64
|
-
|
|
41
|
+
### 🎬 Three Recording Modes
|
|
65
42
|
|
|
66
|
-
|
|
43
|
+
| Mode | What it does | Best for |
|
|
44
|
+
|------|--------------|----------|
|
|
45
|
+
| **Screen Recording** | Captures video + console logs | Bug reports, demos |
|
|
46
|
+
| **Workflow Recording** | Records clicks, inputs, screenshots | Step-by-step debugging |
|
|
47
|
+
| **Screenshot Recording** | Click-to-capture with countdown | Dropdowns, modals, dynamic content |
|
|
67
48
|
|
|
68
|
-
|
|
49
|
+
### 🎯 Visual Element Selection
|
|
69
50
|
|
|
70
|
-
|
|
71
|
-
2. **Run the installer**:
|
|
72
|
-
```bash
|
|
73
|
-
chromedebug-mcp install-pro \
|
|
74
|
-
--license YOUR_LICENSE_KEY \
|
|
75
|
-
--extension-path ~/Downloads/chromedebug-extension-pro.zip
|
|
76
|
-
```
|
|
77
|
-
3. **Restart your terminal** to load the new environment variable
|
|
78
|
-
4. **Launch Chrome** - PRO features are now active!
|
|
51
|
+
Click any element → AI can inspect and modify it instantly.
|
|
79
52
|
|
|
80
|
-
|
|
53
|
+
```
|
|
54
|
+
You: "Make that button blue"
|
|
55
|
+
Claude: *applies CSS to selected element*
|
|
56
|
+
```
|
|
81
57
|
|
|
82
|
-
|
|
83
|
-
- ✓ Validates your license key format
|
|
84
|
-
- ✓ Extracts the PRO extension to `~/.chromedebug-pro/extension`
|
|
85
|
-
- ✓ Saves your license information securely to `~/.chromedebug-pro/license.json`
|
|
86
|
-
- ✓ Configures your shell environment automatically (exports `CHROMEDEBUG_EXTENSION_PATH`)
|
|
87
|
-
- ✓ Creates an installation log at `~/.chromedebug-pro/install.log` for troubleshooting
|
|
58
|
+
### 🔍 Console Log Sync
|
|
88
59
|
|
|
89
|
-
|
|
60
|
+
Every recording includes synchronized console output. AI sees exactly what happened when.
|
|
90
61
|
|
|
91
|
-
|
|
62
|
+
---
|
|
92
63
|
|
|
93
|
-
|
|
64
|
+
## Example Prompts
|
|
94
65
|
|
|
95
|
-
|
|
96
|
-
# Verify environment variable is set
|
|
97
|
-
echo $CHROMEDEBUG_EXTENSION_PATH
|
|
98
|
-
# Should output: /Users/YOUR_USERNAME/.chromedebug-pro/extension
|
|
66
|
+
Once connected, try these with Claude:
|
|
99
67
|
|
|
100
|
-
|
|
101
|
-
|
|
68
|
+
```
|
|
69
|
+
"Launch Chrome and go to my app"
|
|
70
|
+
"Record what happens when I click checkout"
|
|
71
|
+
"Show me the console errors on this page"
|
|
72
|
+
"Make the selected element have rounded corners"
|
|
73
|
+
"Replay my last workflow recording"
|
|
102
74
|
```
|
|
103
75
|
|
|
104
|
-
|
|
105
|
-
- "ChromeDebug MCP Assistant PRO" in `chrome://extensions/` (with function tracking features enabled)
|
|
106
|
-
|
|
107
|
-
### Troubleshooting PRO Installation
|
|
108
|
-
|
|
109
|
-
**Environment variable not set after installation:**
|
|
110
|
-
- Restart your terminal or run: `source ~/.zshrc` (or `~/.bashrc` for Bash users)
|
|
111
|
-
- If still not set, manually add to your shell config:
|
|
112
|
-
```bash
|
|
113
|
-
export CHROMEDEBUG_EXTENSION_PATH="$HOME/.chromedebug-pro/extension"
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
**Chrome still loading FREE version:**
|
|
117
|
-
- Verify the environment variable is set: `echo $CHROMEDEBUG_EXTENSION_PATH`
|
|
118
|
-
- Close ALL Chrome windows and restart ChromeDebug MCP
|
|
119
|
-
- Check installation log: `cat ~/.chromedebug-pro/install.log`
|
|
76
|
+
---
|
|
120
77
|
|
|
121
|
-
|
|
122
|
-
- Verify you copied the full license key from your purchase email
|
|
123
|
-
- License format should be: `LICENSEID-HASH` (e.g., `ABC12345-0123456789ABCDEF`)
|
|
124
|
-
- Check for extra spaces or line breaks when copying
|
|
78
|
+
## FREE vs PRO
|
|
125
79
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
80
|
+
| | FREE | PRO |
|
|
81
|
+
|---|:---:|:---:|
|
|
82
|
+
| Recordings per day | 5 | Unlimited |
|
|
83
|
+
| Screen/Workflow/Screenshot modes | ✅ | ✅ |
|
|
84
|
+
| Console log sync | ✅ | ✅ |
|
|
85
|
+
| Export as ZIP/MP4 | ❌ | ✅ |
|
|
86
|
+
| Function tracing | ❌ | ✅ |
|
|
87
|
+
| Watermark-free exports | ❌ | ✅ |
|
|
130
88
|
|
|
131
|
-
**
|
|
132
|
-
- Check installation log: `~/.chromedebug-pro/install.log`
|
|
133
|
-
- Open an issue: [GitHub Issues](https://github.com/dynamicupgrade/ChromeDebug/issues)
|
|
89
|
+
💎 **[Get PRO](https://chromedebug.com/checkout/buy/996773cb-682b-430f-b9e3-9ce2130bd967)** - Unlimited recordings + video export
|
|
134
90
|
|
|
135
|
-
|
|
91
|
+
---
|
|
136
92
|
|
|
137
|
-
|
|
93
|
+
## Installation Details
|
|
138
94
|
|
|
139
|
-
|
|
95
|
+
<details>
|
|
96
|
+
<summary><strong>Windows Users (WSL2 recommended)</strong></summary>
|
|
140
97
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
```
|
|
98
|
+
```powershell
|
|
99
|
+
# Install WSL2
|
|
100
|
+
wsl --install
|
|
145
101
|
|
|
146
|
-
|
|
147
|
-
|
|
102
|
+
# Then in WSL terminal:
|
|
103
|
+
npm install -g @dynamicu/chromedebug-mcp
|
|
148
104
|
claude mcp add chromedebug -s user -- wsl chromedebug-mcp
|
|
149
105
|
```
|
|
106
|
+
</details>
|
|
150
107
|
|
|
151
|
-
|
|
108
|
+
<details>
|
|
109
|
+
<summary><strong>Manual MCP Configuration</strong></summary>
|
|
152
110
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
If you're not using Claude Code CLI or want to configure manually, add this to your MCP settings file:
|
|
156
|
-
|
|
157
|
-
**Location:** `~/.claude/config.json` or your MCP client's configuration file
|
|
111
|
+
Add to `~/.claude/config.json`:
|
|
158
112
|
|
|
159
113
|
```json
|
|
160
114
|
{
|
|
@@ -165,358 +119,42 @@ If you're not using Claude Code CLI or want to configure manually, add this to y
|
|
|
165
119
|
}
|
|
166
120
|
}
|
|
167
121
|
```
|
|
122
|
+
</details>
|
|
168
123
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
{
|
|
172
|
-
"mcpServers": {
|
|
173
|
-
"chromedebug": {
|
|
174
|
-
"command": "wsl",
|
|
175
|
-
"args": ["chromedebug-mcp"]
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
#### Windows Setup Details
|
|
182
|
-
|
|
183
|
-
⚠️ **Important: WSL2 Recommended for Windows Users**
|
|
184
|
-
|
|
185
|
-
ChromeDebug MCP uses stdio-based communication which works best on Unix systems. For Windows users, we **strongly recommend using WSL2** for full compatibility.
|
|
186
|
-
|
|
187
|
-
**WSL2 Setup (5 minutes):**
|
|
188
|
-
|
|
189
|
-
1. **Install WSL2** (PowerShell as Administrator):
|
|
190
|
-
```powershell
|
|
191
|
-
wsl --install
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
2. **Restart your computer**
|
|
195
|
-
|
|
196
|
-
3. **Open WSL terminal** and install Node.js:
|
|
197
|
-
```bash
|
|
198
|
-
sudo apt update
|
|
199
|
-
sudo apt install nodejs npm -y
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
4. **Install ChromeDebug in WSL**:
|
|
203
|
-
```bash
|
|
204
|
-
npm install -g @dynamicu/chromedebug-mcp
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
5. **Configure Claude Code** to use WSL:
|
|
208
|
-
```bash
|
|
209
|
-
claude mcp add chromedebug -s user -- wsl chromedebug-mcp
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
6. **Verify it works**:
|
|
213
|
-
```bash
|
|
214
|
-
claude mcp list
|
|
215
|
-
# Should show: chromedebug: wsl chromedebug-mcp - ✓ Connected
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
**Alternative: Native Windows (Limited Support)**
|
|
219
|
-
|
|
220
|
-
If you cannot use WSL2, you can force native Windows mode, but stdio communication may be unreliable:
|
|
221
|
-
|
|
222
|
-
```powershell
|
|
223
|
-
# Set environment variable to enable native Windows mode
|
|
224
|
-
set CHROMEDEBUG_FORCE_WINDOWS=1
|
|
225
|
-
chromedebug-mcp --help
|
|
226
|
-
```
|
|
227
|
-
|
|
228
|
-
**Note:** Native Windows may experience stdio communication issues due to cmd.exe limitations. WSL2 is strongly recommended for the best experience.
|
|
124
|
+
<details>
|
|
125
|
+
<summary><strong>PRO Installation</strong></summary>
|
|
229
126
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
For Windows users or those who prefer to run services separately, you can start the HTTP server independently:
|
|
127
|
+
After purchasing, run:
|
|
233
128
|
|
|
234
129
|
```bash
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
# With options
|
|
239
|
-
chromedebug-mcp-server --verbose --port 3000
|
|
130
|
+
chromedebug-mcp install-pro \
|
|
131
|
+
--license YOUR_LICENSE_KEY \
|
|
132
|
+
--extension-path ~/Downloads/chromedebug-extension-pro.zip
|
|
240
133
|
```
|
|
241
134
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
- `--verbose` - Enable verbose logging
|
|
245
|
-
- `--debug` - Enable debug mode
|
|
246
|
-
- `--no-cleanup` - Skip process cleanup on startup
|
|
247
|
-
- `--session-id ID` - Set custom session ID
|
|
248
|
-
|
|
249
|
-
**Use Cases:**
|
|
250
|
-
- Windows users who want Chrome extension support without running full MCP server
|
|
251
|
-
- Development environments where you want HTTP server running persistently
|
|
252
|
-
- Situations where MCP and HTTP servers should run in separate processes
|
|
253
|
-
|
|
254
|
-
### Embedded HTTP Server
|
|
255
|
-
|
|
256
|
-
Chrome Debug can automatically start an embedded HTTP server for Chrome extension communication. The server uses ports configured in `config/chrome-pilot-config.json` (default: 3001, 3000, 3002, 3028). The server provides these REST API endpoints:
|
|
257
|
-
|
|
258
|
-
| Endpoint | Method | Description | Body |
|
|
259
|
-
|----------|--------|-------------|------|
|
|
260
|
-
| `/chromedebug/evaluate` | POST | Evaluate expression | `{ "expression": "window.user" }` |
|
|
261
|
-
| `/chromedebug/scopes` | GET | Get scope variables | - |
|
|
262
|
-
| `/chromedebug/logs` | GET | Get recent console logs | - |
|
|
263
|
-
| `/chromedebug/screenshot` | GET | Take screenshot | `{ "type": "jpeg", "fullPage": true, "path": "/path/to/save.jpg" }` |
|
|
264
|
-
| `/chromedebug/dom-intent` | POST | Process natural language DOM commands | `{ "selector": "#element", "instruction": "make it blue" }` |
|
|
265
|
-
| `/chromedebug/status` | GET | Check server and Chrome connection status | - |
|
|
266
|
-
| `/chromedebug/upload/:dataType` | POST | Upload screen recording with logs | FormData with video file, logs JSON, and duration |
|
|
267
|
-
| `/chromedebug/recording/:id` | GET | Retrieve a recording by ID | - |
|
|
268
|
-
| `/chromedebug/workflow-recording` | POST | Save workflow recording | `{ "sessionId": "...", "actions": [...], "logs": [...] }` |
|
|
269
|
-
| `/chromedebug/workflow-recording/:sessionId` | GET | Get workflow recording | - |
|
|
270
|
-
| `/chromedebug/restore-point` | POST | Save restore point | `{ "workflowId": "...", "domSnapshot": {...}, ... }` |
|
|
271
|
-
| `/chromedebug/restore-point/:id` | GET/DELETE | Get or delete restore point | - |
|
|
272
|
-
| `/chromedebug/restore-points/:workflowId` | GET | List restore points for workflow | - |
|
|
273
|
-
|
|
274
|
-
### MCP Tools
|
|
275
|
-
|
|
276
|
-
When used as an MCP server, Chrome Debug exposes these tools:
|
|
277
|
-
|
|
278
|
-
- `launch_chrome` - Launch a Chrome browser instance
|
|
279
|
-
- `evaluate_expression` - Evaluate JavaScript expression
|
|
280
|
-
- `get_scopes` - Get scope variables
|
|
281
|
-
- `get_logs` - Get console logs
|
|
282
|
-
- `take_screenshot` - Take a screenshot
|
|
283
|
-
- `get_page_content` - Get page content (text, HTML, and DOM structure)
|
|
284
|
-
- `check_connection` - Check Chrome connection status
|
|
285
|
-
- `force_reset` - Force reset Chrome instance
|
|
286
|
-
- `get_selected_element` - Get info about element selected via extension
|
|
287
|
-
- `apply_css_to_selected` - Apply CSS to the selected element
|
|
288
|
-
- `execute_js_on_selected` - Execute JavaScript on the selected element
|
|
289
|
-
- `clear_selected_element` - Clear the current selection
|
|
290
|
-
- `get_workflow_recording` - Get a workflow recording with actions and logs
|
|
291
|
-
- `list_workflow_recordings` - List all workflow recordings
|
|
292
|
-
- `save_restore_point` - Save a restore point for the current browser state
|
|
293
|
-
- `restore_from_point` - Restore browser to a saved restore point
|
|
294
|
-
- `list_restore_points` - List restore points for a workflow
|
|
295
|
-
|
|
296
|
-
## Example
|
|
297
|
-
|
|
298
|
-
```bash
|
|
299
|
-
# Start the server (automatically kills existing processes and finds available port)
|
|
300
|
-
npm start
|
|
301
|
-
|
|
302
|
-
# The server will display the port it's running on:
|
|
303
|
-
# 🚀 Starting Chrome Debug Server on port 3000...
|
|
304
|
-
# 📍 Extension should connect to: http://localhost:3000
|
|
305
|
-
# 🔧 MCP tools will use this port for API calls
|
|
306
|
-
|
|
307
|
-
# In another terminal, test the API (use the port shown in startup)
|
|
308
|
-
curl -X POST http://localhost:3000/chromedebug/pause
|
|
309
|
-
curl -X POST http://localhost:3000/chromedebug/evaluate \
|
|
310
|
-
-H "Content-Type: application/json" \
|
|
311
|
-
-d '{"expression": "document.title"}'
|
|
312
|
-
```
|
|
313
|
-
|
|
314
|
-
## Chrome Extension - Visual Element Selection
|
|
315
|
-
|
|
316
|
-
Chrome Debug includes a Chrome extension that enables visual element selection for MCP control:
|
|
317
|
-
|
|
318
|
-
### Installing the Extension
|
|
319
|
-
|
|
320
|
-
#### Option 1: Chrome Web Store (Recommended - FREE Version)
|
|
321
|
-
|
|
322
|
-
Install the FREE version directly from the Chrome Web Store:
|
|
323
|
-
|
|
324
|
-
🌐 **[Install from Chrome Web Store](https://chromewebstore.google.com/detail/chromedebug-mcp-assistant/lemgbmdnephoaniipapgeciebfeakffn)**
|
|
325
|
-
|
|
326
|
-
- ✅ 5 recordings per day
|
|
327
|
-
- ✅ Full MCP integration
|
|
328
|
-
- ✅ Visual element selection
|
|
329
|
-
- ✅ Automatic updates
|
|
330
|
-
- ✅ No manual installation needed
|
|
331
|
-
|
|
332
|
-
#### Option 2: Manual Installation (Development)
|
|
333
|
-
|
|
334
|
-
1. Open Chrome and navigate to `chrome://extensions/`
|
|
335
|
-
2. Enable "Developer mode"
|
|
336
|
-
3. Click "Load unpacked" and select the `chrome-extension` directory
|
|
337
|
-
|
|
338
|
-
#### Option 3: PRO Version (Unlimited) - Automated Installation
|
|
135
|
+
[Watch PRO Installation Video](https://youtu.be/TBjj5FA8DRg)
|
|
136
|
+
</details>
|
|
339
137
|
|
|
340
|
-
|
|
138
|
+
---
|
|
341
139
|
|
|
342
|
-
|
|
140
|
+
## Privacy
|
|
343
141
|
|
|
344
|
-
- ✅
|
|
345
|
-
- ✅
|
|
346
|
-
- ✅
|
|
347
|
-
- ✅ Priority support
|
|
142
|
+
- ✅ **100% Local** - Recordings never leave your machine
|
|
143
|
+
- ✅ **No cloud** - No uploads, no accounts
|
|
144
|
+
- ✅ **No tracking** - Zero analytics or telemetry
|
|
348
145
|
|
|
349
|
-
|
|
146
|
+
---
|
|
350
147
|
|
|
351
|
-
|
|
148
|
+
## Links
|
|
352
149
|
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
- `apply_css_to_selected` - Apply CSS styles to the element
|
|
359
|
-
- `execute_js_on_selected` - Execute JavaScript on the element
|
|
360
|
-
- `clear_selected_element` - Clear the selection
|
|
150
|
+
- 📺 [Demo Video](https://youtu.be/2Y9nIsvEjks)
|
|
151
|
+
- 🌐 [Chrome Extension](https://chromewebstore.google.com/detail/chromedebug-mcp-assistant/lemgbmdnephoaniipapgeciebfeakffn)
|
|
152
|
+
- 💎 [Get PRO](https://chromedebug.com/checkout/buy/996773cb-682b-430f-b9e3-9ce2130bd967)
|
|
153
|
+
- 🐛 [Report Issues](https://github.com/dynamicupgrade/ChromeDebug/issues)
|
|
154
|
+
- 💬 [Discussions](https://github.com/dynamicupgrade/ChromeDebug/discussions)
|
|
361
155
|
|
|
362
|
-
|
|
363
|
-
- Click "Start Workflow Recording" to record user interactions
|
|
364
|
-
- All clicks, inputs, and drags are captured
|
|
365
|
-
- Console logs can be included in the recording
|
|
366
|
-
- Workflows can be replayed later for debugging
|
|
156
|
+
---
|
|
367
157
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
Chrome Debug uses a license activation system to prevent activation limit exhaustion when reinstalling the extension.
|
|
371
|
-
|
|
372
|
-
#### The Problem
|
|
373
|
-
|
|
374
|
-
When you uninstall and reinstall the Chrome extension, it clears local storage and generates a new activation instance. With a typical 3-activation limit, frequent reinstalls can exhaust your available slots.
|
|
375
|
-
|
|
376
|
-
#### The Solution: Activation Manager
|
|
377
|
-
|
|
378
|
-
Chrome Debug now includes an **Activation Manager** that automatically handles this scenario:
|
|
379
|
-
|
|
380
|
-
**How It Works:**
|
|
381
|
-
1. When activation limit is reached, the Activation Manager opens automatically
|
|
382
|
-
2. Shows all your current activations with device info (e.g., "macOS 14.0 • Chrome 121")
|
|
383
|
-
3. Identifies your current device (highlighted in green)
|
|
384
|
-
4. You select which activation to deactivate
|
|
385
|
-
5. Extension automatically retries activation on current device
|
|
386
|
-
|
|
387
|
-
**Example: Reinstalling on Same Machine**
|
|
388
|
-
|
|
389
|
-
```
|
|
390
|
-
You reinstall the extension on your laptop:
|
|
391
|
-
→ Try to activate license
|
|
392
|
-
→ Activation Manager shows:
|
|
393
|
-
• Activation 1: "macOS 14.0 • Chrome 120" (Oct 10) ← OLD instance
|
|
394
|
-
• Activation 2: "Windows 11 • Chrome 121" (Oct 12)
|
|
395
|
-
• Activation 3: "Linux • Firefox 119" (Oct 14)
|
|
396
|
-
→ You recognize #1 is this same laptop
|
|
397
|
-
→ Click "Deactivate" on #1
|
|
398
|
-
→ Extension automatically activates new instance
|
|
399
|
-
→ Result: Still 3/3 slots, seamless experience
|
|
400
|
-
```
|
|
401
|
-
|
|
402
|
-
**Best Practices:**
|
|
403
|
-
- Before uninstalling: No action needed - Activation Manager handles it
|
|
404
|
-
- Multiple devices: Activation Manager helps track which is which
|
|
405
|
-
- Unused devices: Periodically deactivate machines you no longer use
|
|
406
|
-
|
|
407
|
-
#### FAQ
|
|
408
|
-
|
|
409
|
-
**Q: What happens if I forget which activation is which?**
|
|
410
|
-
A: The Activation Manager shows device information (OS, browser version) and activation dates. Your current device is highlighted in green.
|
|
411
|
-
|
|
412
|
-
**Q: Can I deactivate my current device?**
|
|
413
|
-
A: No, the button is disabled for your current device to prevent accidental lockout.
|
|
414
|
-
|
|
415
|
-
**Q: Does reinstalling the browser consume an activation?**
|
|
416
|
-
A: Yes, because local storage is cleared. Use the Activation Manager to deactivate the old instance first or after reinstalling.
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
## Development
|
|
420
|
-
|
|
421
|
-
```bash
|
|
422
|
-
npm run dev # Run with --watch flag
|
|
423
|
-
```
|
|
158
|
+
## License
|
|
424
159
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
Once Chrome Debug is installed as an MCP server, you can use these prompts with Claude:
|
|
428
|
-
|
|
429
|
-
### Basic Browser Control
|
|
430
|
-
- "Launch Chrome and navigate to https://example.com"
|
|
431
|
-
- "Evaluate document.title in the browser"
|
|
432
|
-
- "Get all the links on the current page"
|
|
433
|
-
- "Take a screenshot of the current page"
|
|
434
|
-
|
|
435
|
-
### Web Scraping & Automation
|
|
436
|
-
- "Navigate to https://news.ycombinator.com and get the titles of the top 5 stories"
|
|
437
|
-
- "Fill out the search form with 'JavaScript' and submit it"
|
|
438
|
-
- "Click the login button and enter username 'test' and password 'demo'"
|
|
439
|
-
- "Monitor the network requests and show me all API calls"
|
|
440
|
-
|
|
441
|
-
### Debugging Web Apps
|
|
442
|
-
- "Show me all console errors on this page"
|
|
443
|
-
- "Watch for any uncaught exceptions and report them"
|
|
444
|
-
- "Profile the page load performance"
|
|
445
|
-
- "Check if there are any memory leaks by monitoring heap usage"
|
|
446
|
-
|
|
447
|
-
### Advanced Debugging
|
|
448
|
-
- "Set conditional breakpoints when userId === 5"
|
|
449
|
-
- "Trace the execution flow of the checkout() function"
|
|
450
|
-
- "Show me all event listeners attached to the submit button"
|
|
451
|
-
- "Evaluate the current state of the Redux store"
|
|
452
|
-
|
|
453
|
-
### Visual Element Modification
|
|
454
|
-
After selecting an element with the Chrome extension:
|
|
455
|
-
- "Show me what element is currently selected"
|
|
456
|
-
- "Make the selected element blue with rounded corners"
|
|
457
|
-
- "Apply CSS: background-color: #2196F3 !important; padding: 20px !important"
|
|
458
|
-
- "Hide the selected element"
|
|
459
|
-
- "Execute JavaScript to get the element's text content"
|
|
460
|
-
- "Click the selected element"
|
|
461
|
-
- "Clear the selected element"
|
|
462
|
-
|
|
463
|
-
## Screen Recording Feature
|
|
464
|
-
|
|
465
|
-
Chrome Debug includes a powerful screen recording feature that captures video of the current tab along with synchronized console logs. This helps users explain issues more effectively by providing visual context with technical details.
|
|
466
|
-
|
|
467
|
-
### How to Use Recording
|
|
468
|
-
|
|
469
|
-
1. **Start Recording:**
|
|
470
|
-
- Click the Chrome Debug extension icon
|
|
471
|
-
- Click "Start Recording" button
|
|
472
|
-
- The browser will prompt for permission to capture the tab
|
|
473
|
-
- Recording starts immediately after permission is granted
|
|
474
|
-
|
|
475
|
-
2. **During Recording:**
|
|
476
|
-
- The button changes to "Stop Recording" and pulses red
|
|
477
|
-
- A timer shows the recording duration
|
|
478
|
-
- All console logs (log, warn, error, info) are captured with timestamps
|
|
479
|
-
- Continue using the browser normally - all interactions are recorded
|
|
480
|
-
|
|
481
|
-
3. **Stop Recording:**
|
|
482
|
-
- Click "Stop Recording" button
|
|
483
|
-
- The video and logs are automatically uploaded to the Chrome Debug server
|
|
484
|
-
- You'll receive a recording ID (e.g., `rec_1234567890_abc123`)
|
|
485
|
-
|
|
486
|
-
4. **Share with Claude:**
|
|
487
|
-
- Tell Claude: "Get recording rec_1234567890_abc123"
|
|
488
|
-
- Claude will retrieve the video and synchronized console logs
|
|
489
|
-
- The logs show precise timing relative to the video
|
|
490
|
-
|
|
491
|
-
### Recording Details
|
|
492
|
-
|
|
493
|
-
- **Video Format:** WebM with VP9 codec for efficient compression
|
|
494
|
-
- **Resolution:** Up to 1920x1080 (adapts to tab size)
|
|
495
|
-
- **Console Logs:** Captured with millisecond precision timestamps
|
|
496
|
-
- **User Interactions:** Mouse clicks, keyboard input, scrolling automatically captured
|
|
497
|
-
- **Storage:** Recordings are stored temporarily (last 10 recordings kept)
|
|
498
|
-
- **No Audio:** Audio is not captured to focus on visual debugging
|
|
499
|
-
|
|
500
|
-
### Captured Interactions
|
|
501
|
-
|
|
502
|
-
Screen recordings now automatically capture all user interactions:
|
|
503
|
-
|
|
504
|
-
- **Clicks:** Position, element selector, XPath, and clicked text
|
|
505
|
-
- **Input:** Text entered into forms with field selectors
|
|
506
|
-
- **Keypresses:** Special keys like Enter, Escape, Tab
|
|
507
|
-
- **Scrolling:** Scroll positions throughout the recording
|
|
508
|
-
|
|
509
|
-
### Example Use Cases
|
|
510
|
-
|
|
511
|
-
- **Bug Reports:** Record the exact steps to reproduce an issue
|
|
512
|
-
- **UI Problems:** Show visual glitches or unexpected behavior
|
|
513
|
-
- **Performance Issues:** Capture slow interactions with console timing
|
|
514
|
-
- **Complex Workflows:** Document multi-step processes that are hard to explain
|
|
515
|
-
- **User Testing:** Review exactly how users interact with your interface
|
|
516
|
-
|
|
517
|
-
### MCP Tools for Recording
|
|
518
|
-
|
|
519
|
-
- `get_recording` - Retrieve a recording by ID to analyze video and logs
|
|
520
|
-
- `chromedebug_show_frames` - Display frame-by-frame recording with interactions and logs
|
|
521
|
-
- `get_frame` - Get specific frame with its interactions and console logs
|
|
522
|
-
- `get_screen_interactions` - Query specific interaction data from recordings
|
|
160
|
+
MIT
|