chungus-kali-mcp
Provides tools for GraphQL API security testing, including scanning for vulnerabilities and testing authentication and authorization.
Grants AI agents direct access to a Kali Linux penetration testing toolkit, enabling execution of a wide range of security tools such as nmap, sqlmap, and netexec.
Enables persistent interaction with Metasploit Framework sessions, allowing exploitation, post-exploitation, and payload generation.
Allows connecting to and managing OpenVPN connections for lab environments.
Allows connecting to and managing WireGuard connections for lab environments.
Provides WordPress vulnerability scanning via wpscan.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@chungus-kali-mcp Scan target.htb with nmap and show open ports"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
chungus-kali-mcp
IMPORTANT - Highly recommended to run this inside a Kali VM, not your base system.
A Model Context Protocol (MCP) server that gives AI agents (Cursor, Claude, Copilot, etc.) direct access to a Kali Linux penetration testing toolkit. The MCP server runs natively on your Kali VM as a single Node.js process — tool calls spawn CLI commands directly on the host. No Docker, no Flask, no HTTP middle layer.
Inspired by zebbern-kali-mcp. See ATTRIBUTION.md.
Related MCP server: Kali-Mcp-Toolkit
Architecture
Unlike the upstream Docker design (MCP client on host → HTTP → Flask in container), chungus-kali-mcp is a single-process server:
┌─────────────────────────────────────────────────────────────┐
│ Kali Linux VM │
│ │
│ AI Agent (Cursor / Claude / Copilot) │
│ │ │
│ ▼ MCP (stdio) │
│ chungus-kali-mcp (Node.js) │
│ │ │
│ ├── src/tools/ 155 MCP tool handlers │
│ ├── src/managers/ SSH, MSF, pivot, VPN, … │
│ ├── src/runners/ kali-tools, forensics, js │
│ ├── src/parsers/ output-parser │
│ └── child_process / node-pty │
│ │ │
│ ▼ │
│ Kali CLI tools (nmap, sqlmap, impacket-*, netexec, …) │
└─────────────────────────────────────────────────────────────┘Component | Location | Role |
MCP server |
| Registers 155 tools, speaks MCP over stdio |
Tool handlers |
| Zod-validated inputs → manager/runner calls |
Managers |
| Stateful sessions (SSH, reverse shells, Metasploit, pivot, VPN, callback catcher, CTF) |
Runners |
| Stateless CLI wrappers (kali-tools, forensics, js-analysis) |
Parsers |
| Structured output parsing (nmap XML, nuclei JSONL, gobuster text) |
Network init |
| HTB routes, |
Request flow: AI Agent → MCP tool → Node handler → spawn / node-pty → Kali CLI → JSON result back.
Quick Start
1. Install on Kali VM
git clone <your-repo-url>
cd chungus-kali-mcp
npm install
npm run buildVerify the server starts (it will wait on stdio for an MCP client):
node dist/index.js
# Ctrl+C to exit — normally Cursor/VS Code launches this for youOptional: link the binary globally:
npm link
# then use command "chungus-kali-mcp" in MCP config2. Add to Cursor / VS Code
Project config (.cursor/mcp.json or .vscode/mcp.json):
{
"mcpServers": {
"chungus-kali-mcp": {
"command": "node",
"args": ["/path/to/chungus-kali-mcp/dist/index.js"]
}
}
}Or with npm link:
{
"mcpServers": {
"chungus-kali-mcp": {
"command": "chungus-kali-mcp"
}
}
}Restart the editor — the agent can now call all 155 tools.
3. Docker parity setup (optional)
Stock Kali packages cover most APT tools. To match the parent Docker image extras (Go tools, pip tools, /opt clones):
sudo ./scripts/kali-docker-parity.sh # essentials
sudo ./scripts/kali-docker-parity.sh --full # + PEAS, PetitPotam, krbrelayx, etc.4. HTB / lab networking (optional)
export HTB_ROUTES=10.129.0.0/16,10.10.0.0/16
export EXTRA_HOSTS=target.htb:10.10.10.5
./scripts/kali-init.shNetwork init also runs automatically when the MCP server starts.
MCP Tool Modules
19 modules, 155 tools total. Full spec in TOOL_CATALOG.json.
# | Module | Tools | Description |
1 |
| 35 | Nmap, Nikto, Gobuster, Dirb, SQLMap, Hydra, John, Nuclei, FFuf, Hashcat, Commix, Dalfox, WhatWeb, masscan, katana, amass, and more |
2 |
| 15 | Active Directory — netexec, BloodHound, impacket, Responder, evil-winrm, certipy, bloodyAD, coercion |
3 |
| 6 | binwalk, steghide, exiftool, foremost, strings, Volatility3 |
4 |
| 6 | getJS, jsluice, xnLinkFinder, ParamSpider, TruffleHog, js-beautify |
5 |
| 6 |
|
6 |
| 8 | SSH session lifecycle — connect, execute, upload/download, transfer estimates |
7 |
| 8 | Reverse shell listeners, commands, payload generation, file transfer |
8 |
| 5 | Persistent |
9 |
| 13 | Chisel, Ligolo-ng, SSH tunnels, socat, ProxyChains config |
10 |
| 3 | WireGuard & OpenVPN connect/disconnect/status |
11 |
| 11 | GraphQL, JWT, FFUF, Nuclei, rate-limit and auth-bypass tests |
12 |
| 3 | URL (whatweb + fetch fallback), WAF, security headers |
13 |
| 5 | searchsploit search, nmap-based suggestions, exploit copy |
14 |
| 6 | msfvenom generation, HTTP hosting, one-liners |
15 |
| 4 | Upload/download on Kali and target sessions (chunked + SHA256) |
16 |
| 9 | Built-in HTTP + DNS callback listener for isolated networks |
17 |
| 7 | CTFd API — challenges, flags, scoreboard |
18 |
| 4 |
|
19 |
| 1 | Structured parsing of nmap XML, nuclei JSONL, gobuster text |
Renames from upstream
Upstream | chungus-kali-mcp |
|
|
| (removed — direct execution) |
|
|
Expected Kali Tools
chungus-kali-mcp does not bundle tools — it expects a standard Kali install (or equivalent). Run sudo ./scripts/kali-docker-parity.sh for Docker-image parity. The health tool reports availability by category (network, web, dns, brute, ad, forensics, js, pivot, exploit).
Network Scanning
Tool | Description |
nmap | Port scanning, service/version detection, NSE scripts |
masscan | High-speed port scanner |
sslscan | SSL/TLS configuration analysis |
Web Application Scanning
Tool | Description |
nikto | Web server vulnerability scanner |
gobuster | Directory/file/DNS brute-forcing |
dirb | Web content scanner |
wpscan | WordPress vulnerability scanner |
sqlmap | Automated SQL injection |
ffuf | Fast web fuzzer |
nuclei | Template-based vulnerability scanner |
katana | Web crawler |
amass | Attack surface mapping |
commix | Command injection exploitation |
ghauri | Advanced SQL injection detection |
dalfox | XSS scanning and exploitation |
byp4xx | 403 Forbidden bypass |
whatweb | Technology detection |
Subdomain & DNS Enumeration
Tool | Description |
subfinder | Passive subdomain discovery |
httpx | HTTP probing and technology detection |
assetfinder | Subdomain discovery via various sources |
waybackurls | URLs from the Wayback Machine |
fierce | DNS reconnaissance |
subzy | Subdomain takeover checking |
massdns | High-performance DNS resolver |
mapcidr | CIDR range manipulation |
Brute Force & Password Cracking
Tool | Description |
hydra | Network login brute-forcer |
john | John the Ripper password cracker |
hashcat | GPU-accelerated hash cracking |
Active Directory
Tool | Description |
netexec | SMB/LDAP/WinRM (replaces crackmapexec) |
impacket-* | AD attack scripts (secretsdump, GetNPUsers, psexec, wmiexec, …) |
bloodhound-python | AD relationship graphing |
certipy-ad | ADCS exploitation |
bloodyAD | AD privilege escalation |
responder | LLMNR/NBT-NS poisoner |
evil-winrm | WinRM shell with upload/download |
coercer / petitpotam | Authentication coercion |
ldapdomaindump | LDAP domain information |
JavaScript Analysis
Tool | Description |
getJS | Extract JavaScript files from pages |
jsluice | Extract URLs, paths, and secrets from JS |
xnLinkFinder | Link and parameter discovery from JS |
ParamSpider | Parameter discovery from web archives |
TruffleHog | Secret scanning across repos and files |
js-beautify | JavaScript deobfuscation/beautification |
Forensics & CTF
Tool | Description |
binwalk | Firmware analysis and file extraction |
steghide / stegseek | Steganography tools |
exiftool | Metadata reader/writer |
foremost | File carving/recovery |
volatility3 | Memory forensics framework |
radare2 | Reverse engineering (quick triage via strings tool) |
sleuthkit | Disk forensics utilities |
Exploitation & Payloads
Tool | Description |
metasploit-framework |
|
searchsploit | Exploit-DB search |
API Testing
Tool | Description |
jwt_tool | JWT analysis and exploitation |
clairvoyance | GraphQL schema introspection |
Pivoting & VPN
Tool | Description |
chisel | TCP/UDP tunnel over HTTP |
ligolo-proxy | Ligolo-ng tunneling |
socat | Port forwarding and relay |
openvpn, wg-quick | VPN clients |
proxychains4 | Proxy routing |
Privilege Escalation (with --full setup)
Tool | Location |
LinPEAS |
|
WinPEAS |
|
Wordlists
Default paths reference Kali standard locations: rockyou.txt, SecLists, /usr/share/wordlists/dirb/.
Configuration
Environment Variables
Variable | Default | Description |
|
| Working directory for scans, payloads, CTF files |
|
| Directory for VPN config files ( |
| — | Comma-separated CIDRs to route (e.g. |
| — | Comma-separated |
|
| Streaming startup detection timeout (seconds) |
VPN configs
Place OpenVPN or WireGuard configs in VPN_DIR (default ~/.chungus-kali-mcp/vpn/), then use the vpn_connect MCP tool.
Node dependencies
Package | Purpose |
| MCP server protocol |
| Tool input validation |
| Metasploit PTY sessions |
Design Decisions
Decision | Rationale |
Native VM, no Docker | Direct access to host network, VPN interfaces ( |
Single Node process | Eliminates HTTP client/server split; lower latency, simpler deployment |
CLI spawning | Reuses Kali's installed tools ( |
Custom callback catcher | HTTP + DNS listener for isolated CTF/pentest networks where webhook.site can't reach targets |
Heavy-task semaphore | Max 5 concurrent long scans (nmap, nuclei, gobuster) to avoid overwhelming the VM |
TOOL_CATALOG.json | Machine-readable contract for all 155 tools; parity-tested in CI |
Project Structure
chungus-kali-mcp/
├── src/
│ ├── index.ts # MCP server entry (stdio)
│ ├── config.ts # paths, env vars
│ ├── lib/ # command-executor, tool-config, session-registry, health
│ ├── tools/ # MCP tool registration (155 tools)
│ ├── managers/ # SSH, reverse shell, MSF, pivot, VPN, callback, CTF, AD, …
│ ├── runners/ # Stateless CLI wrappers (kali-tools, forensics, js)
│ └── parsers/ # output-parser (nmap XML, nuclei JSONL, gobuster text)
├── scripts/
│ ├── kali-init.sh # HTB routes, hosts, TUN setup
│ ├── kali-docker-parity.sh # Install Docker-image tool parity on Kali VM
│ └── extract-catalog.py # (upstream only) regenerate from parent Python reference
├── test/ # Catalog + registration parity tests
├── .github/workflows/ci.yml # GitHub CI (build, lint, test)
├── .gitignore
├── CHEATSHEET.md # Quick reference for all 155 MCP tools
├── TOOL_CATALOG.json # All 155 tools — source of truth
├── COMMAND_PATTERNS.md # Handler types and command patterns
├── ATTRIBUTION.md # Credit to original zebbern-kali-mcp author
├── package.json
└── README.mdUsage
Once connected, ask your AI assistant to use the Kali tools:
"Scan 10.10.10.5 with nmap" "Run nuclei against example.com" "Connect to the HTB VPN and start recon" "Enumerate AD with bloodhound against dc01.corp.local" "Start a callback listener on port 8080"
The assistant calls MCP tools directly on the Kali VM — no manual commands needed.
Development
npm run dev # tsx src/index.ts (stdio MCP server)
npm run build # compile to dist/
npm run lint # tsc --noEmit
npm test # verify 155 tools registered vs TOOL_CATALOG.json
npm run extract-catalog # (upstream only) regenerate from parent Python referenceSee AGENTS.md for contributor/agent guidance.
Security Warning
This server provides unrestricted access to powerful penetration testing tools.
Never expose the Kali VM to the public internet
Only run on isolated networks or authorized test environments
Ensure you have proper authorization before testing any systems
The server typically runs as root on Kali — required for many pentest tools but increases risk
MCP uses stdio transport — only local editor/agent processes should launch the server
Contributing
Contributions welcome. Please open a pull request with a clear summary and test notes (npm test must pass).
Built on the Model Context Protocol · Node.js reimplementation of zebbern-kali-mcp by Zebbern
Available Tools
155 toolsad_asreproastD
AS-REP roasting.
Inputs: domain (required), username (required), dc_ip.
ad_bloodhound_collectD
BloodHound collection.
Inputs: domain (required), password (required), username (required), dc_ip, +1 more.
ad_bloodyadC
AD privilege escalation via bloodyAD.
Inputs: domain (required), password (required), username (required), host, +2 more.
ad_certipyC
ADCS attacks via certipy-ad.
Inputs: domain, target, password, username, +2 more.
ad_coerceC
Coerce authentication (coercer or petitpotam).
Inputs: target (required), tool, listener, additional_args.
ad_evil_winrmC
WinRM shell via evil-winrm.
Inputs: target (required), password (required), username (required), additional_args.
ad_kerberoastD
Kerberoasting.
Inputs: domain (required), password (required), username (required).
ad_ldap_enumD
LDAP enumeration.
Inputs: domain (required), target (required), password (required), username (required).
ad_password_sprayD
Password spray.
Inputs: target (required), password (required), users, userlist.
ad_psexecD
PsExec.
Inputs: domain (required), target (required), password (required), username (required).
ad_responderC
Start Responder LLMNR/NBT-NS poisoner.
Inputs: analyze, interface, additional_args.
ad_secretsdumpD
Impacket secretsdump.
Inputs: target (required), password (required), username (required).
ad_smb_enumD
SMB enumeration.
Inputs: target (required), domain, password, username.
ad_tools_statusB
Check AD tool availability.
Inputs: no named parameters.
ad_wmiexecD
WMIExec.
Inputs: domain (required), target (required), password (required), username (required).
api_auth_bypass_testD
Test auth bypass.
Inputs: url (required), method, headers.
api_ffuf_fuzzD
FFUF fuzz.
Inputs: url (required), wordlist (required), method, extensions.
api_fuzz_endpointC
Fuzz API endpoint.
Inputs: url (required), method, wordlist.
api_graphql_fuzzD
GraphQL fuzz.
Inputs: url (required), depth, query.
api_graphql_introspectD
GraphQL introspection.
Inputs: url (required).
api_jwt_analyzeD
Analyze JWT.
Inputs: token (required).
api_jwt_crackD
Crack JWT.
Inputs: token (required), wordlist.
api_kiterunner_scanD
Kiterunner scan.
Inputs: url (required), wordlist.
api_newman_runC
Run Newman collection.
Inputs: collection (required), environment.
api_nuclei_scanD
Nuclei API scan.
Inputs: url (required), tags, severity.
api_rate_limit_testD
Test rate limiting.
Inputs: url (required), method, requests_count.
callback_checkD
Check callback token.
Inputs: token (required).
callback_clearC
Clear callbacks.
Inputs: no named parameters.
callback_generateC
Generate callback URL.
Inputs: base_url (required), path_prefix.
callback_latestD
Latest callback.
Inputs: no named parameters.
callback_listC
List callbacks.
Inputs: limit, protocol.
callback_startD
Start callback catcher.
Inputs: port (required), host, dns_port, enable_dns.
callback_statusC
Callback catcher status.
Inputs: no named parameters.
callback_stopC
Stop callback catcher.
Inputs: no named parameters.
callback_waitD
Wait for callback.
Inputs: timeout, protocol.
ctf_connectC
Connect to CTF platform.
Inputs: url (required), cookies, platform, api_token.
ctf_download_fileC
Download CTF file.
Inputs: file_url (required), output_dir.
ctf_get_challengeD
Get CTF challenge.
Inputs: challenge_id (required).
ctf_list_challengesC
List CTF challenges.
Inputs: category.
ctf_scoreboardD
CTF scoreboard.
Inputs: top.
ctf_statusD
CTF connection status.
Inputs: no named parameters.
ctf_submit_flagC
Submit CTF flag.
Inputs: flag (required), challenge_id (required).
cve_package_auditD
Audit package.
Inputs: package (required).
cve_searchC
Search CVEs.
Inputs: query (required), exact.
exec_streamC
Execute a command with streaming output collection.
Inputs: command (required), timeout.
exploit_copyC
Copy exploit to destination.
Inputs: edb_id (required), destination.
exploit_detailsC
Get exploit details.
Inputs: edb_id (required).
exploit_searchC
Search exploits via searchsploit.
Inputs: query (required), exact.
exploit_suggest_for_serviceC
Suggest exploits for a service.
Inputs: service (required), version.
exploit_suggest_from_nmapC
Suggest exploits from nmap output.
Inputs: nmap_output (required).
fingerprint_headersC
Analyze security headers.
Inputs: url (required).
fingerprint_urlC
Fingerprint a URL.
Inputs: url (required).
fingerprint_wafC
Detect WAF.
Inputs: url (required).
forensics_binwalkC
Analyze firmware/files with binwalk.
Inputs: file (required), extract, additional_args.
forensics_exiftoolB
Read/write file metadata with exiftool.
Inputs: file (required), additional_args.
forensics_foremostC
Carve files with foremost.
Inputs: file (required), output_dir, additional_args.
forensics_steghideD
Steganography with steghide or stegseek.
Inputs: file (required), action, outfile, wordlist, +2 more.
forensics_stringsC
Extract strings from a binary.
Inputs: file (required), min_len, use_radare2, additional_args.
forensics_volatilityD
Memory forensics with Volatility3.
Inputs: memory_file (required), plugin, additional_args.
healthA
Check server health and tool availability.
Inputs: no named parameters.
hosts_addC
Add entries to /etc/hosts.
Inputs: ip (required), hostnames (required).
hosts_clearA
Clear managed /etc/hosts entries.
Inputs: no named parameters.
hosts_listA
List managed /etc/hosts entries.
Inputs: no named parameters.
hosts_removeB
Remove hostname from /etc/hosts.
Inputs: hostname (required).
js_beautifyC
Deobfuscate/beautify JavaScript.
Inputs: file (required), additional_args.
js_getjsC
Extract JavaScript files from a URL.
Inputs: url (required), additional_args.
js_jsluiceC
Extract URLs and secrets from JavaScript.
Inputs: url, file, additional_args.
js_paramspiderC
Discover parameters from web archives.
Inputs: domain (required), additional_args.
js_trufflehogC
Scan for secrets with TruffleHog.
Inputs: path, target, additional_args.
js_xnlinkfinderC
Discover links and parameters from JavaScript.
Inputs: url (required), additional_args.
kali_downloadD
Download file from Kali.
Inputs: remote_path (required), verify_checksum.
kali_execB
Execute ANY command on the Kali server without restrictions. Full root access.
Inputs: command (required), cwd, timeout, background.
kali_uploadC
Upload file on Kali.
Inputs: content (required), local_path (required), remote_path (required).
msf_session_createC
Create msfconsole session.
Inputs: no named parameters.
msf_session_destroyC
Destroy MSF session.
Inputs: session_id (required).
msf_session_destroy_allB
Destroy all MSF sessions.
Inputs: no named parameters.
msf_session_executeD
Execute in msfconsole.
Inputs: command (required), session_id (required), timeout, read_delay.
msf_session_listB
List MSF sessions.
Inputs: no named parameters.
parse_tool_outputB
Parse raw security tool output into structured JSON.
Inputs: output (required), tool_name (required), output_format.
payload_generateD
Generate payload.
Inputs: lhost (required), nops, lport, encoder, +6 more.
payload_host_startC
Start payload HTTP host.
Inputs: port.
payload_host_stopA
Stop payload HTTP host.
Inputs: no named parameters.
payload_listB
List generated payloads.
Inputs: no named parameters.
payload_one_linerC
Generate reverse shell one-liners.
Inputs: lhost (required), lport, shell_type.
payload_templatesA
List msfvenom templates.
Inputs: no named parameters.
pivot_add_pivotC
Add pivot route.
Inputs: name (required), network (required), interface (required).
pivot_chisel_clientD
Start chisel client.
Inputs: remote (required), server (required), local.
pivot_chisel_serverC
Start chisel server.
Inputs: port, reverse.
pivot_generate_proxychainsC
Generate proxychains config.
Inputs: proxy_type, socks_port.
pivot_ligolo_startD
Start ligolo proxy.
Inputs: port, interface.
pivot_list_pivotsC
List pivots.
Inputs: no named parameters.
pivot_list_tunnelsC
List pivot tunnels.
Inputs: no named parameters.
pivot_socat_forwardD
Socat port forward.
Inputs: listen_port (required), target_host (required), target_port (required).
pivot_ssh_dynamicC
SSH dynamic SOCKS.
Inputs: local_port (required), ssh_target (required).
pivot_ssh_localC
SSH local port forward.
Inputs: local_port (required), ssh_target (required), remote_host (required), remote_port (required).
pivot_ssh_remoteD
SSH remote port forward.
Inputs: local_host (required), local_port (required), ssh_target (required), remote_port (required).
pivot_stop_all_tunnelsA
Stop all tunnels.
Inputs: no named parameters.
pivot_stop_tunnelC
Stop pivot tunnel.
Inputs: tunnel_id (required).
read_outputC
Read output from any active interactive session.
Inputs: session_id (required), lines, timeout.
reverse_shell_commandC
Run command in reverse shell.
Inputs: command (required), session_id (required), timeout.
reverse_shell_download_contentC
Download via reverse shell.
Inputs: session_id (required), remote_file (required).
reverse_shell_generate_payloadC
Generate reverse shell payload.
Inputs: lhost (required), lport (required), payload_type.
reverse_shell_listener_startC
Start reverse shell listener.
Inputs: port (required), listener_type.
reverse_shell_send_payloadD
Send payload via reverse shell.
Inputs: session_id (required), payload_command (required), timeout, wait_seconds.
reverse_shell_statusD
Reverse shell status.
Inputs: session_id.
reverse_shell_stopC
Stop reverse shell.
Inputs: session_id (required).
reverse_shell_upload_contentC
Upload content via reverse shell.
Inputs: content (required), session_id (required), remote_path (required).
send_inputC
Send text input to any active interactive session.
Inputs: input_text (required), session_id (required), session_type.
ssh_estimate_transferD
Estimate transfer time.
Inputs: file_size_bytes (required), operation.
ssh_session_commandD
Run SSH command.
Inputs: command (required), session_id (required), timeout.
ssh_session_download_contentD
Download via SSH.
Inputs: session_id (required), remote_path (required).
ssh_sessionsC
List SSH sessions.
Inputs: no named parameters.
ssh_session_startC
Start SSH session.
Inputs: host (required), username (required), port, key_file, +1 more.
ssh_session_statusD
SSH session status.
Inputs: session_id (required).
ssh_session_stopC
Stop SSH session.
Inputs: session_id (required).
ssh_session_upload_contentD
Upload via SSH.
Inputs: content (required), session_id (required), remote_path (required).
system_network_infoA
Get comprehensive network information for the Kali system.
Inputs: no named parameters.
target_download_fileC
Download from target session.
Inputs: session_id (required), remote_path (required), session_type, verify_checksum.
target_upload_fileC
Upload to target session.
Inputs: content (required), session_id (required), remote_path (required), session_type.
tools_amassD
Execute amass.
Inputs: domain (required), additional_args.
tools_arjunD
Execute arjun.
Inputs: url (required), method, threads, additional_args.
tools_assetfinderD
Execute assetfinder.
Inputs: domain (required), additional_args.
tools_byp4xxD
Execute byp4xx.
Inputs: url (required), method, additional_args.
tools_commixC
Execute Commix command injection scanner.
Inputs: url (required), data, additional_args.
tools_crtshD
Query crt.sh.
Inputs: domain, target.
tools_dalfoxC
Execute Dalfox XSS scanner.
Inputs: url (required), additional_args.
tools_dirbC
Execute Dirb web content scanner.
Inputs: url (required), wordlist, additional_args.
tools_enum4linuxD
Execute enum4linux.
Inputs: target (required), additional_args.
tools_ffufC
Execute FFUF web fuzzer.
Inputs: url (required), method, wordlist, extensions, +1 more.
tools_fierceD
Execute fierce.
Inputs: domain (required), additional_args.
tools_ghauriC
Execute Ghauri SQL injection scanner.
Inputs: url (required), data, additional_args.
tools_gobusterD
Execute Gobuster.
Inputs: url (required), mode, threads, wordlist, +3 more.
tools_gowitnessD
Execute gowitness.
Inputs: url (required), additional_args.
tools_hashcatD
Execute Hashcat.
Inputs: hash_file (required), mode, wordlist, additional_args.
tools_httpxD
Execute httpx.
Inputs: target (required), additional_args.
tools_hydraD
Execute Hydra.
Inputs: target (required), service (required), port, wait, +6 more.
tools_johnD
Execute John.
Inputs: hash_file (required), wordlist, format_type, additional_args.
tools_katanaD
Execute katana.
Inputs: url (required), additional_args.
tools_mapcidrD
Execute mapcidr CIDR utilities.
Inputs: cidr (required), additional_args.
tools_masscanD
Execute masscan.
Inputs: target (required), rate, ports, additional_args.
tools_massdnsD
Execute MassDNS resolver.
Inputs: domain, wordlist, resolvers, additional_args.
tools_niktoD
Execute Nikto.
Inputs: target (required), tuning, output_format, additional_args.
tools_nmapC
Execute an Nmap scan.
Inputs: target (required), ports, scan_type, output_format, +1 more.
tools_nucleiC
Execute Nuclei vulnerability scan.
Inputs: target (required), severity, templates, additional_args.
tools_sqlmapD
Execute SQLMap.
Inputs: url (required), dbs, data, dump, +5 more.
tools_ssh_auditD
Execute ssh-audit.
Inputs: target (required), port, timeout, scan_type, +2 more.
tools_sslscanD
Execute sslscan.
Inputs: target (required), additional_args.
tools_subfinderD
Execute subfinder.
Inputs: target (required), additional_args.
tools_subzyD
Execute subzy.
Inputs: target (required), additional_args.
tools_waybackurlsD
Execute waybackurls.
Inputs: domain (required), additional_args.
tools_whatwebC
Execute WhatWeb technology detection.
Inputs: url (required), additional_args.
tools_wpscanD
Execute WPScan.
Inputs: url (required), api_token, enumerate, output_format, +1 more.
vpn_connectD
Connect VPN.
Inputs: config_file (required), vpn_type, socks_port, enable_socks.
vpn_disconnectC
Disconnect VPN.
Inputs: no named parameters.
vpn_statusC
VPN status.
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 155 tools
Most tools have clearly distinct purposes, with domain-specific prefixes (tools_, forensics_, ad_, etc.) that clarify intent. However, some overlap exists, such as kali_exec vs exec_stream both executing arbitrary commands, and tools_ffuf vs api_ffuf_fuzz having very similar functionality with only context differentiating them.
The naming is dominated by domain prefixes (e.g., reverse_shell_, pivot_, ctf_), but the verb/noun order varies considerably across the set. Some tools use noun_verb (hosts_list, exploit_search), others use verb_noun (cve_search, send_input), and some are bare tool names (tools_nmap, ad_responder). This mixing is readable but not fully consistent.
With 155 tools, the server is extremely over-scoped. The number far exceeds the typical 3-15 range and even the '50+' threshold for an extreme mismatch. This overwhelming count makes it difficult for an agent to efficiently select the right tool, severely reducing coherence.
The tool set covers a broad penetration testing lifecycle: recon (nmap, subfinder), exploitation (searchsploit, msf), post-exploitation (reverse shells, SSH, pivoting), AD attacks, web/API testing, forensics, and CTF helpers. The coverage is quite thorough, with only minor gaps such as a generic session manager to enumerate all active interactive sessions.
Related MCP Connectors
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceAn MCP server that exposes over 20 standard penetration testing utilities, such as Nmap, SQLMap, and OWASP ZAP, as callable tools for AI agents. It enables natural language control over complex security workflows for automated and interactive penetration testing.117-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that exposes over 500 Kali Linux security tools to AI models for automated penetration testing and security auditing. It includes modules for tool execution, interactive terminal management, and sandboxed code editing across 12 security categories.16Apache 2.0
- FlicenseNot gradedqualityDmaintenanceA penetration testing MCP server that runs 20 hacking tools inside a Kali Linux Docker container, enabling AI assistants to execute security scans and attacks via natural language.2-
- AlicenseCqualityBmaintenanceA Docker-based MCP server that grants AI agents direct access to a comprehensive Kali Linux penetration testing toolkit through an isolated container environment.13142 PyPI52MIT