UNPKG

@debugmcp/mcp-debugger

Version:

Run-time step-through debugging for LLM agents.

72 lines (55 loc) 2.27 kB
# SSE Connection Testing Summary ## Current State - FIXED ✅ 1. **SSE Server is Running** - Port: 3001 - Endpoint: http://localhost:3001/sse - Started with: `.\start-sse-server.cmd` 2. **Cline Configuration** ```json "mcp-debugger-sse": { "transportType": "sse", "url": "http://localhost:3001/sse", "disabled": false } ``` ## What We Fixed ### Fix 1: Session ID Location The issue was that our server was looking for the session ID in the wrong place: -**Wrong**: Looking for session ID in `X-Session-ID` header -**Correct**: Session ID should be in the `sessionId` query parameter ### Fix 2: Request Body Parsing The server had a middleware conflict: -**Wrong**: Using `express.json()` middleware which consumed the request stream -**Correct**: Removed `express.json()` to let SSEServerTransport handle the raw body ## How the MCP SDK SSE Protocol Works 1. Client connects to `/sse` endpoint 2. Server sends an `endpoint` event with data: `/sse?sessionId=<uuid>` 3. Client extracts the session ID from this URL 4. Client sends subsequent POST requests to `/sse?sessionId=<uuid>` 5. The SSEServerTransport handles parsing the raw request body ## Testing Through Cline To test the SSE connection: 1. Stop and restart the SSE server: - Stop: Ctrl+C in the terminal - Start: `.\start-sse-server.cmd` 2. In Cline, use one of these MCP tools from `mcp-debugger-sse`: - `list_debug_sessions` - Lists all active debugging sessions - `create_debug_session` with arguments: `{"language": "python"}` ## Alternative: Use STDIO Transport The STDIO transport is more reliable and is already configured: ```json "mcp-debugger": { "transportType": "stdio", "command": "node", "args": ["C:\\path\\to\\debug-mcp-server\\dist\\index.js"] } ``` This transport doesn't require a separate server process and handles session management automatically. ## Troubleshooting If you still see connection errors: 1. Stop the SSE server (Ctrl+C) 2. Rebuild the project: `npm run build` 3. Restart the SSE server: `.\start-sse-server.cmd` 4. Check the logs for any errors 5. Try restarting Cline/VSCode to refresh the MCP connection 6. Verify the server is accessible: `curl http://localhost:3001/health`