tools_nmap
Execute an Nmap scan against a target.
Drive Kali Linux penetration-testing tools and manage SSH and reverse-shell sessions from an MCP client.
LABSCO SUMMARY
The split architecture is the design: the tools live on Kali, the MCP server can sit elsewhere and talk over HTTP. Beyond running nmap or sqlmap, it manages persistent SSH and reverse-shell sessions with status and cleanup, and file transfers are checksum-verified. This is offensive tooling — run it against systems you are authorized to test, in the Docker test mode while you learn it.
A two-part server — a Kali-side service holding the tools, and an MCP server that talks to it over HTTP — exposing 44 tools for scanning, exploitation and session management.
The Kali-side service runs on Kali Linux and needs the penetration-testing tools installed; the MCP server can run on any system and reaches it over HTTP, so the two can be on different machines. Configure the MCP client to connect to the Kali server per install.md. The --test option manages Docker test containers with SSH on localhost:2222 and reverse-shell listeners on 4444 and 4445.
Build from source — git clone https://github.com/TriV3/MCP-Kali-Server.git
USE CASES
Run an nmap scan, then directory enumeration to map what is exposed.
Point sqlmap at the target and read the findings back.
Start a reverse-shell listener, run commands in the session, and check its status.
Transfer content with SHA256 verification and chunking chosen automatically by size.
Launch with --test to get a Docker environment with SSH and reverse-shell listeners.
Listed in project code.
tools_nmapExecute an Nmap scan against a target.
tools_gobusterExecute Gobuster to find directories, DNS subdomains, or virtual hosts.
tools_dirbExecute Dirb web content scanner.
tools_niktoExecute Nikto web server scanner.
tools_sqlmapExecute SQLmap SQL injection scanner.
tools_metasploitExecute a Metasploit module.
tools_hydraExecute Hydra password cracking tool.
tools_johnExecute John the Ripper password cracker.
tools_wpscanExecute WPScan WordPress vulnerability scanner.
tools_enum4linuxExecute Enum4linux Windows/Samba enumeration tool.
tools_subfinderExecute Subfinder for subdomain enumeration.
tools_httpxExecute httpx for HTTP probing.
tools_nucleiExecute Nuclei vulnerability scanner.
tools_arjunExecute Arjun for parameter discovery.
tools_fierceExecute Fierce for DNS reconnaissance.
tools_byp4xxExecute byp4xx for 403 bypass testing.
tools_subzyExecute Subzy for subdomain takeover detection.
tools_assetfinderExecute Assetfinder for asset discovery.
tools_waybackurlsExecute waybackurls to fetch URLs from Wayback Machine.
search_shodanSearch Shodan's database for devices and services.
healthCheck the health status of the Kali API server.
commandExecute an arbitrary command on the Kali server.
ssh_session_startStart an interactive SSH session similar to reverse shell sessions.
ssh_session_commandExecute a command in an active SSH session.
ssh_session_statusGet the status of SSH sessions.
ssh_session_stopStop an SSH session.
ssh_sessionsList all active SSH sessions with their details.
ssh_session_upload_contentSSH session: upload content directly to the target with optimized handling for large files.
ssh_session_download_contentSSH session: download file content from target with optimized handling for large files.
ssh_estimate_transferEstimate SSH transfer time and get method recommendations for large files.
reverse_shell_listener_startStart a reverse shell listener on the specified port.
reverse_shell_commandExecute a command in an active reverse shell session.
reverse_shell_statusGet the status of reverse shell sessions.
reverse_shell_stopStop a reverse shell session.
reverse_shell_sessionsList all active reverse shell sessions with their details.
reverse_shell_send_payloadSend a payload command to trigger a reverse shell connection in a non-blocking way.
kali_uploadUpload content directly to the Kali server filesystem using robust chunking.
kali_downloadDownload a file from the Kali server filesystem.
target_upload_fileReverse shell: upload a file to the target using file path.
reverse_shell_upload_contentReverse shell: upload content directly to the target.
target_download_fileReverse shell: download a file from target to Kali server.
reverse_shell_download_contentReverse shell: download file content from target and return as base64.
reverse_shell_generate_payloadGenerate reverse shell payloads that can be manually executed on targets.
system_network_infoGet comprehensive network information for the Kali Linux system.
BEFORE YOU INSTALL
44 tools registered in the project's code. The names come from the server's own source (mcp-server/mcp_server.py); the project's README lists a shorter, older set under different names, so trust what your client shows over that table.
All 3 documented setups run the server on your machine.
INSTALLATION
This one is built from source rather than installed with a single command.
# 1) Clone the repo (or copy the MCP server files)
git clone https://github.com/TriV3/MCP-Kali-Server.git
cd MCP-Kali-Server
# 2) Install dependencies (choose the right file for the MCP side)
pip install -r requirements.mcp.txt
# 3) (Optional) Quick manual run to verify it starts
# VS Code/Claude will usually spawn this for you based on the config block.
python <YOUR_PATH_TO_PROJECT>/mcp-server/mcp_server.py --server http://localhost:5000
# Stop with Ctrl+C{
"servers": {
"pentest-assistant": {
"command": "<YOUR_PATH_TO_PYTHON>",
"args": [
"<YOUR_PATH_TO_PROJECT>/mcp-server/mcp_server.py",
"--server",
"http://localhost:5000"
]
}
}
}{
"mcpServers": {
"pentest-assistant": {
"command": "<YOUR_PATH_TO_PYTHON>",
"args": [
"<YOUR_PATH_TO_PROJECT>/mcp-server/mcp_server.py",
"--server",
"http://localhost:5000"
]
}
}
}{
"servers": {
"pentest-assistant": {
"command": "<YOUR_PATH_TO_PYTHON>",
"args": [
"<YOUR_PATH_TO_MCP_SERVER>",
"--server",
"http://localhost:5000"
]
}
}
}