I built a JetBrains IDE plugin that exposes the debugger through MCP, so AI coding assistants like Claude Code and Cursor can debug autonomously.
The problem: When AI assistants hit runtime bugs, they resort to adding console.log/print statements everywhere, creating tons of diffs just to understand what's happening. Manual debugging requires constant back-and-forth between you and the AI.
The solution: This plugin gives AI agents direct access to the JetBrains debugger - tools for setting breakpoints (including conditional ones), stepping through code, inspecting/modifying variables, evaluating expressions, and navigating stack frames.
What makes it interesting:
Language-agnostic: Uses JetBrains' XDebugger API, so it works identically for Java, Python, Go, JavaScript, Rust, C++, PHP, Ruby—any language your IDE can debug
Cross-IDE: Same plugin works in IntelliJ, PyCharm, WebStorm, GoLand, CLion, and all other JetBrains IDEs
Single-call context: get_debug_session_status returns variables, stack trace, and source code in one request—no round-trips
Example: "There's a NullPointerException in UserService. Set an exception breakpoint, run the tests, and figure out what's null."
The AI sets the breakpoint, starts the debug session, waits for the exception, inspects the stack and variables, and comes back with: "Found it—userRepository is null at line 42. The @Autowired injection happens after the constructor, but you're calling findUser() in the constructor. Move the call to a @PostConstruct method."
The AI handles everything—starting the session, waiting for the breakpoint, inspecting state—and reports back what it found.
Install from JetBrains Marketplace or GitHub releases. One-click setup for Claude Code, Cursor, and Windsurf via the tool window.
Would love your feedback and happy to answer questions about the architecture.
The problem: When AI assistants hit runtime bugs, they resort to adding console.log/print statements everywhere, creating tons of diffs just to understand what's happening. Manual debugging requires constant back-and-forth between you and the AI.
The solution: This plugin gives AI agents direct access to the JetBrains debugger - tools for setting breakpoints (including conditional ones), stepping through code, inspecting/modifying variables, evaluating expressions, and navigating stack frames.
What makes it interesting:
Language-agnostic: Uses JetBrains' XDebugger API, so it works identically for Java, Python, Go, JavaScript, Rust, C++, PHP, Ruby—any language your IDE can debug Cross-IDE: Same plugin works in IntelliJ, PyCharm, WebStorm, GoLand, CLion, and all other JetBrains IDEs Single-call context: get_debug_session_status returns variables, stack trace, and source code in one request—no round-trips
Example: "There's a NullPointerException in UserService. Set an exception breakpoint, run the tests, and figure out what's null."
The AI sets the breakpoint, starts the debug session, waits for the exception, inspects the stack and variables, and comes back with: "Found it—userRepository is null at line 42. The @Autowired injection happens after the constructor, but you're calling findUser() in the constructor. Move the call to a @PostConstruct method."
The AI handles everything—starting the session, waiting for the breakpoint, inspecting state—and reports back what it found.
Install from JetBrains Marketplace or GitHub releases. One-click setup for Claude Code, Cursor, and Windsurf via the tool window.
Would love your feedback and happy to answer questions about the architecture.