Kali Linux MCP Server

Kali Linux MCP Server

Provides access to Kali Linux security tools through a Docker container, enabling penetration testing and security assessments via MCP-compatible clients.

Category
Visit Server

README

Kali Linux MCP Server

A Model Context Protocol (MCP) server that provides access to Kali Linux security tools through a Docker container. This server allows you to run penetration testing and security assessment tools in a controlled, containerized environment.

Features

  • Containerized Security Tools: Access to popular Kali Linux tools through Docker
  • MCP Integration: Compatible with MCP clients like Claude Desktop
  • Safe Execution: Tools run in an isolated Docker container
  • Comprehensive Tool Set: Includes nmap, gobuster, sqlmap, hydra, nuclei, and more
  • Resource Management: Built-in container lifecycle management

Available Tools

Network Scanning

  • nmap_scan: Perform network scanning with various scan types
  • masscan: High-speed port scanning
  • nuclei_scan: Vulnerability scanning with Nuclei templates

Web Application Testing

  • gobuster_scan: Directory and file bruteforcing
  • sqlmap_scan: SQL injection vulnerability testing
  • nikto: Web server vulnerability scanning

Authentication Testing

  • hydra_bruteforce: Password bruteforcing for various services

General Purpose

  • execute_command: Execute any command in the Kali container

Prerequisites

  • Docker and Docker Compose installed
  • Node.js 18+ for development
  • MCP-compatible client (e.g., Claude Desktop)

Installation

  1. Clone or navigate to the project directory:

    cd "Virtual Machines.localized/docker/kali"
    
  2. Install Node.js dependencies:

    npm install
    
  3. Build the project:

    npm run build
    

Quick Start

Option 1: Using Docker Compose (Recommended)

  1. Start the Kali container:

    npm run docker:compose
    
  2. Run the MCP server:

    npm start
    

Option 2: Manual Docker Management

  1. Build the Docker image:

    npm run docker:build
    
  2. Start the container:

    npm run docker:run
    
  3. Run the MCP server:

    npm start
    

Usage Examples

Network Scanning with Nmap

{
  "name": "nmap_scan",
  "arguments": {
    "target": "192.168.1.1",
    "scan_type": "tcp",
    "ports": "80,443,22,21"
  }
}

Directory Bruteforcing with Gobuster

{
  "name": "gobuster_scan",
  "arguments": {
    "url": "http://example.com",
    "wordlist": "common",
    "extensions": "php,html,js",
    "threads": 20
  }
}

SQL Injection Testing with SQLMap

{
  "name": "sqlmap_scan",
  "arguments": {
    "url": "http://example.com/login.php",
    "data": "username=admin&password=test",
    "level": 3,
    "risk": 2
  }
}

Password Bruteforcing with Hydra

{
  "name": "hydra_bruteforce",
  "arguments": {
    "target": "192.168.1.100",
    "service": "ssh",
    "username": "admin",
    "password_list": "common",
    "threads": 4
  }
}

Vulnerability Scanning with Nuclei

{
  "name": "nuclei_scan",
  "arguments": {
    "target": "https://example.com",
    "templates": "cves",
    "severity": "high"
  }
}

Custom Command Execution

{
  "name": "execute_command",
  "arguments": {
    "command": "searchsploit apache",
    "working_dir": "/home/kali"
  }
}

Configuration for Claude Desktop

Add this to your Claude Desktop MCP configuration:

{
  "mcpServers": {
    "kali-linux": {
      "command": "node",
      "args": ["/path/to/kali-linux-mcp-server/build/index.js"],
      "cwd": "/path/to/kali-linux-mcp-server"
    }
  }
}

Available Resources

The server provides several resources for information gathering:

  • kali://wordlists: List available wordlists in the container
  • kali://tools: Show installed security tools and their status
  • kali://container-info: Display container information and status

Development

Running in Development Mode

npm run dev

Building the Project

npm run build

Managing Docker Containers

  • Start container: npm run docker:compose
  • Stop container: npm run docker:compose:down
  • Rebuild image: npm run docker:build

Security Considerations

⚠️ Important Security Notes:

  1. Ethical Use Only: This tool is intended for authorized security testing only
  2. Isolated Environment: All tools run in a containerized environment
  3. Network Isolation: Consider network isolation for sensitive environments
  4. Resource Limits: Container has resource limits to prevent abuse
  5. No Root Access: Tools run as non-root user within the container

Troubleshooting

Container Issues

  1. Container not starting:

    docker logs kali-mcp-container
    
  2. Image build failures:

    docker system prune
    npm run docker:build
    
  3. Permission errors:

    docker exec -it kali-mcp-container chown -R kali:kali /home/kali
    

MCP Server Issues

  1. Module not found errors: Ensure dependencies are installed with npm install
  2. TypeScript compilation errors: Run npm run build to compile
  3. Docker connection errors: Verify Docker is running and accessible

Tool-Specific Notes

Nmap

  • Requires appropriate permissions for certain scan types
  • SYN scans may require root privileges (handled automatically)
  • Large scan ranges may take significant time

SQLMap

  • Batch mode is enabled by default to prevent interactive prompts
  • Test responsibly and only on systems you own or have permission to test

Hydra

  • Rate limiting is important to avoid detection
  • Use appropriate thread counts for target systems

Nuclei

  • Templates are automatically updated during image build
  • Severity filtering helps focus on important findings

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

License

MIT License - see LICENSE file for details.

Disclaimer

This tool is for educational and authorized security testing purposes only. Users are responsible for complying with all applicable laws and regulations. The authors are not responsible for any misuse of this software.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured