{"id":51150258,"url":"https://github.com/zebbern/zebbern-kali-mcp","last_synced_at":"2026-06-26T05:30:49.014Z","repository":{"id":343342152,"uuid":"1129011936","full_name":"zebbern/zebbern-kali-mcp","owner":"zebbern","description":"MCP server for Kali Linux penetration testing - 130 tools for AI-assisted security testing - Giving Agents access to full pentesting tools","archived":false,"fork":false,"pushed_at":"2026-04-13T20:22:13.000Z","size":586,"stargazers_count":29,"open_issues_count":0,"forks_count":8,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-29T03:05:44.627Z","etag":null,"topics":["ai-agents","ai-agents-mcp","ai-mcp","ai-sdk","ai-studio","ai-toolkit","ai-tools","automated-pentesting","automated-testing","kali","kali-tools","mcp","mcp-api","mcp-client","mcp-gateway","mcp-kali","mcp-server","mcp-tools","model-context-protocol"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zebbern.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-06T13:34:09.000Z","updated_at":"2026-05-23T04:42:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/zebbern/zebbern-kali-mcp","commit_stats":null,"previous_names":["zebbern/zebbern-kali-mcp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zebbern/zebbern-kali-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebbern%2Fzebbern-kali-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebbern%2Fzebbern-kali-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebbern%2Fzebbern-kali-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebbern%2Fzebbern-kali-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zebbern","download_url":"https://codeload.github.com/zebbern/zebbern-kali-mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zebbern%2Fzebbern-kali-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34805072,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-26T02:00:06.560Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","ai-agents-mcp","ai-mcp","ai-sdk","ai-studio","ai-toolkit","ai-tools","automated-pentesting","automated-testing","kali","kali-tools","mcp","mcp-api","mcp-client","mcp-gateway","mcp-kali","mcp-server","mcp-tools","model-context-protocol"],"created_at":"2026-06-26T05:30:48.391Z","updated_at":"2026-06-26T05:30:48.992Z","avatar_url":"https://github.com/zebbern.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Zebbern Kali MCP Server\n\nA Docker-based **Model Context Protocol (MCP)** server that gives AI agents (GitHub Copilot, Claude, etc.) direct access to a full Kali Linux penetration testing toolkit. The AI agent calls MCP tools, which forward requests to a Flask API running inside a Kali container — every tool executes in an isolated, pre-configured environment.\n\n[![License](https://img.shields.io/badge/license-MIT-blue)](LICENSE)\n[![Python](https://img.shields.io/badge/python-3.10+-blue)](https://www.python.org)\n[![MCP Tools](https://img.shields.io/badge/MCP%20modules-17-green)]()\n[![Base Image](https://img.shields.io/badge/base-kalilinux%2Fkali--rolling-black)](https://hub.docker.com/r/kalilinux/kali-rolling)\n\n---\n\n## Architecture\n\nThe project is a **two-part client → server system**:\n\n```\n┌──────────────────────────────────┐          HTTP           ┌──────────────────────────────────────┐\n│          Windows / Host          │        (port 5000)      │         Docker Container             │\n│                                  │                         │         (kalilinux/kali-rolling)     │\n│  AI Agent (Copilot / Claude)     │                         │                                      │\n│          │                       │                         │  Flask API Server                    │\n│          ▼                       │                         │    ├── api/blueprints/*.py  (routes) │\n│  MCP Client  (mcp_tools/*.py)    │ ──── POST /tools/* ───► │    └── core/*.py           (logic)  │\n│    └── KaliToolsClient           │                         │              │                       │\n│        (HTTP requests)           │                         │              ▼                       │\n│                                  │                         │  Kali tools (nmap, sqlmap, …)        │\n└──────────────────────────────────┘                         └──────────────────────────────────────┘\n```\n\n| Component | Location | Runs on | Role |\n|-----------|----------|---------|------|\n| **MCP Client** | `mcp_tools/` | Host (Windows/Linux/macOS) | Exposes tool definitions to AI agents via the MCP protocol. Each tool call is translated into an HTTP request to the Flask server. |\n| **Flask Server** | `zebbern-kali/` | Inside Docker container | Receives HTTP requests, dispatches them through Flask blueprints (`api/blueprints/`) to core logic (`core/`), and executes the actual Kali tools. |\n| **Entrypoint** | `entrypoint.sh` | Inside Docker container | Initializes networking (routes, `/etc/hosts`, TUN interfaces, IP forwarding) before launching the Flask server. |\n\n**Request flow:** AI Agent → MCP tool function → `KaliToolsClient` HTTP request → Flask blueprint → Core logic → tool execution on Kali → JSON response back.\n\n---\n\n## Quick Start\n\n### Docker + uvx (Recommended)\n\n**1. Start the Kali backend:**\n\n```bash\n# Download just the compose file — no full clone needed\ncurl -sLO https://raw.githubusercontent.com/zebbern/zebbern-kali-mcp/main/docker-compose.yml\ndocker compose up -d\n```\n\nOr build and run directly:\n\n```bash\ndocker build -t zebbern-kali-mcp .\ndocker run -d -p 5000:5000 --name zebbern-kali zebbern-kali-mcp\n```\n\n\u003e **Linux host networking:** For direct host network access (no port mapping needed), also grab `docker-compose.host.yml` and run:\n\u003e ```bash\n\u003e docker compose -f docker-compose.yml -f docker-compose.host.yml up -d\n\u003e ```\n\n**2. Add to VS Code** (`.vscode/mcp.json` or global MCP config):\n\n```json\n{\n  \"servers\": {\n    \"kali-tools\": {\n      \"command\": \"uvx\",\n      \"args\": [\"zebbern-kali-mcp\"]\n    }\n  }\n}\n```\n\nRestart VS Code — done. `uvx` auto-downloads the MCP client from PyPI.\n\n\u003e Docker is the supported install path. See the setup sections below for env vars, VPN/SOCKS proxy, image variants, and networking details.\n\n---\n\n## MCP Tool Modules\n\n17 MCP client modules in `mcp_tools/`, each with a corresponding Flask blueprint in `zebbern-kali/api/blueprints/` and core logic in `zebbern-kali/core/`:\n\n| # | Module | Description |\n|---|--------|-------------|\n| 1 | `kali_tools` | Nmap, Nikto, Gobuster, Dirb, WPScan, SQLMap, Hydra, John, enum4linux, Subfinder, httpx, Arjun, Fierce, ssh-audit, FFuf, Nuclei, and more |\n| 2 | `ad_tools` | Active Directory attacks — netexec, BloodHound, impacket, certipy, bloodyAD, Kerberoasting, Pass-the-Hash, LDAP |\n| 3 | `command_exec` | Arbitrary command execution on the Kali container |\n| 4 | `ssh_manager` | SSH session lifecycle — connect, execute, tunnel, disconnect |\n| 5 | `reverse_shell` | Reverse shell listeners and session management |\n| 6 | `metasploit` | Metasploit Framework integration — modules, sessions, exploits |\n| 7 | `network_pivot` | Chisel, Ligolo-ng, SSH tunnels, ProxyChains, SOCKS proxy |\n| 8 | `vpn` | WireGuard \u0026 OpenVPN management with auto SOCKS5 proxy |\n| 9 | `api_security` | GraphQL introspection, JWT analysis, FFUF fuzzing |\n| 10 | `web_fingerprinter` | Technology detection and web fingerprinting |\n| 11 | `exploit_suggester` | Exploit suggestion based on scan results |\n| 12 | `payload_generator` | Payload generation for various platforms |\n| 13 | `file_operations` | File upload/download between host and container |\n| 14 | `callback_catcher` | Built-in HTTP + DNS callback listener for isolated networks |\n| 15 | `ctf_platform` | CTFd \u0026 rCTF API — challenges, flags, scoreboard |\n| 16 | `hosts_management` | `/etc/hosts` management inside the container |\n| 17 | `output_parser` | Structured parsing of tool output for AI consumption |\n\n---\n\n## Installed Tools\n\nEverything below is pre-installed in the Docker image — no manual setup required.\n\n### Network Scanning\n| Tool | Description |\n|------|-------------|\n| **nmap** | Port scanning, service/version detection, NSE scripts |\n| **masscan** | High-speed port scanner |\n| **sslscan** | SSL/TLS configuration analysis |\n\n### Web Application Scanning\n| Tool | Description |\n|------|-------------|\n| **nikto** | Web server vulnerability scanner |\n| **gobuster** | Directory/file/DNS brute-forcing |\n| **dirb** | Web content scanner |\n| **wpscan** | WordPress vulnerability scanner |\n| **sqlmap** | Automated SQL injection |\n| **ffuf** | Fast web fuzzer |\n| **nuclei** | Template-based vulnerability scanner |\n| **katana** | Web crawler (v1.1.0 pre-built binary) |\n| **amass** | Attack surface mapping |\n| **commix** | Command injection exploitation |\n| **ghauri** | Advanced SQL injection detection |\n\n### Subdomain \u0026 DNS Enumeration\n| Tool | Description |\n|------|-------------|\n| **subfinder** | Passive subdomain discovery |\n| **httpx** | HTTP probing and technology detection |\n| **assetfinder** | Subdomain discovery via various sources |\n| **waybackurls** | Fetch URLs from the Wayback Machine |\n| **amass** | DNS enumeration and network mapping |\n| **massdns** | High-performance DNS resolver |\n| **fierce** | DNS reconnaissance |\n| **mapcidr** | CIDR range manipulation |\n| **subzy** | Subdomain takeover checking |\n\n### Brute Force \u0026 Password Cracking\n| Tool | Description |\n|------|-------------|\n| **hydra** | Network login brute-forcer |\n| **john** | John the Ripper password cracker |\n| **hashcat** | GPU-accelerated hash cracking |\n\n### Active Directory\n| Tool | Description |\n|------|-------------|\n| **netexec** | Primary SMB/LDAP/WinRM tool (replaces crackmapexec) |\n| **impacket** (0.13.0) | Python AD attack toolkit — ~50 scripts symlinked as `impacket-*` in PATH (secretsdump, psexec, wmiexec, etc.) |\n| **bloodhound.py** | AD relationship graphing — data collector |\n| **bloodyAD** | AD privilege escalation framework |\n| **certipy-ad** | AD Certificate Services (ADCS) exploitation |\n| **responder** | LLMNR/NBT-NS/MDNS poisoner |\n| **evil-winrm** | WinRM shell with upload/download |\n| **krbrelayx** | Kerberos relay and delegation abuse |\n| **gMSADumper** | Group Managed Service Account password dumper |\n| **PetitPotam** | NTLM relay coercion via EFS RPC |\n| **coercer** | Coerce Windows authentication |\n| **dementor** | SpoolService abuse for relay attacks |\n| **winrmexec** | WinRM command execution |\n| **pywhisker** | Shadow Credentials attack tool |\n| **ldapdomaindump** | LDAP domain information dumper |\n\n### Exploitation\n| Tool | Description |\n|------|-------------|\n| **metasploit-framework** | Full Metasploit Framework |\n| **commix** | Command injection exploitation |\n| **ghauri** | Advanced SQL injection |\n| **dalfox** | XSS scanning and exploitation |\n| **byp4xx** | 403 Forbidden bypass techniques |\n| **exploitdb** | Exploit database (searchsploit) |\n\n### JavaScript Analysis\n| Tool | Description |\n|------|-------------|\n| **getJS** | Extract JavaScript files from pages |\n| **jsluice** | Extract URLs, paths, and secrets from JS |\n| **xnLinkFinder** | Link and parameter discovery from JS |\n| **SecretFinder** | Find API keys and secrets in JS files |\n| **TruffleHog** | Secret scanning across repos and files |\n| **js-beautify** | JavaScript deobfuscation/beautification |\n| **webcrack** | Webpack bundle unpacking (npm) |\n| **ParamSpider** | Parameter discovery from web archives |\n\n### API Testing\n| Tool | Description |\n|------|-------------|\n| **jwt-tool** | JWT token analysis and exploitation |\n| **graphw00f** | GraphQL engine fingerprinting |\n| **clairvoyance** | GraphQL schema introspection |\n\n### Proxy \u0026 Interception\n| Tool | Description |\n|------|-------------|\n| **mitmproxy** | Scriptable HTTP/HTTPS proxy (mitmdump) |\n| **OWASP ZAP** | Automated web app security scanner (zaproxy) |\n| **Caido** | Modern web proxy (CLI) |\n\n### Forensics \u0026 CTF\n| Tool | Description |\n|------|-------------|\n| **binwalk** | Firmware analysis and file extraction |\n| **steghide** | Steganography tool |\n| **stegseek** | Fast steghide cracker (wordlist-based) |\n| **zsteg** | PNG/BMP steganography detector (Ruby) |\n| **exiftool** | Metadata reader/writer |\n| **foremost** | File carving/recovery |\n| **volatility3** | Memory forensics framework (Python) |\n| **sleuthkit** | Disk forensics — `mmls`, `fls`, `icat`, `blkcat` |\n| **gdb** | GNU Debugger |\n| **radare2** | Reverse engineering framework (disassembly, debugging, patching) |\n| **imagemagick** | Image manipulation and analysis |\n| **tesseract-ocr** | Optical character recognition |\n\n### Binary Analysis (Python)\n| Tool | Description |\n|------|-------------|\n| **angr** | Binary analysis framework |\n| **pwntools** | CTF exploitation library |\n\n### Crypto \u0026 Math (Python)\n| Tool | Description |\n|------|-------------|\n| **pycryptodome** | Cryptographic primitives |\n| **gmpy2** | High-precision math |\n| **z3-solver** | SMT constraint solver |\n| **sympy** | Symbolic mathematics |\n| **SageMath** | Not bundled in the current Kali rolling image |\n| **RsaCtfTool** | RSA attack automation (`/opt/RsaCtfTool/`) |\n| **cado-nfs** | Integer factorization for large keys (`/opt/cado-nfs/`) |\n\n### Networking\n| Tool | Description |\n|------|-------------|\n| **scapy** | Packet crafting and sniffing (Python) |\n| **tcpdump** | Packet capture |\n| **socat** | Multipurpose relay / socket tool |\n| **netcat** | TCP/UDP networking utility |\n| **proxychains4** | Proxy routing for arbitrary tools |\n| **openvpn** | VPN client |\n| **wireguard-tools** | WireGuard VPN |\n\n### Pivoting\n| Tool | Description |\n|------|-------------|\n| **chisel** | TCP/UDP tunnel over HTTP (Go binary + Windows .exe in `/opt/windows-tools/`) |\n| **ligolo-ng** (v0.7.5) | Tunneling — proxy + agents for Linux \u0026 Windows (in `/opt/ligolo-ng/`) |\n| **socat** | Port forwarding and relay |\n\n### Privilege Escalation\n| Tool | Description | Location |\n|------|-------------|----------|\n| **LinPEAS** | Linux privilege escalation audit script | `/opt/privesc-tools/linpeas.sh` |\n| **WinPEAS** | Windows privilege escalation audit (x64, x86, .bat) | `/opt/privesc-tools/` |\n| **Mimikatz** | Windows credential extraction | `/opt/windows-tools/mimikatz/` |\n| **RunasCs.exe** | Windows runas with explicit credentials | `/opt/windows-tools/RunasCs.exe` |\n\n### Tunneling \u0026 Remote Access\n| Tool | Description |\n|------|-------------|\n| **cloudflared** | Cloudflare Tunnel client (expose services without port-forwarding) |\n| **ngrok** | Instant public URLs for local services |\n\n### Media \u0026 Containers\n| Tool | Description |\n|------|-------------|\n| **ffmpeg** | Audio/video processing and conversion |\n| **sox** | Sound processing and analysis (+ all format plugins) |\n| **podman** | Rootless container engine (needs `--privileged` at runtime) |\n| **numpy** | Numerical computing (Python) |\n| **scipy** | Scientific computing (Python) |\n\n### Callback Catcher\nA **custom built-in HTTP + DNS callback listener** for isolated networks where external services like webhook.site can't reach your targets. Managed via the `callback_catcher` MCP module.\n\n### Browser Automation\n| Tool | Description |\n|------|-------------|\n| **Playwright** (Chromium) | Headless browser for SPA testing, screenshots, JS-rendered pages |\n\n### Wordlists\nPre-installed: **rockyou.txt** (decompressed), **SecLists**, and symlinked wordlists at `/usr/share/wordlists/dirb/` for tool compatibility.\n\n---\n\n## Python Dependencies\n\nFrom `requirements.txt` — installed inside the container:\n\n```\nFlask, Werkzeug            # API server\nrequests                   # HTTP client\nparamiko                   # SSH\nmcp                        # MCP protocol (client)\nplaywright                 # Browser automation\npwntools                   # Binary exploitation\nsympy, gmpy2               # Math\npycryptodome, z3-solver    # Crypto \u0026 SMT solving\nangr                       # Binary analysis\nscapy                      # Packet crafting\nPillow                     # Image processing (stego)\nbeautifulsoup4             # HTML parsing\nimpacket==0.13.0           # AD attacks (pinned)\nldapdomaindump, pywinrm    # AD support\npexpect                    # Terminal automation\npython-dotenv              # Environment config\n```\n\nAdditional pip packages installed during build: `bloodyAD`, `certipy-ad`, `bloodhound`, `pywhisker`, `coercer`, `fierce`, `arjun`, `dementor`, `commix`, `ghauri`, `jwt-tool`, `graphw00f`, `clairvoyance`, `xnLinkFinder`, `paramspider`, `mitmproxy`, `waymore`, `ssh-audit`, `volatility3`, `numpy`, `scipy`.\n\n---\n\n## Configuration\n\n### Environment Variables\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `API_PORT` | `5000` | Flask server port |\n| `DEBUG_MODE` | `0` | Enable debug logging |\n| `BLOCKING_TIMEOUT` | `30` | Default command timeout (seconds) |\n| `HTB_ROUTES` | — | Comma-separated CIDRs to route (e.g. `10.129.0.0/16,10.10.0.0/16`) |\n| `EXTRA_HOSTS` | — | Comma-separated `hostname:ip` pairs added to `/etc/hosts` |\n| `VPN_DIR` | `./vpn` | Host directory mounted at `/vpn` (read-only) for VPN configs |\n| `KALI_API_URL` | `http://127.0.0.1:5000` | MCP client: URL of the Kali Flask server |\n\n### Docker Compose\n\n```bash\n# Standard (bridge networking, port-mapped)\ndocker compose up -d\n\n# Host networking (Linux only — direct access to host network/VPN interfaces)\ndocker compose -f docker-compose.yml -f docker-compose.host.yml up -d\n```\n\nThe compose file grants `NET_RAW` + `NET_ADMIN` capabilities and provides `/dev/net/tun` for VPN and Ligolo support.\n\n---\n\n## Design Decisions\n\n| Decision | Rationale |\n|----------|-----------|\n| **Fail-fast build** | Dockerfile fails the build if tools can't install — no `\\|\\| echo WARN` fallbacks on critical tools. You know immediately if something is broken. |\n| **netexec over crackmapexec** | crackmapexec is deprecated. netexec is installed from the Kali repos as the primary SMB/LDAP/WinRM tool. |\n| **Custom callback catcher** | For isolated CTF/pentest networks where webhook.site or interactsh can't reach your targets. Built-in HTTP + DNS listener. |\n| **AI-agent optimized output** | `NO_COLOR=1`, `TERM=dumb`, `FORCE_COLOR=0`, `CI=true`, `PWNLIB_NOTERM=1` — suppresses banners, colors, progress bars, and interactive prompts so AI agents get clean, parseable text. |\n| **impacket pinned to 0.13.0** | Ensures stable AD tool behavior across rebuilds. |\n| **Separate client/server** | MCP client is a lightweight PyPI package (`uvx zebbern-kali-mcp`); the heavy tools live in Docker. Users never install pentest tools on their host. |\n\n---\n\n## Project Structure\n\n```\nzebbern-kali-mcp/\n├── Dockerfile                  # Multi-layer Kali image build\n├── docker-compose.yml          # Standard bridge-mode deployment\n├── docker-compose.host.yml     # Host networking overlay (Linux)\n├── entrypoint.sh               # Container init (routes, hosts, TUN, IP forwarding)\n├── requirements.txt            # Python dependencies for the container\n├── pyproject.toml              # PyPI package config for the MCP client\n├── mcp_server.py               # MCP client entrypoint (FastMCP server)\n│\n├── mcp_tools/                  # MCP CLIENT (runs on host)\n│   ├── _client.py              #   KaliToolsClient — HTTP transport\n│   ├── kali_tools.py           #   Nmap, Nikto, Gobuster, SQLMap, etc.\n│   ├── ad_tools.py             #   Active Directory tools\n│   ├── callback_catcher.py     #   HTTP/DNS callback listener\n│   └── ... (17 modules)        #   One module per tool category\n│\n├── zebbern-kali/               # FLASK SERVER (runs in Docker)\n│   ├── kali_server.py          #   Flask app entry point\n│   ├── api/\n│   │   ├── routes.py           #   Blueprint registration\n│   │   └── blueprints/         #   17 Flask blueprints (one per module)\n│   │       ├── tools.py        #     Scanning tools routes\n│   │       ├── ad.py           #     AD tool routes\n│   │       ├── callback.py     #     Callback catcher routes\n│   │       └── ...\n│   ├── core/                   #   Business logic\n│   │   ├── config.py           #     Configuration \u0026 constants\n│   │   ├── command_executor.py #     Subprocess execution\n│   │   ├── ad_tools.py         #     AD tool logic\n│   │   └── ...\n│   └── tools/\n│       └── kali_tools.py       #   Tool wrappers\n│\n├── vpn/                        # Mount point for VPN configs\n└── README.md                   # Project overview and setup guide\n```\n\n---\n\n## Usage\n\nOnce installed, ask your AI assistant to use the Kali tools:\n\n\u003e \"Scan 10.10.10.5 with nmap\"\n\u003e \"Run nuclei against example.com\"\n\u003e \"Connect to the HTB VPN and start recon\"\n\u003e \"Enumerate AD with bloodhound against dc01.corp.local\"\n\u003e \"Start a callback listener on port 8080\"\n\nThe assistant calls MCP tools, which make HTTP requests to the Flask API inside Docker — no manual commands needed.\n\n---\n\n## Documentation\n\nThis README is the primary source of truth for setup, usage, and tool reference. The separate MkDocs site and legacy VM install docs were removed.\n\n---\n\n## Security Warning\n\n\u003e ⚠️ **This server provides unrestricted access to powerful penetration testing tools.**\n\n- **Never** expose to the public internet\n- Only run on isolated networks or authorized test environments\n- Use strong authentication if accessible remotely\n- Ensure you have proper authorization before testing any systems\n- The container runs as `root` — this is intentional for pentest tools but increases risk\n\n---\n\n## Contributing\n\nContributions welcome! Please open a pull request with a clear summary of changes and any relevant test notes.\n\n---\n\nBuilt on the [Model Context Protocol](https://github.com/modelcontextprotocol) · Created by [Zebbern](https://github.com/zebbern)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzebbern%2Fzebbern-kali-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzebbern%2Fzebbern-kali-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzebbern%2Fzebbern-kali-mcp/lists"}