Secure MCP Gateway for SSH Infrastructure - provides controlled SSH command execution through MCP with rule-based validation, audit logging, and bearer token authentication
Two tools with significant definition gaps. aegis_status has empty input schema ({}), which is acceptable for a read-only status check, but lacks depth in description. aegis_ssh_<alias> has a well-structured schema with proper parameter descriptions and type definitions, but the tool name pattern is problematic: it uses a dynamic suffix (<alias>) rather than a stable verb_noun pattern, making it difficult for LLMs to discover and reason about tool selection. Descriptions are present but generic. No output schemas documented. No error handling guidance. No tool annotations (readOnlyHint/destructiveHint). Overall definition quality is below median for production tools.
[Aegis] Execute a single command on host (varies by config type - either fixed host or dynamic with caller-provided host). Commands are validated before execution against configured rule profile.
[Aegis] Returns the current status of the Aegis-SSH-MCP gateway: number of registered hosts, active rule profiles, and server uptime. No SSH connection is made.
Dynamic tool naming (aegis_ssh_<alias>) violates verb_noun convention. LLMs cannot discover or reason about tool selection when names are generated at runtime. Should use a single parameterized tool or stable naming.
No output schemas documented for either tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does aegis_status return? What fields are in the SSH command response?).
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). aegis_status is clearly read-only; aegis_ssh_<alias> is destructive (WRITE risk). Annotations enable safer agent planning.
No error handling guidance in descriptions. If command validation fails or SSH connection drops, what should the LLM do? No recovery hints provided.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
aegis_status description is generic and lacks context. Does not explain when to call it, what the numbers mean, or how to interpret 'active rule profiles'.