A JetBrains IDE plugin that exposes an MCP (Model Context Protocol) server, giving AI coding assistants full programmatic control over the debugger. Set breakpoints, step through code, inspect variables, and evaluate expressions—all driven autonomously by your AI assistant. Fully tested: IntelliJ IDEA, PyCharm, WebStorm, GoLand, RustRover, Android Studio, PhpStorm May work (untested): RubyMine, CL
Add this skill
npx mdskills install hechtcarmel/jetbrains-debugger-mcp-pluginComprehensive MCP server providing 22 debugger tools with excellent documentation and multi-IDE support
A JetBrains IDE plugin that exposes an MCP (Model Context Protocol) server, giving AI coding assistants full programmatic control over the debugger. Set breakpoints, step through code, inspect variables, and evaluate expressions—all driven autonomously by your AI assistant.
Fully tested: IntelliJ IDEA, PyCharm, WebStorm, GoLand, RustRover, Android Studio, PhpStorm May work (untested): RubyMine, CLion, DataGrip
Debugger MCP Server gives AI coding assistants complete control over the IDE's debugger through the Model Context Protocol (MCP). Let your AI assistant debug code autonomously—from setting breakpoints to inspecting variables to stepping through execution.
Debug Session Management
Breakpoint Management
Execution Control
Variable Inspection
Expression Evaluation
Stack & Thread Navigation
Unlike manual debugging, this plugin enables:
Perfect for AI-assisted development workflows where you want your assistant to investigate bugs, validate fixes, or explore code behavior autonomously.
Settings/Preferences > Plugins > Marketplace > Search for "Debugger MCP Server" > Install
Go to JetBrains Marketplace and install it by clicking the Install to ... button.
Download the latest release and install it manually: Settings/Preferences > Plugins > ⚙️ > Install plugin from disk...
http://127.0.0.1:{PORT}/debugger-mcp/sseThe easiest way to configure your AI assistant:
Just tell your AI assistant:
"Debug the calculateTotal function—set a breakpoint at line 42, run the tests in debug mode, and show me the variable values when it pauses."
Or for more complex debugging:
"There's a bug in UserService. Set a breakpoint at line 42, run the tests in debug mode, and when it breaks, show me the stack trace and all local variables."
The easiest way is to use the "Install on Coding Agents" button in the IDE's tool window—it generates the correct command with your IDE-specific server name (e.g., intellij-debugger, pycharm-debugger).
Or run this command manually in your terminal (replace -debugger with your IDE name):
claude mcp add --transport sse intellij-debugger http://127.0.0.1:63342/debugger-mcp/sse --scope user
IDE-specific server names:
intellij-debuggerpycharm-debuggerwebstorm-debuggergoland-debuggerphpstorm-debuggerrubymine-debuggerclion-debuggerrustrover-debuggerandroid-studio-debuggerOptions:
--scope user - Adds globally for all projects--scope project - Adds to current project onlyTo remove: claude mcp remove intellij-debugger (use your IDE's name)
The easiest way is to use the "Install on Coding Agents" button in the IDE's tool window—it generates the correct command with your IDE-specific server name (e.g., intellij-debugger, pycharm-debugger).
Or run this command manually in your terminal (replace -debugger with your IDE name):
codex mcp add intellij-debugger -- npx -y mcp-remote http://127.0.0.1:63342/debugger-mcp/sse --allow-http
To remove: codex mcp remove intellij-debugger (use your IDE's name)
Add to .cursor/mcp.json in your project root or ~/.cursor/mcp.json globally:
{
"mcpServers": {
"intellij-debugger": {
"url": "http://127.0.0.1:63342/debugger-mcp/sse"
}
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"intellij-debugger": {
"serverUrl": "http://127.0.0.1:63342/debugger-mcp/sse"
}
}
}
{
"mcp.servers": {
"intellij-debugger": {
"transport": "sse",
"url": "http://127.0.0.1:63342/debugger-mcp/sse"
}
}
}
Note: Replace
intellij-debuggerwith your IDE's server name (see list above).
Note: Replace
63342with your actual IDE port if different. Check Settings > Debugger > Built-in Server Port.
The plugin provides 22 MCP tools organized by category:
| Tool | Description |
|---|---|
list_run_configurations | List all available run configurations in the project |
execute_run_configuration | Execute a run configuration in debug or run mode |
| Tool | Description |
|---|---|
list_debug_sessions | List all active debug sessions with state and metadata |
start_debug_session | Start a new debug session for a run configuration |
stop_debug_session | Stop/terminate a debug session |
get_debug_session_status | Get comprehensive status (variables, stack, source) in one call |
| Tool | Description |
|---|---|
list_breakpoints | List all breakpoints with optional filtering |
set_breakpoint | Set a line breakpoint with condition, log message, suspend policy |
remove_breakpoint | Remove a breakpoint by ID or location |
| Tool | Description |
|---|---|
resume_execution | Resume paused execution |
pause_execution | Pause running execution |
step_over | Step over to next line (without entering methods) |
step_into | Step into method calls |
step_out | Step out of current method |
run_to_line | Continue execution until a specific line |
| Tool | Description |
|---|---|
get_stack_trace | Get current call stack with file/line/method info |
select_stack_frame | Change debugger context to a different stack frame |
list_threads | List all threads with state information |
| Tool | Description |
|---|---|
get_variables | Get all variables visible in current stack frame |
set_variable | Modify a variable's value during debugging |
| Tool | Description |
|---|---|
get_source_context | Get source code around current execution point |
| Tool | Description |
|---|---|
evaluate_expression | Evaluate an expression or code fragment in debug context |
Note: For detailed tool documentation with parameters, examples, and response formats, see USAGE.md.
When multiple projects are open in a single IDE window, you must specify which project to use with the project_path parameter:
{
"name": "set_breakpoint",
"arguments": {
"project_path": "/Users/dev/myproject",
"file_path": "/Users/dev/myproject/src/Main.java",
"line": 42
}
}
If project_path is omitted:
The plugin adds a "Debugger MCP Server" tool window (bottom panel) that shows:
| Action | Description |
|---|---|
| Refresh | Refresh server status and command history |
| Copy URL | Copy the MCP server URL to clipboard |
| Clear History | Clear the command history |
| Export History | Export history to JSON or CSV file |
| Install on Coding Agents | Install MCP server on AI assistants (prominent button on right) |
| Code | Name | Description |
|---|---|---|
| -32700 | Parse Error | Failed to parse JSON-RPC request |
| -32600 | Invalid Request | Invalid JSON-RPC request format |
| -32601 | Method Not Found | Unknown method name |
| -32602 | Invalid Params | Invalid or missing parameters |
| -32603 | Internal Error | Unexpected internal error |
| Code | Name | Description |
|---|---|---|
| -32001 | Session Not Found | Debug session not found |
| -32002 | File Not Found | Specified file does not exist |
| -32003 | Not Paused | Operation requires paused session |
| -32004 | Breakpoint Error | Failed to set/remove breakpoint |
| -32005 | Evaluation Error | Expression evaluation failed |
Configure the plugin at Settings > Tools > Debugger MCP Server:
| Setting | Default | Description |
|---|---|---|
| Server Port | 0 (auto) | Set specific port or 0 for auto-assign |
| Max History Size | 100 | Maximum number of commands to keep in history |
| Auto-scroll | true | Auto-scroll to new commands in history |
| Show Notifications | true | Show notifications for server events |
Fully tested: IntelliJ IDEA, PyCharm, WebStorm, GoLand, RustRover, Android Studio, PhpStorm May work (untested): RubyMine, CLion, DataGrip
The plugin supports dual MCP transports on the IDE's built-in web server:
AI Assistant ──────► GET /debugger-mcp/sse (establish SSE stream)
◄── event: endpoint (receive POST URL with sessionId)
──────► POST /debugger-mcp?sessionId=x (JSON-RPC requests)
◄── HTTP 202 Accepted
◄── event: message (JSON-RPC response via SSE)
AI Assistant ──────► POST /debugger-mcp (JSON-RPC requests)
◄── JSON-RPC response (immediate HTTP response)
This dual approach:
Contributions are welcome! Please:
./gradlew test# Build the plugin
./gradlew build
# Run IDE with plugin installed
./gradlew runIde
# Run tests
./gradlew test
# Run plugin verification
./gradlew runPluginVerifier
This project is licensed under the MIT License - see the LICENSE file for details.
Plugin based on the IntelliJ Platform Plugin Template.
Install via CLI
npx mdskills install hechtcarmel/jetbrains-debugger-mcp-pluginDebugger MCP Server is a free, open-source AI agent skill. A JetBrains IDE plugin that exposes an MCP (Model Context Protocol) server, giving AI coding assistants full programmatic control over the debugger. Set breakpoints, step through code, inspect variables, and evaluate expressions—all driven autonomously by your AI assistant. Fully tested: IntelliJ IDEA, PyCharm, WebStorm, GoLand, RustRover, Android Studio, PhpStorm May work (untested): RubyMine, CL
Install Debugger MCP Server with a single command:
npx mdskills install hechtcarmel/jetbrains-debugger-mcp-pluginThis downloads the skill files into your project and your AI agent picks them up automatically.
Debugger MCP Server works with Claude Code, Claude Desktop, Cursor, Vscode Copilot, Windsurf, Continue Dev, Codex, Gemini Cli, Amp, Roo Code, Goose, Opencode, Trae, Qodo, Command Code. Skills use the open SKILL.md format which is compatible with any AI coding agent that reads markdown instructions.