Docker environment documentation, security auditing, and safe MCP server
Roustabout provides 18 Docker-focused tools with consistent naming (docker_* prefix) and basic descriptions. However, critical gaps undermine production readiness: most parameter descriptions are minimal (1-5 words), output schemas are entirely undocumented, and error handling guidance is absent. Tool names follow verb_noun convention well, but descriptions average ~40 chars, below the 194-char baseline for A+ tools. No tool annotations (readOnlyHint/destructiveHint) despite clear risk stratification. Schema completeness varies: some tools have typed parameters (docker_logs, docker_probe_connectivity), but many lack descriptions or constraints. The server lacks pagination support, result limits, and chaining IDs in responses, forcing agents into discovery loops. Security-sensitive tools (docker_start, docker_stop, docker_recreate) lack confirmation patterns or dry-run support.
Run security audit checks against the Docker environment.
List available capabilities for the configured API key.
Get detail for a specific container (image, status, ports, networks).
Get deep health analysis for one or all containers.
Generate a disaster recovery plan from running containers.
Generate docker-compose.yml from running container state.
Output schemas completely undocumented. No tool specifies what fields are returned, their types, or structure. LLMs cannot plan downstream calls or extract required data.
Parameter descriptions are minimal (1-5 words). E.g., 'Container name' for docker_container.name lacks context on format, constraints, or when to use. Baseline is 72 chars; most here are <20.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
Get health status for a specific container.
Get recent logs for a specific container.
Network connectivity overview across all containers.
Get network detail for a specific container (DNS, aliases, connectivity).
Get port mappings for a specific container.
Test TCP connectivity from inside a container. Requires elevate tier.
Resolve a hostname from inside a container. Requires elevate tier.
Recreate a Docker container through the safety gateway.
Restart a Docker container through the safety gateway.
Get a redacted snapshot of all Docker containers.
Start a stopped Docker container through the safety gateway.
Stop a running Docker container through the safety gateway.
Destructive tools (docker_start, docker_stop, docker_restart, docker_recreate) lack confirmation patterns, dry-run support, or idempotency hints. Agents can accidentally restart production containers.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Despite clear risk stratification (READ_ONLY vs WRITE), LLMs receive no machine-readable signal about side effects.
No pagination, result limits, or chaining IDs. Tools like docker_snapshot and docker_audit return unbounded results with no documented structure. Agents cannot chain calls or handle large result sets.