debugtron-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@debugtron-mcplaunch Slack and get console logs"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
debugtron-mcp
An MCP server that lets AI agents debug installed Electron apps end-to-end: discover apps, launch them with debug ports, evaluate JavaScript in the main process and renderer pages, capture console/IPC/network traffic, take screenshots, simulate input, profile CPU and heap, set breakpoints, read script sources, and inspect workers.
App discovery and launch adapters are vendored from debugtron (MIT); the debugging surface (Chrome DevTools Protocol + Node inspector) is exposed as 40+ MCP tools.
Requirements
Node.js >= 22
macOS / Windows / Linux (remote Android debugging via
adbis supported by the underlying adapters but currently limited to page-level CDP)
Related MCP server: @nebula-agents/electron-mcp
Build
yarn install
yarn build # outputs dist/index.js (single-file ESM bundle)
yarn typecheck # optionalUsage
Register with your MCP client over stdio. For Claude Code:
claude mcp add debugtron -- node /path/to/debugtron-mcp/dist/index.jsOr explore interactively with the MCP inspector:
npx @modelcontextprotocol/inspector node dist/index.jsTypical agent session
list_apps— discover installed Electron appslaunch_app— launch one (byappIdor directexePath), get asessionIdlist_pages— find renderer windows/webviews/workers (retry until they appear)evaluate_in_main/evaluate_in_renderer— run JS in either processget_console_logs/get_network_log/get_process_logs— observe behaviorget_response_body/get_cookies/get_local_storage— inspect network/statescreenshot/click/type/navigate— drive the UImonitor_ipc+get_ipc_log— capture IPC trafficmonitor_events+get_event_log— capture lifecycle/navigation/crash eventslist_scripts+get_script_source— read app bundles for static analysisset_breakpoint/evaluate_on_call_frame/step_over— debug at source levelget_heap_snapshot/start_cpu_profile— deep performance diagnosticslist_workers/evaluate_in_worker— debug service/shared/dedicated workersstop_session— terminate the app and clean up
Tools
Sessions & discovery
Tool | Description |
| Discover installed Electron apps ( |
| Launch an app with |
| Close CDP connections and terminate the app (idempotent) |
| List active sessions with status and ports |
| List renderer targets: pages, webviews, workers |
| App process stdout/stderr (works after exit) |
Execution & observation
Tool | Description |
| Run JS in the Electron main process (Node inspector) |
| Run JS in a renderer page (CDP |
| Console messages + uncaught exceptions from main and pages |
| Network requests captured per page (includes |
| Get the response body of a captured request by |
| Read all cookies from the browser network stack (incl HttpOnly) |
| Read localStorage or sessionStorage entries |
| Electron/Chromium/Node versions, app paths, BrowserWindow list |
| Per-process CPU% and memory (app.getAppMetrics) |
Page control & DOM
Tool | Description |
| Page navigation (waits for load event, non-fatal) |
| PNG/JPEG screenshot returned as MCP image content |
| outerHTML of the document or a selector (truncatable) |
| Element tag/text/attributes/bounding rect by CSS selector |
| Input simulation by selector or coordinates (unicode-safe) |
| Renderer metrics: JS heap, DOM nodes, layout counts |
Electron-specific
Tool | Description |
| Capture IPC traffic (ipcMain send/invoke, webContents.send) |
| Capture lifecycle events (crashes, unresponsive, navigation, window creation) |
Debugging & profiling
Tool | Description |
| List parsed scripts (filter by URL substring) |
| Read script source by scriptId (for static analysis of app.asar bundles) |
| Breakpoints by script URL or regex, main or renderer |
| Execution control and paused call-stack inspection |
| Evaluate in a paused frame context (access local variables) |
| Single-step execution |
| V8 heap snapshot written to a |
| CPU profile to |
Workers
Tool | Description |
| List service workers, shared workers, dedicated workers (Target domain) |
| Run JS in a worker target via the flatten protocol |
Heap snapshots and CPU profiles are written to files (default: system temp
dir, override with filePath) and can be opened in Chrome DevTools.
Notes & limitations
Single-instance lock: apps using
requestSingleInstanceLock(e.g. VS Code) must be fully closed beforelaunch_app; otherwise the second instance forwards to the running one and the debug flags are dropped. The tool error message tells you when this happens.Pages appear asynchronously: retry
list_pagesfor a few seconds after launch.monitor_ipccapturessendmessages onipcMainat any time, butinvokehandlers only if they were registered after monitoring started (Electron dispatcheshandle()internally, not through the emitter).Breakpoints on inline scripts (e.g. inside
data:URLs) don't bind; use them on real script files (file://.../app.asar/...,http(s)://...).Workers are discovered via the browser-level Target domain (separate from
/json). Some older Electron versions may not expose all worker types.Diagnostics are written to stderr; stdout is reserved for the MCP protocol.
Acknowledgements
Target discovery/launch adapters (
src/targets/) and theAppInfotype are vendored from debugtron by Rongjian Zhang (MIT License).
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/xrntkk/debugtron-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server