MCP JS Debugger
About
Debug JavaScript and TypeScript applications through the Chrome DevTools Protocol with full source map support.
Details
- Author
- johngrimes
- Downloads
- 257
- Categories
- Developer Tools, Other
Jump to
- Set and manage breakpoints
- Step through code (over, into, out)
- Inspect call stacks and variables
- Evaluate expressions in any stack frame
- Modify variable values during execution
- Pause on exceptions with full source map support
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MCP JS DebuggerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Add the server using claude mcp add mcp-js-debugger -- npx mcp-js-debugger, then start your Node.js application with the --inspect-brk flag. The server automatically connects to the CDP-compatible debugger and exposes debugging tools to the AI assistant.
connect_debugger
Establishes a new debugging session by connecting to a Chrome DevTools Protocol (CDP) endpoint. Use this to connect to Node.js (started with --inspect), Chrome, Edge, or other CDP-compatible runtimes. Returns a session_id that must be used in all subsequent debugging operations.
disconnect_debugger
Closes an active debugging session and releases all resources. Any breakpoints set in the session will be removed.
set_breakpoint
Sets a breakpoint at a specific location in the code. The breakpoint will pause execution when the specified line is reached. You can set conditional breakpoints that only trigger when an expression evaluates to true.
remove_breakpoint
Removes a previously set breakpoint. Use list_breakpoints to find breakpoint IDs.
list_breakpoints
Lists all breakpoints set in a debugging session, including their locations and conditions.
resume_execution
Resumes execution after being paused at a breakpoint or by pause_execution. Execution continues until the next breakpoint or the program ends.
step_over
Steps over the current statement to the next line in the same function. If the current line contains a function call, the entire function executes without stepping into it. The session must be paused.
step_into
Steps into a function call if the current line contains one, otherwise steps to the next statement. Use this to examine what happens inside a function. The session must be paused.
step_out
Steps out of the current function and pauses at the calling code. Use this to quickly exit a function you've stepped into. The session must be paused.
pause_execution
Pauses execution at the next possible opportunity. Use this when the program is running and you want to inspect its state.
get_call_stack
Retrieves the current call stack when execution is paused. Shows the chain of function calls that led to the current location, including function names, file locations, and scope information. If source maps are available, original source locations are included.
evaluate_expression
Evaluates a JavaScript expression in the context of a specific call frame or global context. Use this to inspect variables, test expressions, or understand the program state. The expression is evaluated in the JavaScript runtime, so you can call methods, access properties, etc.
get_scope_variables
Retrieves all variables in a specific scope. Use this to see all local variables, closure variables, or global variables at a given point in execution.
set_variable_value
Modifies the value of a variable in a specific call frame. Use this to test different scenarios or fix values during debugging.
set_pause_on_exceptions
Configures whether the debugger should pause when exceptions are thrown. Useful for catching errors as they occur.
get_original_location
Maps a generated code location back to the original source location using source maps. Essential for debugging bundled or transpiled code (TypeScript, Babel, webpack, esbuild, etc.).
get_script_source
Retrieves the source code for a script. If source maps are available, can return the original source instead of the generated/bundled code.
list_scripts
Lists all scripts loaded in the debugging session. Includes source map information where available, showing which original sources are mapped.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mcp js debugger": {
"mcp-js-debugger": {
"command": "npx",
"args": [
"mcp-js-debugger"
]
}
}
}
}
McpServers
{
"mcp-js-debugger": {
"command": "npx",
"args": [
"mcp-js-debugger"
]
}
}
An MCP (Model Context Protocol) server that exposesChrome DevTools Protocoldebugging capabilities, enabling AI assistants to debug JavaScript and TypeScript applications.
- Connect to any CDP-compatible debugger (Node.js, Chrome, Edge)
- Set, list, and remove breakpoints
- Step through code (over, into, out)
- Inspect call stacks with source map support
- Evaluate expressions in any stack frame
- View and modify variables
- Pause on exceptions
- Full source map support for debugging transpiled code
claude mcp add mcp-js-debugger -- npx mcp-js-debugger
{ "mcpServers": { "mcp-js-debugger": { "command": "npx", "args": ["mcp-js-debugger"] } } }
Start your Node.js application with the inspector:
# Pause on first line (recommended for setting initial breakpoints) node --inspect-brk=9229 your-script.js # Or start without pausing node --inspect=9229 your-script.js
-
Start your application with--inspect-brk:
connect_debugger(websocket_url: "ws://localhost:9229/<id>")
set_breakpoint(session_id: "...", url: "file:///path/to/app.js", line_number: 10)
resume_execution(session_id: "...")
get_call_stack(session_id: "...") get_scope_variables(session_id: "...", call_frame_id: "...", scope_index: 0) evaluate_expression(session_id: "...", expression: "myVariable")
step_over(session_id: "...") resume_execution(session_id: "...")
The server automatically loads source maps for transpiled code (TypeScript, bundled JavaScript, etc.). When source maps are available:
- Call stacks show original source locations
- Breakpoints can be set on original source files
- get_original_locationmaps generated positions to original source
- get_script_sourcecan return original source content
# Build npm run build # Run tests npm test # Run tests with coverage npm run test:coverage # Watch mode for development npm run dev
- cdp-client.ts- Low-level Chrome DevTools Protocol client wrapper
- session-manager.ts- Manages multiple debugging sessions
- source-map-manager.ts- Handles source map loading and position mapping
- server.ts- MCP server implementation with tool handlers
- types.ts- TypeScript type definitions
- Node.js 18.0.0 or later
- A CDP-compatible debug target (Node.js, Chrome, Edge, etc.)
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
AI-powered live runtime debugging with Lightrun production context.
Run, debug, and triage tests via natural language across HyperExecute, Automation, SmartUI, and Accessibility on the TestMu AI cloud.
Understand, develop, and debug authorization policies in Oso Cloud.
A comprehensive proxy that combines multiple MCP servers into a single MCP. It provides discovery and management of tools, prompts, resources, and templates across servers, plus a playground for debugging when building MCP servers.
Proxyman MCP allows AI to inspect HTTP traffic, create debugging rules, and control Proxyman - all through natural language conversations.
Debug your remote Node.js and Next.js applications directly from your AI IDE like Cursor.
Live browser debugging for AI assistants — DOM, console, network via MCP.
Drives an Android emulator or a real device over adb: screenshots, UI hierarchy with true device-pixel coordinates, tap and type, app lifecycle, logcat, and Gradle builds and tests.
Interact with Android devices using the Android Debug Bridge (ADB).
Policy-gated MCP tools that let coding agents build, flash, stimulate and observe real embedded hardware (OpenOCD, pyOCD, STM32CubeProgrammer, serial, CAN).
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





