A Python MCP Server that connects Large Language Models to Kali Linux tools.
1.8K
GitHub: https://github.com/cyberillo/kali-mcp-server
Website: https://cyberillo.com/kali-mcp-server
The Kali Linux MCP Server is a specialized Model Context Protocol (MCP) implementation designed to connect Large Language Models natively to a comprehensive suite of offensive security, reconnaissance, and enumeration tools. Powered by the FastMCP Python SDK, this server translates natural language requests into safe, encapsulated command-line executions of standard Kali Linux utilities.
By exposing these tools as MCP resources, AI agents can autonomously perform WHOIS lookups, run Nmap scans, fuzz web directories, search exploit databases, and even interface with the Metasploit Framework, all while returning structured standard output and error logs back to the LLM's context window.
DEBIAN_FRONTEND=noninteractive environment variable to suppress manual prompts during Debian package installations, guaranteeing a fully automated build process.mcp Python SDK. The environment is flexible, allowing the SDK to be installed globally within the isolated container (--break-system-packages) or via a localized Python virtual environment.stdio Transport: Utilizes direct standard input/output for JSON-RPC communication, bypassing complex network configurations and ensuring out-of-the-box compatibility with AI IDEs (like Cursor and VS Code) and desktop clients (like Claude Desktop).
By using Docker, the server runs in an isolated container that automatically provisions Python 3, pip, and an extensive suite of Kali Linux tools (including nmap, sqlmap, tcpdump, and metasploit-framework).
Because this server relies on dozens of specific binary tools, packaging it via Docker is the "Gold Standard" approach.
The fastest way to get started is to pull the official image from Docker Hub.
docker pull cyberillo/kali-mcp-server:latest
To run the container interactively using the stdio transport required by MCP clients:
docker run -i --rm kali-mcp-server
(Note: Some tools like tcpdump or netdiscover require elevated privileges. If you explicitly need these, you may need to append --privileged or specific --cap-add flags to your docker run command, though this is heavily discouraged for general use).
Add the following to your claude_desktop_config.json file (usually located at ~/Library/Application Support/Claude/claude_desktop_config.json on Mac or %APPDATA%\Claude\claude_desktop_config.json on Windows).
Go to File > Settings > Developer > Edit Config if you don't find it in the above paths.
{
"mcpServers": {
"kali-tools": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"kali-mcp-server"
]
}
}
}
.vscode in your workspace..vscode/mcp.json as follows.{
"servers": {
"kali-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"kali-mcp-server"
]
}
},
"inputs": []
}
For IDEs supporting the Model Context Protocol, configure a new MCP server utilizing the stdio transport type.
stdiodockerrun -i --rm kali-mcp-serverContent type
Image
Digest
sha256:bdb871daa…
Size
1.3 GB
Last updated
6 months ago
docker pull cyberillo/kali-mcp-server