Skip to main content
Glama
M-Samuel

kali-tools-mcp

by M-Samuel

Kali Tools MCP Server (Docker)

This project builds a hardened Docker image containing:

  • A Node.js MCP server (Streamable HTTP transport)

  • A selected security toolset (nmap, sqlmap, dig, whois, openssl, curl, netcat, dnsutils, plus Chromium for browser exploration)

Installation & Setup

Prerequisites

  • Docker (for containerized deployment)

  • Node.js 18+ (for local development)

  • npm

Install dependencies

npm install

Related MCP server: Kali MCP Server

Build the Docker image

docker build -t kali-tools-mcp:latest .

Run the server

Option 1: Local development

npm start

By default, the server listens on http://0.0.0.0:3000. Override with environment variables:

HOST=127.0.0.1 PORT=8080 npm start

Option 2: Docker (detached)

docker run -d --name kali-tools-mcp --rm -p 3000:3000 kali-tools-mcp:latest

Option 3: Docker (hardened runtime)

docker run -d --name kali-tools-mcp --rm \
  -p 3000:3000 \
  --read-only \
  --tmpfs /tmp:rw,noexec,nosuid,size=64m \
  --cap-drop ALL \
  --security-opt no-new-privileges:true \
  --pids-limit 256 \
  --memory 512m \
  --cpus 1.0 \
  kali-tools-mcp:latest

Health check

curl http://localhost:3000/health

Stop the container

docker stop kali-tools-mcp

MCP Configuration

Endpoint

http://localhost:3000/mcp

Example MCP client config

Use this in an MCP-compatible client that supports Streamable HTTP servers:

{
  "mcpServers": {
    "kali-tools": {
      "type": "streamable-http",
      "url": "http://localhost:3000/mcp"
    }
  }
}

Exposed Tools

Reconnaissance & Discovery

  • nmap_scan: Run nmap with a controlled set of options (-sV, -sT, -Pn, -A, -F)

  • dig_lookup: Resolve DNS records via dig (A, AAAA, CNAME, MX, TXT, NS)

  • whois_lookup: Fetch WHOIS information for a domain

Web & TLS Analysis

  • http_headers_check: Fetch HTTP response headers from a URL (supports redirect following and insecure TLS)

  • website_explore: Open a website in Playwright and return a structured summary of the page

  • website_interact_form: Fill form fields in Playwright and optionally submit the form

  • playwright_cli: Run bounded Playwright CLI commands (--version, install, screenshot, pdf, show-trace)

  • tls_certificate_check: Inspect TLS certificate and handshake details for a host

  • nmap_ssl_cipher_scan: Enumerate supported TLS ciphers on a target

Vulnerability Scanning

  • sqlmap_url_scan: Run a bounded sqlmap check against a URL

  • nmap_vuln_scan: Run nmap vulnerability NSE scripts against a host

Configuration & Limits

  • Tool timeout: 60 seconds (120 seconds for vulnerability scans)

  • Max output: 12,000 characters (truncated if exceeded)

  • Max buffer: 10 MB per execution

  • Options constraints: Commands enforce strict argument whitelisting to prevent abuse

Security & Authorization

⚠️ Important: Run scans only on systems you own or have explicit written permission to test.

  • The image uses a slim base and runs as a non-root user.

  • The server limits command arguments and output size to reduce abuse and accidental overload.

  • All tool executions are bounded by timeouts and resource constraints.

  • Environment variables default to listening on all interfaces (0.0.0.0); restrict to 127.0.0.1 for local-only access.

Development

Project structure

.
├── Dockerfile          # Container definition
├── package.json        # Node.js dependencies & metadata
├── README.md           # This file
└── src/
    └── server.js       # MCP server implementation

License & Disclaimer

Use responsibly. The authors are not responsible for misuse of this software. Ensure all scans are authorized.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables LLMs to execute Kali Linux security tools like nmap, sqlmap, and hydra in a secure, sandboxed environment. Provides both MCP and HTTP API interfaces for penetration testing and security assessment tasks.
    -
  • F
    license
    C
    quality
    D
    maintenance
    Provides 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.
    26
    1
    -
  • A
    license
    A
    quality
    D
    maintenance
    Provides an MCP interface to a full Kali Linux environment running in Docker, enabling AI assistants to execute security tools like nmap, sqlmap, and metasploit. It allows users to start/stop the container, run shell commands, and transfer files for security testing and educational purposes.
    7
    5 npm
    5
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to perform professional penetration testing through a containerized Kali Linux environment, exposing industry-standard offensive security tools as structured MCP tools.
    45
    4
    MIT