Nadeem1607/kali-linux-mcp-server
If you are the rightful owner of kali-linux-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Kali Linux MCP Server is a Model Context Protocol server that provides access to Kali Linux security tools through a Docker container, enabling penetration testing and security assessments in a controlled environment.
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
-
Clone or navigate to the project directory:
cd "Virtual Machines.localized/docker/kali" -
Install Node.js dependencies:
npm install -
Build the project:
npm run build
Quick Start
Option 1: Using Docker Compose (Recommended)
-
Start the Kali container:
npm run docker:compose -
Run the MCP server:
npm start
Option 2: Manual Docker Management
-
Build the Docker image:
npm run docker:build -
Start the container:
npm run docker:run -
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 containerkali://tools: Show installed security tools and their statuskali://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:
- Ethical Use Only: This tool is intended for authorized security testing only
- Isolated Environment: All tools run in a containerized environment
- Network Isolation: Consider network isolation for sensitive environments
- Resource Limits: Container has resource limits to prevent abuse
- No Root Access: Tools run as non-root user within the container
Troubleshooting
Container Issues
-
Container not starting:
docker logs kali-mcp-container -
Image build failures:
docker system prune npm run docker:build -
Permission errors:
docker exec -it kali-mcp-container chown -R kali:kali /home/kali
MCP Server Issues
- Module not found errors: Ensure dependencies are installed with
npm install - TypeScript compilation errors: Run
npm run buildto compile - 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
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- 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.