Secure SSH credential manager with MCP server support for remote command execution, file transfer, Docker management, metrics, process monitoring, cron job management, and shell history archaeology
Critical gaps across all dimensions. Tool definitions lack proper schemas, descriptions are minimal (10-50 chars, well below 50-200 char baseline), and parameters are undescribed. No input validation, error handling, or output schema documentation. The codebase shows a Tauri desktop app with an MCP server binary (src-tauri/src/bin/mcp.rs), but the actual tool registration code is not visible in the provided source. Tool definitions appear inferred from TypeScript store references rather than explicitly registered with proper MCP schemas. This violates the 'cannot see actual tool definition' rule, capping per-tool scores at 50.
Get the current AI configuration view (provider, model, effort, and whether API key is configured).
Set AI configuration including provider, API key, model selection, and reasoning effort level.
Forget everything archived for a host.
Read ~/.bash_history and ~/.zsh_history for the connecting user. Fetch from the host, merge into the stored archive, and return the merged list.
What's already archived for a host, without contacting it.
Tool definitions not visible in source code. Descriptions and schemas inferred from TypeScript store references, not explicit MCP tool registration. Cannot verify actual JSON Schema compliance or parameter type definitions.
Descriptions are 10-50 characters, far below the 50-200 char baseline for LLM-optimized descriptions. Examples: 'Read ~/.bash_history...' (50 chars), 'What's already archived...' (27 chars). Too brief to guide LLM tool selection.
No output schema documentation. Tools return unstructured responses with no documented field types, making it impossible for LLMs to plan downstream calls or extract data reliably.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Destructive tool (clear_shell_history) lacks confirmation/dry-run pattern. No error handling guidance or recovery instructions. LLM could accidentally delete all archived history without safeguards.
ai_set_config accepts 'api_key' as a parameter. Credentials must never be tool parameters, they should use server-side secret injection via environment variables or vault. Agent traces log all parameters, leaking secrets.