MCP server for managing Windows Subsystem for Linux (WSL) distributions with tools for starting, stopping, monitoring, and configuring distros
Critical gaps across naming, descriptions, and schemas. Tool names lack action verbs (list_distros vs list_all_distros; snapshot vs create_snapshot). Descriptions are minimal (avg 25 chars, well below 194-char baseline) and lack context on WHEN to use tools or what they return. Parameter descriptions are sparse or missing entirely, 'distro' appears 8 times with no description. No output schemas documented. Error handling is generic ('error': str(e)) with no recovery guidance. The server is STDIO-only, capping protocol readiness at 50. Overall definition quality reflects a prototype, not production-ready tooling.
Clona una distro
Diagnostico del entorno WSL
IPs de todas las distros
Metricas de RAM/CPU por distro
Lista distros con estado, version e IP
Aplica un perfil
Reinicia una distro
Parameter descriptions missing or trivial. 'distro' parameter appears 8 times with no description. LLMs cannot infer whether 'distro' expects a name, ID, or path. Violates pattern:tool-description requirement that every parameter must have a non-empty description.
Tool descriptions are minimal (avg 25 chars vs 194-char baseline). Descriptions like 'Inicia una distro' lack context on WHEN to use the tool, what it returns, or prerequisites. LLMs cannot determine tool selection criteria. Violates pattern:tool-description.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Ejecuta un comando en una distro
Programa una tarea
Limites globales (memory_gb, processors, swap_gb)
Apaga todas las distros
Snapshot de una distro
Inicia una distro
Estado global (distros + alertas)
Detiene una distro
No output schemas documented. Tools return dicts with ad-hoc fields ('ok', 'error', 'distros', 'metrics') but no formal schema. LLMs cannot plan downstream tool calls or extract structured data reliably. Violates pattern:tool requirement for documented return types.
Error handling is generic and non-actionable. All errors return {'error': str(e)} with no recovery guidance, categorization, or invalid-value context. LLMs cannot self-correct or determine if an error is retryable. Violates pattern:recovery-guide.
Destructive operations (shutdown_all, clone, run_command) lack confirmation or dry-run support. Agents can trigger irreversible actions without safeguards. Violates pattern:confirmation-request.