MCP server providing console and command execution capabilities for Windows systems, including CMD, PowerShell, and WSL command execution, process management, and system information retrieval.
MCPConsoleServer has 28 tools with consistent naming (verb_noun pattern) and basic descriptions. However, critical gaps undermine production readiness: (1) Output schemas are completely undocumented, tools return JSON but LLMs cannot predict field structure; (2) Parameter descriptions exist but lack constraints (enums, ranges, formats); (3) No error handling guidance, tools catch exceptions and return generic error objects without recovery hints; (4) No security documentation despite exposing destructive operations (kill_process, close_session, execute_cmd); (5) Descriptions average ~80 chars, below the 194-char baseline for A+ tools, lacking WHEN/WHY context. Tools like execute_cmd, execute_powershell, and execute_wsl are particularly risky, no mention of command injection risks, no dry-run option, no confirmation pattern for destructive commands.
Changes the current working directory.
Checks if WSL (Windows Subsystem for Linux) is available and lists installed distributions.
Cleans up inactive sessions (terminated or errored).
Closes a specific session and terminates its process.
Creates a new persistent console session that maintains state between commands.
Executes a command in the Windows Command Prompt (CMD).
Executes a command in an existing persistent session, maintaining environment state.
Output schemas completely undocumented. Tools return JSON objects but LLMs cannot predict field names, types, or structure. No documentation of what fields are returned by execute_cmd, get_system_info, list_processes, etc.
Destructive operations lack confirmation or dry-run patterns. kill_process, close_session, and execute_cmd can cause irreversible damage without user confirmation or preview.
No error handling guidance. Exceptions are caught and returned as generic {error: message} objects. LLMs receive no classification (retryable vs fatal), no recovery hints, no actionable next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Executes a command in PowerShell.
Executes a command in WSL (Windows Subsystem for Linux).
Finds processes by name pattern.
Gets the current working directory.
Gets disk space information for all system drives.
Gets environment variables for the specified target.
Gets recent system event log entries.
Gets network interface information.
Gets system performance information including CPU usage, memory, and process count.
Gets the PowerShell version installed on the system.
Gets information about a specific process by ID.
Gets the current working directory of a session.
Gets detailed information about a specific session.
Gets comprehensive system information including OS, hardware, and software details.
Gets the top processes by memory usage.
Gets the top processes by CPU usage.
Gets installed Windows features (may require administrator privileges).
Terminates a process by ID. Use with caution!
Lists files and directories in the specified path.
Gets a list of all running processes.
Lists all active console sessions with their status and information.
Parameter constraints missing. timeoutSeconds, count, maxEntries, and shellType lack enums, ranges, or format specifications. LLMs can pass invalid values (negative timeouts, shellType='bash') without validation.
No security documentation. Tools expose command execution, process termination, and system information without mentioning permission requirements, command injection risks, or audit logging.