Skip to main content
Glama

chungus-kali-mcp

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.

License Node.js MCP Tools Platform

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

src/index.ts

Registers 155 tools, speaks MCP over stdio

Tool handlers

src/tools/

Zod-validated inputs → manager/runner calls

Managers

src/managers/

Stateful sessions (SSH, reverse shells, Metasploit, pivot, VPN, callback catcher, CTF)

Runners

src/runners/

Stateless CLI wrappers (kali-tools, forensics, js-analysis)

Parsers

src/parsers/

Structured output parsing (nmap XML, nuclei JSONL, gobuster text)

Network init

src/lib/network-init.ts, scripts/kali-init.sh

HTB routes, /etc/hosts, TUN, IP forwarding

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 build

Verify 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 you

Optional: link the binary globally:

npm link
# then use command "chungus-kali-mcp" in MCP config

2. 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.sh

Network 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

kali_tools

35

Nmap, Nikto, Gobuster, Dirb, SQLMap, Hydra, John, Nuclei, FFuf, Hashcat, Commix, Dalfox, WhatWeb, masscan, katana, amass, and more

2

ad_tools

15

Active Directory — netexec, BloodHound, impacket, Responder, evil-winrm, certipy, bloodyAD, coercion

3

forensics_tools

6

binwalk, steghide, exiftool, foremost, strings, Volatility3

4

js_analysis

6

getJS, jsluice, xnLinkFinder, ParamSpider, TruffleHog, js-beautify

5

command_exec

6

kali_exec, streaming exec, health check, network info, interactive session I/O

6

ssh_manager

8

SSH session lifecycle — connect, execute, upload/download, transfer estimates

7

reverse_shell

8

Reverse shell listeners, commands, payload generation, file transfer

8

metasploit

5

Persistent msfconsole sessions via node-pty

9

network_pivot

13

Chisel, Ligolo-ng, SSH tunnels, socat, ProxyChains config

10

vpn

3

WireGuard & OpenVPN connect/disconnect/status

11

api_security

11

GraphQL, JWT, FFUF, Nuclei, rate-limit and auth-bypass tests

12

web_fingerprinter

3

URL (whatweb + fetch fallback), WAF, security headers

13

exploit_suggester

5

searchsploit search, nmap-based suggestions, exploit copy

14

payload_generator

6

msfvenom generation, HTTP hosting, one-liners

15

file_operations

4

Upload/download on Kali and target sessions (chunked + SHA256)

16

callback_catcher

9

Built-in HTTP + DNS callback listener for isolated networks

17

ctf_platform

7

CTFd API — challenges, flags, scoreboard

18

hosts_management

4

/etc/hosts management

19

output_parser

1

Structured parsing of nmap XML, nuclei JSONL, gobuster text

Renames from upstream

Upstream

chungus-kali-mcp

zebbern_exec

kali_exec

KALI_API_URL / Flask

(removed — direct execution)

/app/tmp

~/.chungus-kali-mcp/tmp


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

msfconsole, msfvenom

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

/opt/privesc-tools/linpeas.sh

WinPEAS

/opt/privesc-tools/

Wordlists

Default paths reference Kali standard locations: rockyou.txt, SecLists, /usr/share/wordlists/dirb/.


Configuration

Environment Variables

Variable

Default

Description

CHUNGUS_KALI_MCP_TMP_DIR

~/.chungus-kali-mcp/tmp

Working directory for scans, payloads, CTF files

VPN_DIR

~/.chungus-kali-mcp/vpn

Directory for VPN config files (.ovpn, WireGuard)

HTB_ROUTES

—

Comma-separated CIDRs to route (e.g. 10.129.0.0/16,10.10.0.0/16)

EXTRA_HOSTS

—

Comma-separated hostname:ip pairs added to /etc/hosts

BLOCKING_TIMEOUT

30

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

@modelcontextprotocol/sdk

MCP server protocol

zod

Tool input validation

node-pty (optional)

Metasploit PTY sessions


Design Decisions

Decision

Rationale

Native VM, no Docker

Direct access to host network, VPN interfaces (tun0, wg0), and GPU (hashcat) without port mapping

Single Node process

Eliminates HTTP client/server split; lower latency, simpler deployment

CLI spawning

Reuses Kali's installed tools (impacket-*, netexec, etc.) — no Python server to maintain

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.md

Usage

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 reference

See 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 tools
ad_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).

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_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

    C2.1/5.0

    Scored across 155 tools

    Disambiguation4/5

    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.

    Naming Consistency3/5

    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.

    Tool Count1/5

    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.

    Completeness4/5

    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

    Related MCP Servers

    • F
      license
      Not graded
      quality
      C
      maintenance
      An 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
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      An 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.
      16
      Apache 2.0
    • F
      license
      Not graded
      quality
      D
      maintenance
      A 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
      -