Breakpoints registered via add_breakpoint are accepted but execution never pauses when code runs through them. Debug sessions run to completion without stopping.
Important: We wrote a custom stdio-to-HTTP+SSE proxy because DebugMCP's HTTP transport is incompatible with Claude Code's stdio-only MCP client. This proxy may be causing the issue.
Environment
- DebugMCP: 2.3.0
- VS Code: 1.132.0
- Node.js: v24.16.0
- OS: Windows 11 Enterprise
- Runtime: TypeScript via tsx v4.22.4 + vitest 4.1.9
- Project: SAP CAP with @sap/cds 10.0.3
- Custom proxy: stdio → HTTP+SSE bridge
Reproduction
- Start DebugMCP (http://localhost:3001/mcp)
- Start custom proxy bridging stdio → HTTP+SSE
- Call add_breakpoin + line number →returns success ✅
- Call start_debugging with launch config → launches successfully ✅
- Code runs through breakpoint without stopping ❌
- Session completes "ran to completion without stopping"
What Works
- Proxy forwards all 15 MCP tools successfully
- Debug sessions launch
- Manual breakpoints in VS Code UI work fine
What Doesn't Work
- Execution never pauses at MCP-registered breakpoints
- No stack frame for variable inspection
- Tools timeout waiting for paused state
What We Tried
- TypeScript source p
- Multiple launch configurations
- Simple test scripts
- Logpoints (also didn't trigger)
- Setting breakpoints
All fail identically.
Hypothesis
Proxy may not be maintaining breakpoint state correctly between add_breakpoint and start_debugging calls. Our proxy parses SSE responses line-by-line and tracks session IDs, but breakpoint registration state might need to persist within a single HTTP session.
Simplified proxy logic:
// Parse SSE from DebugMCP, forward JSON-RPC to Claude Code
const response = await fetch('http://localhost:3001/mcp', {
method: 'POST',
headers: { 'Accept': 'text/event-stream' },
body: JSON.stringify(request)
});
// Parse SSE events, extract session IDs, forward responses
Breakpoints registered via add_breakpoint are accepted but execution never pauses when code runs through them. Debug sessions run to completion without stopping.
Important: We wrote a custom stdio-to-HTTP+SSE proxy because DebugMCP's HTTP transport is incompatible with Claude Code's stdio-only MCP client. This proxy may be causing the issue.
Environment
Reproduction
What Works
What Doesn't Work
What We Tried
All fail identically.
Hypothesis
Proxy may not be maintaining breakpoint state correctly between add_breakpoint and start_debugging calls. Our proxy parses SSE responses line-by-line and tracks session IDs, but breakpoint registration state might need to persist within a single HTTP session.
Simplified proxy logic:
// Parse SSE from DebugMCP, forward JSON-RPC to Claude Code
const response = await fetch('http://localhost:3001/mcp', {
method: 'POST',
headers: { 'Accept': 'text/event-stream' },
body: JSON.stringify(request)
});
// Parse SSE events, extract session IDs, forward responses