debugtron-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_appsA | List installed Electron apps discovered on a target (local machine by default). Returns app id, name and executable path. Use the app id with launch_app. |
| launch_appA | Launch an Electron app with debug ports (--inspect for the main process, --remote-debugging-port for renderers) and create a debug session. Provide either appId (from list_apps) or a direct exePath. Returns the sessionId and debug ports. |
| stop_sessionA | Stop a debug session: close CDP connections and terminate the app process. Safe to call twice. |
| list_sessionsA | List active debug sessions with their app, status and debug ports. |
| get_app_infoA | Get Electron app details from the main process: Electron/Chromium/Node versions, app name/version, standard paths (userData etc.), and the list of BrowserWindows with title, URL and bounds. |
| monitor_ipcA | Start or stop IPC monitoring in the main process. Captures ipcMain messages (send/invoke) and webContents.send traffic into a buffer; read it with get_ipc_log. Note: invoke handlers registered before monitoring started are not captured (Electron dispatches them internally); 'send' messages are always captured. |
| get_ipc_logA | Read IPC traffic captured by monitor_ipc. Optionally clears the buffer after reading. |
| monitor_eventsA | Start or stop capturing Electron lifecycle events in the main process: render-process-gone (crashes), unresponsive, navigation (did/will-navigate, redirects), window and webContents creation, child-process-gone. Read with get_event_log. |
| get_event_logA | Read Electron lifecycle events captured by monitor_events (crashes, hangs, navigation, window/webContents lifecycle). Optionally clears the buffer after reading. |
| get_process_metricsA | Get per-process CPU and memory metrics of the app (app.getAppMetrics): Browser (main), renderer, GPU and utility processes with pid, CPU % and working set size. |
| evaluate_in_mainA | Evaluate a JavaScript expression in the app's main (Node/Electron) process via the inspector protocol. Electron APIs like |
| evaluate_in_rendererA | Evaluate a JavaScript expression in a renderer page via CDP. Use list_pages to find page ids. |
| list_pagesA | Refresh and list the debuggable targets of a session: renderer pages, webviews, workers, service workers. Pages can take a few seconds to appear after launch — retry if empty. Page-only tools (screenshot, DOM, input) do not work on worker targets. |
| get_process_logsC | Get the app process stdout/stderr output captured since launch. Works even after the process has exited. |
| get_console_logsB | Get console messages and uncaught exceptions captured from the main process and renderer pages (console.* calls, CDP log entries). |
| get_network_logA | Get network requests captured from renderer pages (Network domain). A page's requests are recorded once any page tool has attached to it. Entries include requestId for get_response_body. |
| get_response_bodyA | Get the response body of a captured network request. Use get_network_log to find requestIds. Only works for requests whose loading has finished while a page client was attached. |
| get_cookiesA | Get cookies from the browser network stack visible to a page (Network.getAllCookies). Includes HttpOnly cookies that document.cookie cannot see. |
| get_local_storageB | Read localStorage or sessionStorage entries of a renderer page. |
| navigateA | Navigate a renderer page to a URL. Waits up to 5s for the load event (non-fatal). |
| reloadC | Reload a renderer page. |
| screenshotB | Capture a screenshot of a renderer page. Returns a PNG (default) or JPEG image. |
| get_dom_snapshotA | Get the outerHTML of a renderer page (or of a specific element via selector). Truncated to maxLength characters. |
| query_selectorA | Query a single element by CSS selector in a renderer page. Returns tag name, text, attributes and bounding rect. |
| clickA | Click in a renderer page, either by CSS selector (scrolled into view, clicked at its center) or by raw CSS-pixel coordinates. |
| typeA | Type text into a renderer page. If a selector is given, the element is clicked first to focus it. Uses Input.insertText, which is unicode-safe (CJK, emoji). |
| get_performance_metricsB | Get renderer performance metrics (Performance.getMetrics): JS heap size, DOM node count, layout/recalc counts, timestamps, etc. |
| set_breakpointA | Set a breakpoint by script URL or URL regex in the main process or a renderer page. Works on bundled scripts too — use urlRegex to match a distinctive part of the script path (e.g. "app.asar.*main"). Use get_paused_state to observe hits. |
| remove_breakpointA | Remove a breakpoint previously set with set_breakpoint. |
| list_breakpointsA | List breakpoints set via this server on the main process or a renderer page. |
| pauseA | Pause execution at the next statement in the main process or a renderer page. |
| resumeA | Resume execution after a pause or breakpoint hit. |
| get_paused_stateA | Get the current paused state (reason + call stack with callFrameIds) of the main process or a renderer page, if it is paused on a breakpoint or Debugger.pause. |
| list_scriptsA | List scripts known to the Debugger domain (collected via scriptParsed). Use urlFilter to narrow down, then get_script_source to read source code. |
| get_script_sourceB | Get the source code of a script by scriptId (from list_scripts). Useful for static analysis of app.asar bundles. |
| evaluate_on_call_frameA | Evaluate an expression in the context of a paused call frame (access local variables). Requires the target to be paused — get callFrameId from get_paused_state. |
| step_overA | Step over the current statement while paused. Use get_paused_state to observe the new location. |
| step_intoB | Step into the current function call while paused. Use get_paused_state to observe the new location. |
| step_outA | Step out of the current function while paused. Use get_paused_state to observe the new location. |
| get_heap_snapshotA | Take a V8 heap snapshot of the main process or a renderer page. The snapshot can be large, so it is written to a .heapsnapshot file (loadable in Chrome DevTools Memory panel); the file path is returned. |
| start_cpu_profileA | Start CPU profiling on the main process or a renderer page. Call stop_cpu_profile to collect the result. |
| stop_cpu_profileA | Stop CPU profiling and collect the profile. The full profile is written to a .cpuprofile file (loadable in Chrome DevTools Performance panel); a summary of the hottest functions is returned inline. |
| list_workersA | List worker targets (service workers, shared workers, dedicated workers) discovered via the browser-level Target domain. Use evaluate_in_worker to run JS in them. |
| evaluate_in_workerA | Evaluate a JavaScript expression in a worker target (service worker, shared worker, dedicated worker) using the flatten protocol. Get workerTargetId from list_workers. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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