MCP server for remote server management via SSH, providing tools for host metrics, container management, key management, and command execution with access control policies
Critical gaps across all dimensions. Tool definitions exist but lack essential structure for LLM use. Descriptions are present but minimal (avg ~25 chars, well below 194-char baseline). No input schemas visible in source, only parameter names and types inferred from ToolRunner.swift logic. No output schemas documented. Parameters lack descriptions entirely. Error handling is generic. Tool names are reasonable (verb_noun pattern) but descriptions are too terse to guide LLM selection. This server is not production-ready for agent integration.
Завести сервер в списке
start / stop / restart / rm
Подробности контейнера
Последние строки логов
Ядра, память, диск, сеть, аптайм
Что с хостом не так: пороги уже применены
Ключи на сервере
No input schemas visible in source code. Tool definitions in ToolCatalog.swift show only tool names and summaries; parameter schemas are inferred from ToolRunner.swift logic but not formally registered. LLMs cannot validate inputs or understand parameter constraints.
Descriptions are too terse (avg ~25 chars, baseline 194 chars). Examples: 'Серверы и статус подключения' (28 chars), 'Ядра, память, диск, сеть, аптайм' (33 chars). Descriptions lack WHEN to use, WHAT it returns, and dependencies. LLMs cannot reliably select the right tool.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | 2026-07-28+ | v2 |
Контейнеры с состоянием и метриками
Серверы и статус подключения
Добавить или удалить ключ
Убрать сервер из списка
Выполнить команду на хосте
Изменить сервер в списке
No parameter descriptions. Parameters like 'host' (UUID), 'command' (shell command), 'action' (start/stop/restart/rm) lack descriptions explaining format, constraints, or valid values. LLMs must guess intent from names alone.
No output schemas documented. Tools return ToolResult (text + isError flag) but no structured field definitions. LLMs cannot parse results or extract IDs for chaining (e.g., host UUID from list_hosts for use in host_metrics).
Error messages are generic ('не указан или не найден хост', 'отказано: <reason>'). No recovery guidance. LLMs cannot determine if error is retryable, user-fixable, or fatal. No suggestions for alternative tools or corrective actions.