@debugmcp/mcp-debugger
Version:
Run-time step-through debugging for LLM agents.
48 lines (35 loc) • 2.09 kB
Markdown
# Container Path Translation and Testing Fix Summary
## Fixes Applied
### 1. ✅ Docker Image Standardization
- Changed test image from `'mcp-debugger-test:latest'` to `'mcp-debugger:local'`
- Set `forceBuild = true` by default in `ensureDockerImage()`
- Added `--no-cache` flag to Docker build command
- Added convenience script `test:e2e:container` to package.json
### 2. ✅ Proxy Path Resolution Fix
- Fixed proxy-manager.ts to use `/app` instead of `process.cwd()` when `MCP_CONTAINER=true`
- This prevents double slash issues in module paths
### 3. ✅ PathTranslator Validation
- Added validation to check if extracted relative paths still contain drive letters
- Added comprehensive logging for debugging path translation issues
### 4. ✅ Proxy Bootstrap File URL Fix
- Fixed proxy-bootstrap.js to correctly handle Unix vs Windows paths when creating file URLs
- Unix paths now use `file://` (2 slashes) instead of `file:///` (3 slashes) since the path already starts with `/`
- This fixed the `file:////app/...` (4 slashes) issue
## Current Status
The proxy bootstrap script now starts correctly in the container:
- ✅ Correct file URL format: `file:///app/dist/proxy/dap-proxy-entry.js`
- ✅ No more double slash issues
- ✅ Path translation recognizes container mode
However, the E2E container tests are still failing with:
- "Proxy exited during initialization. Code: 1, Signal: undefined"
## Next Steps
The remaining issue appears to be deeper in the proxy initialization process, after the bootstrap script successfully imports the proxy entry module. Possible causes:
1. Missing environment variables or configuration in the container
2. Python/debugpy issues in the Alpine container
3. File permissions or mount issues
4. Network connectivity issues in the container
To investigate further:
1. Add more logging to the proxy entry module to see where it fails
2. Check if debugpy is properly installed and accessible in the container
3. Verify all required files are properly mounted and accessible
4. Test the proxy initialization step by step in the container