A Kali Linux MCP server providing AI assistants with access to security tools
Critical failures across naming, descriptions, and schemas. 39 tools with minimal documentation. Most tool names lack action verbs (e.g., 'resources', 'vulnerability_scan', 'web_enumeration' are vague). Descriptions are present but generic (avg ~60 chars, well below 194-char baseline). Parameter descriptions exist but lack constraints, ranges, or format guidance. No output schemas documented. No error handling guidance. No idempotency markers despite destructive operations. Security tools expose dangerous capabilities (reverse_shell, hydra_attack, run_pentest, payload_generate) with minimal safeguards.
Creates a report from findings
Store and manage credentials securely
Enumerate DNS records for a domain
Downloads a file from a URL
Encode or decode data in various formats
Enumerate SMB shares on a target
Searches for exploits based on search terms
No output schemas documented. Tools return unstructured results with no field definitions, forcing LLMs to parse free-text output and guess at response structure. Violates pattern:tool and pattern:response-shaper.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
Fetches content from a specified URL
Analyzes a file for security issues
Analyze forms on a website for security issues
Identify the type of a hash
Analyze HTTP headers for security issues
Perform brute force attacks using Hydra
Performs network discovery on a target
Run Nuclei vulnerability scanner on a target
Parse and analyze Nmap output
Parse and analyze output from security tools
Generate exploit payloads using msfvenom
Scan ports on a target using Nmap
Perform automated reconnaissance on a target
Lists available system resources and command examples
Generate reverse shell payloads
Executes shell commands in the Kali Linux environment
Run a comprehensive penetration test
Saves command output to a file
Create a new pentest session
Delete a pentest session
Get the history of actions in the current session
List all pentest sessions with metadata
Get recent results from the current session
Get the status of the current session
Switch to a different pentest session
Spider a website to discover URLs and content
Analyze SSL/TLS configuration of a target
Enumerate subdomains of a target
Performs vulnerability scanning on a target
Perform a comprehensive web application audit
Performs web enumeration on a target
Fuzz a web application with various payloads
Dangerous tools (reverse_shell, hydra_attack, payload_generate, run_pentest) lack confirmation/dry-run patterns and have no permission gates. Agents can invoke irreversible operations without safeguards. Violates pattern:confirmation-request and pattern:permission-gate.
Parameter descriptions lack constraints, ranges, and format guidance. E.g., 'scan_type' accepts 'comprehensive' or 'quick' but no enum constraint; 'threads' has no min/max bounds; 'wordlist' path has no validation. Violates pattern:constrained-input.
No error handling guidance. Tools provide no recovery hints, error classification, or actionable messages. LLMs cannot determine if failures are retryable, user-fixable, or fatal. Violates pattern:recovery-guide and pattern:error-classification.
Tool names lack action verbs or are vague. 'resources', 'vulnerability_scan', 'web_enumeration', 'network_discovery' do not clearly signal what action occurs. Violates pattern:tool naming convention (verb_noun).