Skip to main content
Glama
mcp-inspector-testing.md6.16 kB
# MCP Inspector Manual Testing Checklist This document provides a checklist for manually testing the MCP Debug Tool with MCP Inspector. ## Prerequisites 1. Install MCP Inspector: ```bash npm install -g @modelcontextprotocol/inspector ``` 2. Start the MCP Debug Tool server: ```bash cd /path/to/Debug-MCP uv run python -m mcp_debug_tool.server_v2 --workspace . ``` ## Testing Checklist ### 1. Server Connection - [ ] MCP Inspector successfully connects to the server - [ ] Server name displays as "python-debug" - [ ] No connection errors in console ### 2. Tool Discovery (list_tools) - [ ] Inspector lists all 5 tools: - [ ] `sessions_create` - [ ] `sessions_breakpoint` - [ ] `sessions_continue` - [ ] `sessions_state` - [ ] `sessions_end` - [ ] Each tool has a description - [ ] Each tool has an input schema with required fields ### 3. Tool: sessions_create **Test Case 1: Valid Session Creation** - [ ] Input: `{"entry": "tests/integration/samples/buggy_script.py"}` - [ ] Expected: Response with `sessionId` (UUID format) - [ ] Actual Result: ________________ **Test Case 2: Invalid File Path** - [ ] Input: `{"entry": "nonexistent.py"}` - [ ] Expected: Error response with type `FileNotFoundError` - [ ] Actual Result: ________________ **Test Case 3: With Arguments** - [ ] Input: `{"entry": "tests/integration/samples/buggy_script.py", "args": ["arg1", "arg2"]}` - [ ] Expected: Response with `sessionId` - [ ] Actual Result: ________________ **Test Case 4: With Environment Variables** - [ ] Input: `{"entry": "tests/integration/samples/buggy_script.py", "env": {"TEST_VAR": "value"}}` - [ ] Expected: Response with `sessionId` - [ ] Actual Result: ________________ ### 4. Tool: sessions_state **Test Case 1: Valid Session** - [ ] Prerequisites: Create a session first - [ ] Input: `{"sessionId": "<session-id-from-create>"}` - [ ] Expected: Response with `status` field (idle/running/paused/completed/error) - [ ] Actual Result: ________________ **Test Case 2: Invalid Session** - [ ] Input: `{"sessionId": "invalid-id-12345"}` - [ ] Expected: Error response with type `SessionNotFound` - [ ] Actual Result: ________________ ### 5. Tool: sessions_breakpoint **Test Case 1: Run to Breakpoint** - [ ] Prerequisites: Create a session first - [ ] Input: `{"sessionId": "<session-id>", "file": "tests/integration/samples/buggy_script.py", "line": 10}` - [ ] Expected: Response with: - [ ] `hit: true` - [ ] `frameInfo` object with file and line - [ ] `locals` object with variables - [ ] Actual Result: ________________ **Test Case 2: Invalid Session** - [ ] Input: `{"sessionId": "invalid-id", "file": "test.py", "line": 10}` - [ ] Expected: Error response - [ ] Actual Result: ________________ **Test Case 3: Invalid File** - [ ] Prerequisites: Create a session first - [ ] Input: `{"sessionId": "<session-id>", "file": "nonexistent.py", "line": 10}` - [ ] Expected: Error response - [ ] Actual Result: ________________ ### 6. Tool: sessions_continue **Test Case 1: Continue to Next Breakpoint** - [ ] Prerequisites: Create session and hit first breakpoint - [ ] Input: `{"sessionId": "<session-id>", "file": "tests/integration/samples/buggy_script.py", "line": 15}` - [ ] Expected: Response with `hit: true` and new locals - [ ] Actual Result: ________________ **Test Case 2: Continue Without Prior Breakpoint** - [ ] Prerequisites: Create fresh session (no breakpoint hit yet) - [ ] Input: `{"sessionId": "<session-id>", "file": "test.py", "line": 10}` - [ ] Expected: Error response (invalid state) - [ ] Actual Result: ________________ ### 7. Tool: sessions_end **Test Case 1: End Active Session** - [ ] Prerequisites: Create a session - [ ] Input: `{"sessionId": "<session-id>"}` - [ ] Expected: Response with `ended: true` - [ ] Actual Result: ________________ **Test Case 2: End Non-Existent Session** - [ ] Input: `{"sessionId": "invalid-id"}` - [ ] Expected: Error response - [ ] Actual Result: ________________ ### 8. Complete Workflow Test **Scenario: Full Debug Session** 1. [ ] Create session 2. [ ] Verify session state is "idle" 3. [ ] Run to first breakpoint (line 10) 4. [ ] Verify session state is "paused" 5. [ ] Inspect local variables 6. [ ] Continue to second breakpoint (line 15) 7. [ ] Verify session state is "paused" 8. [ ] Inspect updated local variables 9. [ ] End session 10. [ ] Verify session no longer exists (state query fails) ### 9. Error Handling - [ ] Missing required field returns validation error - [ ] Invalid JSON returns parse error - [ ] Timeout scenarios handled gracefully - [ ] Error messages are clear and actionable ### 10. Performance - [ ] Tool responses return within 2 seconds (normal cases) - [ ] Concurrent requests handled correctly - [ ] No memory leaks after multiple sessions - [ ] Server remains responsive under load ### 11. Input Schema Validation For each tool, verify schema in Inspector: - [ ] Required fields marked correctly - [ ] Field types match documentation - [ ] Descriptions are clear - [ ] Examples provided where helpful ## Test Results Summary **Date:** ________________ **Tester:** ________________ **MCP Inspector Version:** ________________ **Server Version:** 0.2.0 (SDK-based) **Overall Result:** [ ] PASS / [ ] FAIL **Issues Found:** 1. ________________ 2. ________________ 3. ________________ **Notes:** ________________ ________________ ________________ ## Cleanup After testing: ```bash # Stop the server (Ctrl+C) # Clean up any test files or sessions if needed ``` ## Troubleshooting ### Server won't start - Check that workspace path exists - Verify Python dependencies installed: `uv pip install -e ".[dev]"` - Check for port conflicts ### Inspector can't connect - Verify server is running and listening on stdio - Check server logs for errors - Try restarting both server and inspector ### Tools not appearing - Verify server initialized correctly - Check that `list_tools` handler registered - Look for registration errors in logs ### Unexpected errors - Check server logs (stderr) - Verify input matches schema exactly - Test with simpler inputs first - Check workspace permissions

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kaina3/Debug-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server