Kali MCP Server

by k3nn3dy-ai

Not rated
GitHub

About

A Kali Linux MCP server providing AI assistants with access to security tools.

Details

Author
k3nn3dy-ai
Categories
Developer Tools, Security, Infrastructure

Setup

Install Kali MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/k3nn3dy-ai/kali-mcp

Follow the installation instructions in the repository README, then restart your MCP client.

A Kali Linux MCP server providing AI assistants with access to security tools.

A production-ready MCP (Model Context Protocol) server running in a Kali Linux Docker container, providing AI assistants with access to 35 security tools covering the full offensive security lifecycle.

This project provides a Docker containerized MCP server that runs on Kali Linux, giving AI assistants (like Claude) access to a full suite of security and penetration testing tools. The server communicates via Server-Sent Events (SSE) or stdio and allows AI to execute commands in a controlled environment.

# Quick start with the helper script ./run_docker.sh # Or with Docker Compose docker compose up --build -d # Or manually: docker build -t kali-mcp-server . docker run -p 8000:8000 kali-mcp-server
# install dev dependencies ./run_tests.sh install # individual checks ./run_tests.sh typecheck # pyright ./run_tests.sh lint # ruff check . ./run_tests.sh format # ruff format . ./run_tests.sh test # pytest ./run_tests.sh test-tools # pytest tests/test_tools.py ./run_tests.sh test-session # pytest -k "session" # run install + typecheck + lint + tests ./run_tests.sh all

- Edit your Claude Desktop config file at~/Library/Application Support/Claude/claude_desktop_config.json:

{ "mcpServers": { "kali-mcp-server": { "transport": "sse", "url": "http://localhost:8000/sse", "command": "docker compose up -d" } } }

- Restart Claude Desktop
- Test with:/run nmap -F localhost

Runs nmap with predefined scan presets, generating both text and XML output.

/port_scan target=192.168.1.1 scan_type=quick /port_scan target=10.0.0.0/24 scan_type=aggressive ports=80,443,8080

Queries all DNS record types and attempts zone transfers.

/dns_enum domain=example.com /dns_enum domain=target.com record_types=a,mx,ns,txt

Runs a multi-stage reconnaissance pipeline with configurable depth.

/recon_auto target=example.com depth=quick /recon_auto target=10.0.0.1 depth=standard /recon_auto target=target.com depth=deep
/hydra_attack target=192.168.1.1 service=ssh username=admin passlist=/usr/share/wordlists/rockyou.txt /hydra_attack target=10.0.0.1 service=ftp userlist=users.txt passlist=passwords.txt threads=32

Supported Services:ssh, ftp, http-get, http-post-form, smb, mysql, rdp, telnet, vnc, pop3, imap, smtp

/payload_generate payload_type=reverse_shell platform=linux lhost=10.0.0.1 lport=4444 format=elf /payload_generate payload_type=meterpreter platform=windows lhost=10.0.0.1 format=exe

Payload Types:reverse_shell, bind_shell, meterpreterPlatforms:linux, windows, osx, php, pythonFormats:elf, exe, raw, python, php, war

Generates ready-to-use reverse shell commands with listener hints.

/reverse_shell lhost=10.0.0.1 shell_type=bash lport=4444 /reverse_shell lhost=10.0.0.1 shell_type=python lport=9999

Shell Types:bash, python, php, perl, powershell, nc, ruby, java

/encode_decode data="hello world" operation=encode format=base64 /encode_decode data="aGVsbG8gd29ybGQ=" operation=decode format=base64 /encode_decode data="<script>alert(1)</script>" operation=encode format=html

Identifies hash types by regex and returns Hashcat mode numbers and John format names.

/hash_identify hash_value=5d41402abc4b2a76b9719d911017c592 /hash_identify hash_value=$2y$10$abcdefghijklmnopqrstuuABCDEFGHIJKLMNOPQRSTUVWXYZ012345

