Problem
When a server fails to connect or behaves unexpectedly, users have limited debugging options beyond --verbose. A dedicated diagnostic command would help users self-serve common issues.
Proposed solution
Add mcpplay doctor server.py that runs a series of checks:
- Script file exists and is readable
- Python interpreter found
- Server process starts without crashing
- MCP
initialize handshake succeeds
tools/list returns valid tools
- Tool schemas are valid JSON Schema
- Schema compatibility warnings (anyOf/oneOf/allOf issues with known clients)
- Summary: "3 tools found, 1 schema warning, server healthy"
Output is human-readable with checkmarks/crosses. Exit code 0 if healthy, 1 if problems found.
Alternatives considered
Adding diagnostics to mcpplay run --verbose. A separate command is cleaner — it runs checks and exits, rather than starting the full UI.