Kali MCP Server
Click on "Install 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., "@Kali MCP Serverscan example.com for open ports and web vulnerabilities"
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.
๐ Kali MCP Server - Web Penetration Testing
A Model Context Protocol (MCP) server built on Kali Linux Docker container, providing AI-assisted web penetration testing tools with proper input sanitization and formatted output.
๐ Features
Security Tools Included
Tool | Purpose | Category |
Nmap | Port scanning, service detection, OS fingerprinting | Network |
Nikto | Web server vulnerability scanning | Web Vuln |
SQLMap | SQL injection testing | Web Vuln |
WPScan | WordPress security assessment | CMS |
DIRB | Directory brute-forcing | Discovery |
Gobuster | Fast directory/DNS/vhost enumeration | Discovery |
FFUF | Web fuzzing | Discovery |
SearchSploit | Exploit database search | Research |
SSLScan | SSL/TLS analysis | Crypto |
WhatWeb | Web technology identification | Recon |
WAFW00F | WAF detection | Recon |
Nuclei | Template-based vulnerability scanning | Web Vuln |
Key Features
โ Non-root execution with proper network capabilities
โ Input sanitization to prevent command injection
โ Formatted output for easy reading
โ Async execution for non-blocking operations
โ Output persistence for report generation
โ Rate limiting to prevent abuse
โ Docker isolation for security
Related MCP server: ikaliMCP Server
๐ฆ Installation
Prerequisites
Docker Engine 20.10+
Docker Compose v2.0+
4GB RAM minimum (8GB recommended)
10GB disk space
Quick Start
# Clone or download the project
cd kali-mcp-server
# Build the Docker image
docker-compose build
# Start the server
docker-compose up -d
# Check logs
docker-compose logs -f
# Verify it's running
curl http://localhost:8010/healthBuild Only
docker build -t kali-mcp-server:latest .Run Manually
docker run -d \
--name kali-mcp \
--cap-add NET_RAW \
--cap-add NET_ADMIN \
-p 8010:8010 \
-v kali-outputs:/app/outputs \
kali-mcp-server:latest๐ง Configuration
Environment Variables
Variable | Default | Description |
|
| Server bind address |
|
| Server port |
|
| Enable debug logging |
|
| Default tool timeout (seconds) |
|
| Maximum allowed timeout |
| - | WPScan vulnerability database API token |
Claude Desktop Integration
Add to your Claude Desktop config (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"kali-pentest": {
"url": "http://localhost:8010/sse"
}
}
}Or for Docker execution:
{
"mcpServers": {
"kali-pentest": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"--cap-add=NET_RAW",
"--cap-add=NET_ADMIN",
"-p", "8010:8010",
"kali-mcp-server:latest"
]
}
}
}๐ ๏ธ Available Tools
1. Network Scanning
nmap_scan
nmap_scan(
target="192.168.1.1", # IP, hostname, or CIDR
ports="80,443,8080", # Port specification
scan_type="version", # default, syn, connect, udp, version, aggressive, vuln
scripts="http-enum,ssl-enum", # NSE scripts
timing=3, # 0-5 (paranoid to insane)
timeout=600
)2. Web Vulnerability Scanning
nikto_scan
nikto_scan(
target="http://example.com",
port=80,
ssl=False,
tuning="123bde", # Test categories
timeout=600
)sqlmap_scan
sqlmap_scan(
target_url="http://example.com/page?id=1",
data="username=admin", # POST data
parameter="id", # Specific param to test
level=3, # 1-5
risk=2, # 1-3
technique="BEUST", # Injection techniques
dbms="mysql", # Target DBMS
tables=True, # Enumerate tables
timeout=600
)wpscan_scan
wpscan_scan(
target="http://wordpress-site.com",
enumerate="vp,vt,u", # plugins, themes, users
plugins_detection="aggressive",
api_token="your_token"
)3. Directory Discovery
dirb_scan
dirb_scan(
target="http://example.com",
wordlist="big", # common, big, small
extensions="php,html,txt",
recursive=True,
timeout=600
)gobuster_scan
gobuster_scan(
target="http://example.com",
mode="dir", # dir, dns, vhost
wordlist="medium",
extensions="php,html",
threads=40,
timeout=600
)ffuf_fuzz
ffuf_fuzz(
target="http://example.com/FUZZ",
wordlist="common",
method="GET",
headers="X-Custom:value",
filter_code="404,500",
threads=50
)4. Information Gathering
whatweb_scan
whatweb_scan(
target="http://example.com",
aggression=3 # 1-4
)wafw00f_detect
wafw00f_detect(
target="http://example.com",
list_all=True
)sslscan_scan
sslscan_scan(
target="example.com",
port=443,
show_certs=True
)5. Exploit Research
searchsploit_search
searchsploit_search(
search_term="apache 2.4.49",
exact_match=False,
exclude="dos,windows"
)6. Vulnerability Scanning
nuclei_scan
nuclei_scan(
target="http://example.com",
templates="cves,vulnerabilities",
severity="high,critical",
tags="rce,sqli",
rate_limit=150
)๐ Security Considerations
Input Sanitization
All inputs are validated and sanitized:
Targets: Validated as IP, CIDR, hostname, or URL
Ports: Validated format, range checks
Parameters: Regex filtering, dangerous character removal
Paths: Allowed directory whitelist
Dangerous Patterns Blocked
; | & ` $ ( ) { } > < || && ../ %00 \n \rNon-Root Execution
The container runs as pentester user (UID 1000) with limited capabilities:
cap_add:
- NET_RAW # Required for SYN scans
- NET_ADMIN # Network configuration
- NET_BIND_SERVICE # Bind to low ports๐ Web Pentest Workflow
Recommended Scanning Order
1. Reconnaissance
โโโ whatweb_scan # Identify technologies
โโโ wafw00f_detect # Check for WAF
โโโ nmap_scan (ports) # Open ports/services
2. Discovery
โโโ gobuster_scan (dir) # Directory enumeration
โโโ gobuster_scan (dns) # Subdomain enumeration
โโโ ffuf_fuzz # Parameter fuzzing
3. Vulnerability Assessment
โโโ nikto_scan # General web vulnerabilities
โโโ nuclei_scan # Template-based scanning
โโโ sslscan_scan # SSL/TLS issues
โโโ wpscan_scan # If WordPress detected
4. Targeted Testing
โโโ sqlmap_scan # SQL injection
โโโ searchsploit_search # Find exploits
5. Reporting
โโโ Review /app/outputs # All scan results saved๐ Project Structure
kali-mcp-server/
โโโ Dockerfile # Kali Linux container setup
โโโ docker-compose.yml # Orchestration
โโโ requirements.txt # Python dependencies
โโโ README.md # This file
โโโ src/
โ โโโ __init__.py
โ โโโ main.py # FastMCP server & tools
โ โโโ validators.py # Input sanitization
โ โโโ formatters.py # Output formatting
โ โโโ config.py # Settings management
โโโ config/
โ โโโ claude_desktop_config.json
โโโ scripts/ # Helper scripts
โโโ wordlists/ # Custom wordlists๐ Troubleshooting
Container Won't Start
# Check logs
docker-compose logs kali-mcp
# Verify capabilities
docker run --rm --cap-add NET_RAW kali-mcp-server nmap --versionScans Timing Out
# Increase timeout
docker-compose exec kali-mcp env DEFAULT_TIMEOUT=900
# Or pass timeout parameter
nmap_scan(target="...", timeout=900)Permission Denied
# Ensure proper capabilities
docker run --cap-add NET_RAW --cap-add NET_ADMIN ...Tool Not Found
# Enter container and verify
docker-compose exec kali-mcp which nmap nikto sqlmap๐ License
MIT License - Use responsibly and only on authorized systems.
โ ๏ธ Legal Disclaimer
This tool is for authorized security testing only. Unauthorized access to computer systems is illegal. Always:
Get written permission before testing
Define scope clearly
Document all activities
Report findings responsibly
The authors assume no liability for misuse of this tool.
๐ค Contributing
Fork the repository
Create feature branch
Add tests for new tools
Submit pull request
๐ Support
For issues and feature requests, open a GitHub issue with:
Environment details
Steps to reproduce
Expected vs actual behavior
Relevant logs
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
AI pentesting: run scans, triage vulnerabilities, review PRs, manage schedules and assets.
Scan a website for vulnerabilities: OWASP Top 10, CVEs, SSL, headers - with plain-English fixes
Zero-config MCP security scanner for AI-generated apps. 25K+ vulnerability patterns.
Security, SEO and AI-visibility scanner for web apps ยท free scans and focused checks via MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides secure access to Kali Linux security tools through a dockerized environment for authorized penetration testing and defensive security. Enables network scanning, web application testing, system enumeration, and credential testing with built-in input sanitization and network restrictions.MIT
- FlicenseNot gradedqualityDmaintenanceProvides a secure interface for AI assistants to interact with penetration testing tools like nmap, hydra, sqlmap, and nikto for educational cybersecurity purposes. Includes input sanitization and runs in a Docker container with Kali Linux tools for authorized testing scenarios.
- -licenseNot gradedqualityDmaintenanceProvides secure access to Kali Linux penetration testing tools including nmap, nikto, dirb, wpscan, and sqlmap for educational vulnerability assessment on whitelisted targets. Runs in a controlled Docker environment and includes reconnaissance capabilities for authorized security testing.1
- FlicenseCqualityDmaintenanceProvides access to 20+ Kali Linux penetration testing tools through isolated Docker containers, enabling network scanning, vulnerability assessment, password cracking, web security testing, and forensics through natural language commands.261
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/eversonwbm/kali-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server