kali-mcp
<div align="center">
# ๐ kali-mcp
### Your AI, holding a full Kali Linux toolkit.
**kali-mcp turns any MCP-compatible AI assistant into a hands-on penetration
testing partner** โ it drives 27+ real Kali security tools through 123
AI-callable actions, and hands the AI clean, verified, structured findings
instead of raw terminal noise.
[](https://github.com/Neeraj829784/kali-mcp/actions)
[](https://python.org)
[](LICENSE)
**123 MCP tools ยท 27+ Kali binaries ยท autonomous hunt mode ยท verification oracles + interactsh OOB + IDOR/access-control + race & secrets scanners ยท 7 attack-chain templates ยท ~450 tests**
[Quick Start](#-quick-start) ยท [Documentation](docs/README.md) ยท [Tool Reference](docs/tools.md)
</div>
---
```
You: "Scan 10.10.10.5 and tell me what's worth attacking."
AI: โ scan_host("10.10.10.5")
โ open ports 22, 80, 445 โ fans out nikto + gobuster + nuclei + enum4linux in parallel
โ 14 findings extracted, verified, and deduplicated
โ attack chain found: Exposed .git โ leaked creds โ Admin Panel
โ next moves suggested: hydra on SSH, sqlmap on the login form
```
You describe intent. The AI drives the tools. kali-mcp makes the results
trustworthy.
## โจ Why kali-mcp
- **๐ง Structured, not raw.** Every scan result becomes a clean *finding*
(`host`, `severity`, `confidence`, `evidence`) โ never a wall of terminal text.
โ [The Finding Pipeline](docs/finding-pipeline.md)
- **๐ฏ Low false positives.** Findings are actively re-verified (soft-404
baselines, catch-all clustering, `.git`/`.env` content proof), evidence-anchored,
and cross-tool corroborated. The AI can't inflate what the tools didn't prove.
โ [False-Positive Reduction](docs/false-positive-reduction.md)
- **๐ Impact, not just bugs.** Individual findings are correlated into named
attack chains with ready-to-paste narratives. โ [Attack Chains](docs/attack-chains.md)
- **๐ฐ๏ธ Change detection.** Passive recon sweeps diff against previous runs and
surface *newly exposed* assets โ where the bounties are.
โ [Continuous Recon](docs/continuous-recon.md)
- **๐๏ธ Memory.** A persistent asset inventory and full engagement lifecycle,
from scope to client-ready report. โ [Engagements](docs/engagements.md)
- **๐ Safety-first.** stdio-only (no exposed network), scope allow/deny
enforcement, argument-injection guards, an encrypted credential vault, and a
full audit log. โ [Security Model](docs/security.md)
## ๐ Quick Start
```bash
# 1. Clone & install
git clone https://github.com/Neeraj829784/kali-mcp.git
cd kali-mcp
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
# 2. Verify
python3 -c "from server import mcp; print('Ready')"
```
Then point your AI client at it:
```json
{
"mcpServers": {
"kali-mcp": {
"command": "/path/to/kali-mcp/.venv/bin/python",
"args": ["/path/to/kali-mcp/server.py"]
}
}
}
```
Ask it to run `server_health()` to confirm the tools are installed, then
`scan_host("<your-authorized-target>")`.
Full setup โ including the security tools kali-mcp drives โ is in the
**[Installation guide](docs/installation.md)**.
## ๐ Documentation
Everything lives in **[`docs/`](docs/README.md)**:
| Start here | Concepts | Scope & assets | Reference |
|---|---|---|---|
| [Installation](docs/installation.md) | [Finding Pipeline](docs/finding-pipeline.md) | [Program Scope](docs/program-scope.md) | [Tool Reference](docs/tools.md) |
| [Configuration](docs/configuration.md) | [False-Positive Reduction](docs/false-positive-reduction.md) | [Asset Inventory](docs/asset-inventory.md) | [Security Model](docs/security.md) |
| [Workflows](docs/workflows.md) | [Attack Chains](docs/attack-chains.md) | [Continuous Recon](docs/continuous-recon.md) | [Deployment](docs/deployment.md) |
| [Engagements](docs/engagements.md) | | | [Testing](docs/testing.md) |
## โ๏ธ Responsible use
kali-mcp runs real offensive tooling. **Only test systems you own or are
explicitly authorized to test.** Use [programs](docs/program-scope.md) to encode
your authorization boundary and stay inside it. You are responsible for how you
use this tool.
## ๐ License
MIT โ see [LICENSE](LICENSE).
TDQS
Scored across 101 tools
Many tools have overlapping purposes: multiple port scanners (nmap_port_scan, nmap_xml_scan, fast_port_scan), multiple subdomain tools (subfinder_enumerate, amass_enum, theharvester_search, recon_sweep), and two parallel scope management systems (scope_* and program_scope_*). An agent would frequently struggle to pick the correct tool without reading full details.
There are two main conventions: category_action (nmap_port_scan, scope_add, asset_mark_host) and verb_noun (get_job_status, list_artifacts). Some names like server_health, html_to_text, and pcap_protocols break the pattern entirely. It's readable but not uniform.
101 tools is far beyond reasonable for a single MCP server. The calibration specifies 50+ as an extreme mismatch, and this server has more than double that. The sheer number overwhelms tool selection and creates unnecessary redundancy.
The toolset covers the entire penetration testing lifecycle: recon (nmap, subfinder, theharvester), scanning (nikto, nuclei, gobuster), exploitation (sqlmap, hydra, metasploit), post-exploitation (ssh_exec, creds_store), and reporting (generate_pentest_report, analyze_findings). No obvious gaps for the Kali Linux domain.