mcp-vulnerability-scanner
The MCP Vulnerability Scanner is an MCP server that focuses on scanning IP addresses for vulnerabilities. It provides tools for both single and multiple IP scanning and offers detailed reports on vulnerability findings, making it a robust tool for security assessments.
MCP Vulnerability Scanner
A Model Context Protocol (MCP) server for scanning IP addresses for vulnerabilities. This server provides tools to perform security scanning on individual IPs or multiple IPs at once.
Features
- Scan IP addresses for vulnerabilities using multiple methods:
- Nmap vulnerability scanning
- API-based vulnerability checks
- Supports single IP scanning or batch scanning of multiple IPs
- Returns detailed reports with vulnerability severity, descriptions, and remediation steps
- Implements the Model Context Protocol for easy integration with MCP clients
Prerequisites
- Node.js (v14.x or higher)
- npm (v7.x or higher)
- Nmap (optional, for enhanced scanning capabilities)
Installation
-
Clone this repository:
git clone <repository-url> cd mcp-vulnerability-scanner
-
Install dependencies:
npm install
-
Install Nmap (optional but recommended):
# For Ubuntu/Debian sudo apt-get update sudo apt-get install nmap # For CentOS/RHEL sudo yum install nmap # For macOS brew install nmap
Configuration
The MCP Vulnerability Scanner is configured through the following files:
1. .mcp.json
This is the main MCP configuration file:
{
"name": "vulnerability-scanner",
"version": "1.0.0",
"description": "An MCP server for scanning vulnerabilities on IP addresses",
"command": "npm",
"args": ["run", "dev"],
"capabilities": {
"contextItemTypes": ["ip"]
}
}
2. Integration with VS Code
For VS Code integration, the configuration is in .vscode/mcp.json
:
{
"mcpServers": {
"mcp_vuln": {
"command": "npm",
"args": [
"run",
"dev",
"mcp-vulnerability-scanner",
"--prefix",
"/path/to/mcp-vulnerability-scanner"
],
"env": {
"MCP_SERVER_PORT": "3000"
}
}
}
}
Update the --prefix
path to point to your installation location.
Usage Example
Below is a example showing the vulnerability scanner in action:
- Single Ip Addess scan
- Multiple Ip Addess scan
Available Tools
This MCP server provides the following tools:
1. scan-ip
Scans a single IP address for vulnerabilities.
Parameters:
ip
: The IP address to scan (string)
Example usage:
scan-ip 192.168.1.1
2. scan-multiple-ips
Scans multiple IP addresses for vulnerabilities.
Parameters:
ips
: Array of IP addresses to scan (string[])
Example usage:
scan-multiple-ips ["192.168.1.1", "192.168.1.2", "192.168.1.3"]
Deployment Options
1. Local Development
Run the server in development mode:
npm run dev
2. Build and Run in Production
npm run build
npm start
3. Docker Deployment
Create a Dockerfile in the project root:
FROM node:18-alpine
# Install Nmap
RUN apk add --no-cache nmap
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]
Build and run the Docker container:
docker build -t mcp-vulnerability-scanner .
docker run -p 3000:3000 mcp-vulnerability-scanner
4. VS Code Extension Integration
To use this server in VS Code:
- Configure the
.vscode/mcp.json
file as shown above - Ensure the path to the server is correctly set
- The server will be available to MCP-enabled extensions
Security Considerations
- This scanner requires administrative/root permissions to run comprehensive Nmap scans
- Only scan IP addresses that you have permission to scan
- Be aware that vulnerability scanning might trigger security systems or IDS alerts
- The scan results are provided for informational purposes only
License
MIT