MCP server providing access to Kali Linux security testing tools including network scanning, web application testing, SSL/TLS testing, DNS reconnaissance, password cracking, and other penetration testing utilities.
17 security tools with consistent but minimal quality. All tools have descriptions (good), but descriptions are generic warnings rather than LLM-optimized guidance. Input schemas present with basic types, but lack enums for constrained parameters (scan_type, mode, enumerate). No output schemas documented. Parameter descriptions are sparse (1-2 sentences). Error handling is absent, tools return raw command output or generic errors. No guidance on when to use each tool vs. alternatives. Security-focused descriptions emphasize warnings but don't explain tool purpose or expected output structure. Naming is verb-noun (nmap_scan, sqlmap_scan) which is correct, but tools lack composition guidance, no indication of which tools chain together or what IDs they return.
Test for command injection vulnerabilities using Commix. WARNING: Only test authorized applications.
Brute force directories and files on web servers using DIRB. WARNING: Only scan authorized web servers.
Enumerate DNS information using dnsenum. WARNING: Only scan authorized domains.
DNS reconnaissance using dnsrecon. Types: std, axfr, bing, zonewalk. WARNING: Only scan authorized domains.
DNS reconnaissance and subdomain enumeration using Fierce. WARNING: Only scan authorized domains.
Fast directory and DNS brute forcing using gobuster. Modes: dir, dns, vhost. WARNING: Only scan authorized targets.
No output schemas documented. Tools return raw command output (stdout+stderr) as unstructured text. LLMs cannot parse results, extract IDs, or chain tools. Example: nmap_scan returns raw nmap output; downstream tools cannot extract discovered hosts or ports.
Constrained parameters lack enums. scan_type (basic|fast|intense|vuln|service), mode (dir|dns|vhost), enumerate (u|p|t|vp) are free-form strings. LLMs will hallucinate invalid values. Should declare as JSON Schema enums.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | <=2025-11-25 | v2 |
Crack password hashes using John the Ripper. Provide hash file path. WARNING: Only crack authorized hashes.
Fast TCP port scanner using masscan. Scans large networks quickly. WARNING: Only scan authorized targets.
Discover live hosts on network using ARP. WARNING: Only scan authorized networks.
Scan web server for vulnerabilities using Nikto. WARNING: Only scan authorized web servers.
Scan network hosts and ports using nmap. Scan types: basic, fast, intense, vuln, service. WARNING: Only scan authorized targets.
Test for SQL injection vulnerabilities using sqlmap. WARNING: Only test authorized applications.
Test SSL/TLS configuration using sslscan. WARNING: Only test authorized servers.
Comprehensive SSL/TLS testing using testssl.sh. WARNING: Only test authorized servers.
Detect Web Application Firewalls (WAF) using wafw00f. WARNING: Only scan authorized sites.
Identify web technologies, CMS, frameworks using WhatWeb. Aggression levels: 1-4. WARNING: Only scan authorized sites.
Scan WordPress sites for vulnerabilities. Enumerate options: u (users), p (plugins), t (themes), vp (vulnerable plugins). WARNING: Only scan authorized sites.
Error handling is absent. Tools return raw subprocess errors or command timeouts with no recovery guidance. Example: 'Command timed out after 300 seconds' tells LLM nothing about retry strategy or next steps. Should categorize errors (retryable, user-fixable, fatal) and suggest alternatives.
Descriptions are generic security warnings, not LLM-optimized guidance. Example: 'Scan network hosts and ports using nmap. Scan types: basic, fast, intense, vuln, service. WARNING: Only scan authorized targets.' Lacks WHEN to use (vs masscan), WHAT it returns, or expected output format. Should be 50-200 chars with actionable context.
No tool composition guidance. 17 scanning tools exist but no documentation of which tools chain together, what IDs they return, or recommended workflows. Example: nmap discovers hosts; masscan scans ports; nikto tests web servers, but no indication of data flow or parameter mapping between them.