Supported Types:MD5, SHA-1, SHA-256, SHA-512, bcrypt, SHA-512/256/MD5 Crypt, NTLM, Apache APR1, MySQL, Django

/enum_shares target=192.168.1.1 enum_type=all /enum_shares target=10.0.0.1 enum_type=smb username=admin password=pass

Enum Types:smb (smbclient + enum4linux), nfs (showmount), all

credential_store- Credential Management

Stores discovered credentials as JSON tied to the active session.

/credential_store action=add username=admin password=pass123 service=ssh target=10.0.0.1 /credential_store action=list /credential_store action=search username=admin

Parses both text and XML nmap output into structured JSON with hosts, open ports, services, OS detection, and script output.

/parse_nmap filepath=port_scan_10_0_0_1_quick_20240101_120000.txt /parse_nmap filepath=scan_results.xml

parse_tool_output- Generic Output Parser

Auto-detects and parses output from nikto, gobuster, dirb, hydra, or sqlmap.

/parse_tool_output filepath=nikto_results.txt /parse_tool_output filepath=gobuster_output.txt tool_type=gobuster
/vulnerability_scan target=127.0.0.1 scan_type=quick /vulnerability_scan target=example.com scan_type=comprehensive

Scan Types:quick, comprehensive, web, network

/web_enumeration target=http://example.com enumeration_type=full
/network_discovery target=192.168.1.0/24 discovery_type=comprehensive

The Docker container includes the following tools, all enabled for use through theruncommand:

All commands are allowed by default inside the container. The container itself is the security boundary.

- Container isolation: The server runs inside an isolated Docker container. Root is used inside the container because many security tools (nmap SYN scans, tcpdump, etc.) require raw socket access
- Input sanitization: Shell metacharacters (;,&,|) are stripped from all command input
- No host access: The container has no access to the host filesystem or network stack (unless volumes are explicitly mounted)
- Authorization required: Only use for legitimate security testing with proper authorization
- Local only: The container should not be exposed to the internet

- Docker
- Claude Desktop or other MCP client (SSE or stdio)
- Port 8000 available on your host machine

git clone https://github.com/yourusername/kali-mcp-server.git cd kali-mcp-server python -m venv .venv source .venv/bin/activate pip install -e ".[dev]"
# All checks ./run_tests.sh # Individual pyright # Type checking ruff check . # Linting ruff format . # Formatting pytest # All tests pytest tests/test_tools.py # Single file pytest -k "session" # Pattern match

Adding a new tool requires changes in three places:
- kali_mcp_server/tools.py- Implement the async function
- kali_mcp_server/server.py- Add dispatch inhandle_tool_request()and schema inlist_available_tools()
- tests/- Add tests in bothtest_tools.pyandtest_server.py

- Kali Linux for their security-focused distribution
- Anthropic for Claude and the MCP protocol
- The open-source security tools community

Built for security professionals and AI assistants

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

An AI penetration testing tool that uses natural language to operate various security tools like nmap, sqlmap, and metasploit.

A feature-rich gateway and proxy that federates MCP and REST services, unifying discovery, authentication, rate-limiting, and observability into a single endpoint for AI clients.

An MCP server for integrating with the Metasploit Framework, enabling payload generation and management.

An MCP server for integrating with the Metasploit Framework. Requires Metasploit Framework to be installed and msfrpcd to be running.

Integrates Volatility 3 memory analysis with FastAPI and MCP, exposing memory forensics plugins via REST APIs.

Boost security in your dev lifecycle via SAST, SCA, Secrets & IaC scanning with Cycode.

MCP access to cluster-wide L4 and L7 network traffic, packets, APIs, and complete payloads.

Model Context Protocol Servers Repository for OpenZeppelin Products

Enable AI agents to secure code with Semgrep.

Model Context Protocol server for Skycloak managed Keycloak. Manage clusters, realms, applications, SSO and users from any MCP client.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.