An MCP server that provides tools to execute commands and manage a persistent Kali Linux Docker container for penetration testing and security operations.
Four tools with basic schemas and descriptions, but significant gaps in parameter documentation and output structure. Tool names follow verb_noun convention (kali-exec, kali-container-status, kali-container-restart, kali-container-stop), which is good. However, descriptions lack depth on when to use each tool vs. alternatives, and parameter descriptions are minimal. No documented output schemas. Error handling is present in code but not surfaced in tool definitions. The 'kali-exec' tool is high-risk (IRREVERSIBLE) but lacks confirmation/dry-run pattern. Average description length ~80 chars (below 194-char baseline). Parameters have types but lack constraints (e.g., no enum for image, no validation rules).
Restart the persistent Kali Linux container (useful if it becomes unresponsive).
Check the status of the persistent Kali Linux container.
Stop the persistent Kali Linux container to free up system resources.
Runs a shell command inside the persistent Kali Linux Docker container and returns the captured output.
No output schemas documented. Tools return strings but LLMs cannot infer structure (e.g., does kali-exec return raw stdout, JSON, or formatted text?). Downstream tools cannot chain reliably.
kali-exec is irreversible (can delete files, modify system) but lacks confirmation/dry-run pattern. Agents can accidentally destroy the container state without safeguards.
Parameter descriptions are minimal (10-30 chars). 'image' param lacks guidance on valid image names, format, or defaults. 'containerName' lacks explanation of naming rules. LLMs cannot infer constraints.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | <=2025-11-25 | v2 |
No error recovery guidance in tool definitions. Code throws ArgumentException and InvalidOperationException, but tool descriptions do not explain what errors are possible or how to recover.
Tool descriptions do not explain when to use each tool vs. alternatives. E.g., when should an agent call kali-container-restart vs. kali-container-stop + manual restart? No dependency hints.