Skip to main content
Glama
avi686

Security Testing MCP Server

by avi686
README.md
# Security Testing MCP Server

A Model Context Protocol (MCP) server that provides penetration testing tools for educational purposes using Kali Linux security tools.

## Purpose

This MCP server provides a comprehensive interface for AI assistants to perform security testing using popular Kali Linux tools for educational and authorized testing purposes.

## Features

### Current Implementation

- **`nmap_scan`** - Network port scanning and service detection with multiple scan types
- **`nikto_scan`** - Web vulnerability scanning with plugin support
- **`sqlmap_test`** - SQL injection testing with advanced options
- **`wpscan_test`** - WordPress vulnerability scanning with API token support
- **`dirb_scan`** - Directory and file brute forcing with custom wordlists
- **`searchsploit_lookup`** - Exploit database searching with filters
- **`ping_sweep`** - Network discovery and connectivity testing
- **`custom_scan`** - Execute custom commands with whitelisted tools

## Quick Start

1. **Clone and Build:**
   ```bash
   git clone https://github.com/avi686/security-mcp-server.git
   cd security-mcp-server
   docker build -t security-mcp-server .
   ```

2. **Set up MCP Configuration:**
   ```bash
   mkdir -p ~/.docker/mcp/catalogs
   ```

3. **Create custom catalog** (`~/.docker/mcp/catalogs/custom.yaml`):
   ```yaml
   version: 2
   name: custom
   displayName: Custom MCP Servers
   registry:
     security:
       description: "Comprehensive penetration testing tools for educational and authorized use"
       title: "Security Testing Tools"
       type: server
       dateAdded: "2025-09-24T00:00:00Z"
       image: security-mcp-server:latest
       ref: ""
       tools:
         - name: nmap_scan
         - name: nikto_scan
         - name: sqlmap_test
         - name: wpscan_test
         - name: dirb_scan
         - name: searchsploit_lookup
         - name: ping_sweep
         - name: custom_scan
       metadata:
         category: security
         tags:
           - penetration-testing
           - security
           - kali-linux
           - educational
         license: MIT
         owner: local
   ```

4. **Update registry** (`~/.docker/mcp/registry.yaml`):
   ```yaml
   registry:
     security:
       ref: ""
   ```

5. **Configure Claude Desktop** (add to your config):
   ```json
   {
     "mcpServers": {
       "mcp-toolkit-gateway": {
         "command": "docker",
         "args": [
           "run", "-i", "--rm", "--network=host",
           "-v", "/var/run/docker.sock:/var/run/docker.sock",
           "-v", "/path/to/your/home/.docker/mcp:/mcp",
           "docker/mcp-gateway",
           "--catalog=/mcp/catalogs/docker-mcp.yaml",
           "--catalog=/mcp/catalogs/custom.yaml",
           "--config=/mcp/config.yaml",
           "--registry=/mcp/registry.yaml",
           "--tools-config=/mcp/tools.yaml",
           "--transport=stdio"
         ]
       }
     }
   }
   ```

6. **Restart Claude Desktop**

## Usage Examples

In Claude Desktop, you can ask:
- "Scan example.com for open ports using nmap"
- "Check https://testsite.com for web vulnerabilities with nikto"
- "Search for Apache exploits in the database"
- "Test WordPress site at https://myblog.com for vulnerabilities"
- "Brute force directories on https://target.com with custom extensions"
- "Perform SQL injection testing on https://webapp.com/page?id=1"

## Environment Variables

- `SCAN_TIMEOUT`: Maximum scan time in seconds (default: 300)
- `DEFAULT_INTENSITY`: Nmap timing template T1-T5 (default: T3)
- `DIRB_WORDLIST`: Path to directory wordlist (default: common.txt)
- `MAX_THREADS`: Maximum thread count for tools (default: 10)

## Security and Legal Notice

**IMPORTANT**: This tool is for educational purposes and authorized testing only. Users are responsible for:

- Obtaining proper authorization before scanning any systems
- Complying with local laws and regulations
- Using tools ethically and responsibly
- Not using for malicious purposes

The developers assume no responsibility for misuse of these tools.

## License

MIT License