MCP server enabling direct SSH connections with IP/username/password - no config required. Fork of ssh-mcp with ad-hoc connection support.
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Both tools accept credentials as parameters (critical security issue), lack output schema documentation, and have minimal error guidance. Naming is verb-based but descriptions are functional rather than LLM-optimized. No tool annotations or composition patterns evident.
Execute a shell command on any SSH server by providing connection details directly. This tool allows ad-hoc connections without pre-configuration.
Execute a shell command on the remote SSH server and return the output. Uses connection details from CLI arguments.
Credentials exposed as tool parameters: password and privateKey are passed directly as parameters in direct_exec, violating secret-injection pattern. These will appear in agent logs and traces.
No output schema documented. Tools return results from execSshCommand but the response structure (success/failure, stdout/stderr, exit code) is not specified. LLMs cannot plan downstream actions without knowing return fields.
Missing parameter descriptions for critical fields: 'port' has a description but 'timeout' description is minimal. 'privateKey' should clarify format (PEM, OpenSSH, etc.). Parameter descriptions average 30-40 chars; baseline is 72 chars.
Error handling lacks recovery guidance. Code throws McpError with generic messages like 'Unexpected error' without actionable next steps. LLMs cannot self-correct or retry intelligently.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
No idempotency guarantees or confirmation pattern for destructive operations. SSH commands can delete files, modify systems, or cause irreversible changes. No dry-run or confirmation step offered.