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.
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
-
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.
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.