- Home
- MCP servers
- Kali
Kali
- python
9
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"weirdmachine64-kali-docker-mcp": {
"command": "docker",
"args": [
"exec",
"-i",
"kali-mcp-server",
"python3",
"/app/kali_server.py"
]
}
}
}You can run Kali Linux security tools inside a container and access them through a Model Context Protocol (MCP) server. This setup lets you execute commands, manage long-running tasks in the background, monitor out-of-band Interactsh interactions, and organize your pentest workspace from a centralized MCP client.
How to use
Use an MCP client to connect to the Kali MCP Server and issue commands that run inside the Kali container. Long-running commands (over 60 seconds) automatically become background jobs, and you can check their status or cancel them as needed. You can also start and poll Interactsh to detect out-of-band interactions.
How to install
Prerequisites you need before starting are Docker and Docker Compose. You also need an MCP-compatible client (for example, Claude Code, Gemini CLI, or VS Code with Copilot). Follow these steps to get started.
# 1) Start the container in detached mode
docker compose up --build -d
# 2) Verify the container is running
docker ps | grep kali-mcp-server
Configure your MCP client
Choose your MCP client and set up the Kali MCP Server as a standard stdio connection. Ensure you disable any built-in terminal command execution tools in your client to prevent commands from running on your host system. All security tools will run inside the Kali container for safety.
Claude Desktop setup — run the MCP connection using a docker-exec command.
claude mcp add --transport stdio kali-mcp-server "docker exec -i kali-mcp-server python3 /app/kali_server.py"
Gemini CLI setup — register the Kali MCP Server with the container command.
gemini mcp add kali-mcp-server "docker exec -i kali-mcp-server python3 /app/kali_server.py"
VS Code (Copilot) setup — add a local MCP configuration in your workspace.
{
"servers": {
"kali-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"exec",
"-i",
"kali-mcp-server",
"python3",
"/app/kali_server.py"
]
}
}
}
Other MCP clients that accept a similar stdio configuration can use the same pattern. The key is to run the Python server inside the Kali container via docker exec.
After you configure your MCP client, restart the client to load the Kali MCP Server.
Security notes
This setup runs the container with the necessary privileges to execute security tools inside Kali. Networking tools may require elevated capabilities (NET_ADMIN, NET_RAW). All command execution is contained within the Docker environment to minimize risk to the host. Ensure you have proper authorization before using the server for security testing.
Configuration
Edit the configuration file to tailor workspace structure, Interactsh settings, and API service tokens. The configuration file governs how workspaces are organized, how Interactsh monitors are started, and where tokens for services like GitHub and Shodan are stored.
Disclaimers and notes
This tool is provided for educational and authorized security testing purposes only. Use at your own risk. The authors are not responsible for any misuse or damage caused by this software. Always ensure you have proper authorization before conducting security assessments.
Available tools
run_kali_command
Execute commands inside the Kali environment via MCP and return results to the client.
get_job_status
Check the status of a previously started background job.
list_background_jobs
List all currently running background jobs in the Kali environment.
cancel_job
Cancel a running background job.
get_workspace_info
Retrieve information about the configured workspace structure.
start_interactsh
Start the Interactsh worker to monitor out-of-band interactions.
get_interactsh_status
Check the status of the Interactsh worker.
poll_interactsh
Retrieve recorded interactions from Interactsh.
stop_interactsh
Stop the Interactsh worker.
get_service_tokens
Fetch configured API service tokens for external integrations.