@debugelectron/debug-electron-mcp 1.6.8 → 1.6.10
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/README.md +29 -14
- package/dist/handlers.d.ts +2 -3
- package/dist/index.js +3523 -823
- package/dist/index.js.map +1 -1
- package/dist/schemas.d.ts +11 -8
- package/dist/screenshot.d.ts +10 -1
- package/dist/utils/electron-enhanced-commands.d.ts +6 -0
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
# Debug Electron MCP
|
|
2
2
|
|
|
3
|
-
[](LICENSE)
|
|
4
4
|
[](https://www.npmjs.com/package/@debugelectron/debug-electron-mcp)
|
|
5
5
|
[](https://modelcontextprotocol.io)
|
|
6
6
|
|
|
7
7
|
A powerful Model Context Protocol (MCP) server that provides comprehensive Electron application automation, debugging, and observability capabilities. Supercharge your Electron development workflow with AI-powered automation through Chrome DevTools Protocol integration.
|
|
8
8
|
|
|
9
|
+
## 🎯 What Makes This Special
|
|
10
|
+
|
|
11
|
+
Transform your Electron development experience with **AI-powered automation**:
|
|
12
|
+
|
|
13
|
+
- **🔄 Real-time UI Automation**: Click buttons, fill forms, and interact with any Electron app programmatically
|
|
14
|
+
- **📸 Visual Debugging**: Take screenshots and capture application state without interrupting development
|
|
15
|
+
- **🔍 Deep Inspection**: Extract DOM elements, application data, and performance metrics in real-time
|
|
16
|
+
- **⚡ DevTools Protocol Integration**: Universal compatibility with any Electron app - no modifications required
|
|
17
|
+
- **🚀 Development Observability**: Monitor logs, system info, and application behavior seamlessly
|
|
18
|
+
|
|
9
19
|
## 🚀 Key Features
|
|
10
20
|
|
|
11
21
|
### 🎮 Application Control & Automation
|
|
@@ -38,7 +48,7 @@ A powerful Model Context Protocol (MCP) server that provides comprehensive Elect
|
|
|
38
48
|
{
|
|
39
49
|
"mcp": {
|
|
40
50
|
"servers": {
|
|
41
|
-
"electron": {
|
|
51
|
+
"debug-electron-mcp": {
|
|
42
52
|
"command": "npx",
|
|
43
53
|
"args": ["-y", "@debugelectron/debug-electron-mcp@latest"]
|
|
44
54
|
}
|
|
@@ -51,7 +61,7 @@ A powerful Model Context Protocol (MCP) server that provides comprehensive Elect
|
|
|
51
61
|
```json
|
|
52
62
|
{
|
|
53
63
|
"mcpServers": {
|
|
54
|
-
"electron": {
|
|
64
|
+
"debug-electron-mcp": {
|
|
55
65
|
"command": "npx",
|
|
56
66
|
"args": ["-y", "@debugelectron/debug-electron-mcp@latest"]
|
|
57
67
|
}
|
|
@@ -63,7 +73,7 @@ A powerful Model Context Protocol (MCP) server that provides comprehensive Elect
|
|
|
63
73
|
```json
|
|
64
74
|
{
|
|
65
75
|
"mcpServers": {
|
|
66
|
-
"electron": {
|
|
76
|
+
"debug-electron-mcp": {
|
|
67
77
|
"command": "npx",
|
|
68
78
|
"args": ["-y", "@debugelectron/debug-electron-mcp@latest"]
|
|
69
79
|
}
|
|
@@ -91,15 +101,6 @@ See the Electron MCP Server in action:
|
|
|
91
101
|
|
|
92
102
|
*Watch how easy it is to automate Electron applications with AI-powered MCP commands.*
|
|
93
103
|
|
|
94
|
-
## 🎯 What Makes This Special
|
|
95
|
-
|
|
96
|
-
Transform your Electron development experience with **AI-powered automation**:
|
|
97
|
-
|
|
98
|
-
- **🔄 Real-time UI Automation**: Click buttons, fill forms, and interact with any Electron app programmatically
|
|
99
|
-
- **📸 Visual Debugging**: Take screenshots and capture application state without interrupting development
|
|
100
|
-
- **🔍 Deep Inspection**: Extract DOM elements, application data, and performance metrics in real-time
|
|
101
|
-
- **⚡ DevTools Protocol Integration**: Universal compatibility with any Electron app - no modifications required
|
|
102
|
-
- **🚀 Development Observability**: Monitor logs, system info, and application behavior seamlessly
|
|
103
104
|
|
|
104
105
|
## ⚡ Enabling Remote Debugging (Required)
|
|
105
106
|
|
|
@@ -315,7 +316,14 @@ When configuring an Electron app for MCP Server:
|
|
|
315
316
|
| --------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------------ |
|
|
316
317
|
| `click_by_selector` | `{"selector": "css-selector"}` | `{"selector": "button.primary"}` |
|
|
317
318
|
| `click_by_text` | `{"text": "button text"}` | `{"text": "Submit"}` |
|
|
319
|
+
| `hover` | `{"selector": "css-selector"}` | `{"selector": "#menu-item"}` |
|
|
320
|
+
| `drag` | `{"startSelector": "source", "endSelector": "target"}` | `{"startSelector": "#item", "endSelector": "#zone"}` |
|
|
321
|
+
| `wait` | `{"duration": 1000}` or `{"selector": "..."}` or `{"text": "..."}` | `{"selector": "#loaded-content"}` |
|
|
322
|
+
| `type` | `{"selector": "...", "text": "..."}` | `{"selector": "#search", "text": "hello"}` |
|
|
318
323
|
| `fill_input` | `{"value": "text", "selector": "..."}` or `{"value": "text", "placeholder": "..."}` | `{"placeholder": "Enter name", "value": "John"}` |
|
|
324
|
+
| `get_attribute` | `{"selector": "...", "attribute": "..."}` | `{"selector": "img", "attribute": "src"}` |
|
|
325
|
+
| `is_visible` | `{"selector": "..."}` | `{"selector": "#error-message"}` |
|
|
326
|
+
| `count` | `{"selector": "..."}` | `{"selector": ".list-item"}` |
|
|
319
327
|
| `send_keyboard_shortcut` | `{"text": "key combination"}` | `{"text": "Ctrl+N"}` |
|
|
320
328
|
| `eval` | `{"code": "javascript"}` | `{"code": "document.title"}` |
|
|
321
329
|
| `get_title`, `get_url`, `get_body_text` | No args needed | `{}` or omit args |
|
|
@@ -440,6 +448,13 @@ Execute JavaScript commands in the running Electron application via WebSocket.
|
|
|
440
448
|
- `click_by_text`: Click elements by their visible text, aria-label, or title (more reliable than selectors)
|
|
441
449
|
- `fill_input`: Fill input fields by selector, placeholder text, or associated label text
|
|
442
450
|
- `select_option`: Select dropdown options by value or visible text
|
|
451
|
+
- `hover`: Hover over elements (simulates mouseenter/mouseover)
|
|
452
|
+
- `drag`: Drag elements from one location to another (supports dataTransfer)
|
|
453
|
+
- `wait`: Wait for duration, element selector, or text presence
|
|
454
|
+
- `type`: Type text character-by-character into inputs
|
|
455
|
+
- `get_attribute`: Get value of any element attribute
|
|
456
|
+
- `is_visible`: Check if element exists and is visible in viewport
|
|
457
|
+
- `count`: Count elements matching a selector (total and visible)
|
|
443
458
|
- `get_page_structure`: Get organized overview of all page elements (buttons, inputs, selects, links)
|
|
444
459
|
- `get_title`: Get document title
|
|
445
460
|
- `get_url`: Get current URL
|
|
@@ -769,7 +784,7 @@ We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) f
|
|
|
769
784
|
|
|
770
785
|
## 📄 License
|
|
771
786
|
|
|
772
|
-
MIT License - see [LICENSE](LICENSE) file for details.
|
|
787
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
773
788
|
|
|
774
789
|
## 🙌 Credits & Attribution
|
|
775
790
|
|
package/dist/handlers.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare function handleToolCall(request: z.infer<typeof CallToolRequestSchema>): Promise<{
|
|
1
|
+
import { CallToolRequest } from '@modelcontextprotocol/sdk/types';
|
|
2
|
+
export declare function handleToolCall(request: CallToolRequest): Promise<{
|
|
4
3
|
content: any[];
|
|
5
4
|
isError: boolean;
|
|
6
5
|
}>;
|