We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/debugmcpdev/mcp-debugger'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
BREAKPOINT_VALIDATION_SUMMARY.md•2.31 kB
# Breakpoint Validation - Summary of Findings
## The Problem (User Perspective)
1. **User**: "Set breakpoint on file X at line 5"
2. **System**: "Success! Breakpoint set."
3. **User**: "Set breakpoint on file Y at line 10"
4. **System**: "Success! Breakpoint set."
5. **User**: "Start debugging"
6. **System**: "Failed to spawn launcher: [WinError 267] The directory name is invalid"
7. **User**: "What went wrong? Which file? Why?"
## Why This Happens
### The Architecture
```
User calls set_breakpoint
↓
mcp-debugger stores breakpoint locally
↓
Returns "success" (debugpy not running yet)
↓
User calls start_debugging
↓
mcp-debugger starts debugpy
↓
Sends all breakpoints to debugpy
↓
debugpy validates files
↓
If any file missing → CRASH with cryptic error
```
### The Timing Problem
- **When we need validation**: When `set_breakpoint` is called
- **When debugpy provides validation**: When `start_debugging` is called
- **Result**: Too late to help
## What We Discovered
1. **debugpy DOES provide helpful messages**:
- "Breakpoint in file that does not exist."
- But only after debugging starts
2. **The implemented fix captures these messages**:
- Added infrastructure to store them
- But they arrive after the crash
3. **Users never see the helpful messages**:
- Session crashes first
- Cryptic error shown instead
## Why The Fix Doesn't Work
The fix assumes:
```
set_breakpoint → debugpy validates → we capture message → show user
```
Reality is:
```
set_breakpoint → no debugpy yet → no validation → generic success
start_debugging → debugpy validates → session crashes → user sees cryptic error
```
## What Would Actually Fix This
Since we can't get validation from debugpy at the right time:
1. **Option 1**: Validate file existence in mcp-debugger when `set_breakpoint` is called
2. **Option 2**: Better error handling to identify which file caused the crash
3. **Option 3**: Both of the above
## Bottom Line
- **The investigation was correct**: debugpy provides messages
- **The conclusion was wrong**: These messages can't solve the UX problem
- **The fix is ineffective**: It captures messages that arrive too late
- **The problem remains**: Users get cryptic errors with no actionable feedback