loading…
Search for a command to run...
loading…
An AI-powered penetration testing server that integrates over 30 security tools with Groq LLM analysis for automated vulnerability scanning, triage, and reporti
An AI-powered penetration testing server that integrates over 30 security tools with Groq LLM analysis for automated vulnerability scanning, triage, and reporting. It enables users to perform comprehensive security assessments through natural language natively within Claude Desktop.
AI-Powered Security Scanning via Model Context Protocol
MCP server exposing 25+ security tools to Claude Desktop. Claude orchestrates penetration testing through natural language - no CLI needed.
# Install dependencies
pip install -e .
# Add to Claude Desktop config (see CLAUDE_DESKTOP_CONFIG.md)
# Then restart Claude Desktop
# Example prompts in Claude Desktop:
# "Initialize a security assessment for http://localhost:3001"
# "Run a quick scan on http://localhost:3001 with consent"
# "Check if the site has a WAF"
# "Scan for XSS vulnerabilities"
# "Generate the final security report"
┌─────────────────────────────────────────────────────────────┐
│ CLAUDE DESKTOP │
│ (MCP Client) │
│ │
│ User: "Scan http://localhost:3001 for XSS" │
│ Claude: Calls nuclei, dalfox, nikto tools │
└────────────────────┬────────────────────────────────────────┘
│ MCP Protocol (stdio)
│ JSON-RPC tool calls
▼
┌─────────────────────────────────────────────────────────────┐
│ MCP SERVER │
│ (pentest_mcp/mcp_server.py) │
│ │
│ Tool Registry: │
│ • 25 individual tools (nmap, sqlmap, nuclei, etc.) │
│ • 3 preset modes (quick_scan, medium_scan, extensive) │
│ • 2 session tools (init_session, get_report) │
└────────────────────┬────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ EXISTING TOOL LAYER (unchanged) │
│ │
│ tools/professional.py - 25 tool wrappers │
│ scan_modes.py - preset scan logic │
│ enrichment.py - CVE lookup │
│ report_engine.py - markdown generation │
│ session.py - session management │
└─────────────────────────────────────────────────────────────┘
Cloud-based LLM providing highest quality reports. Active by default.
Pros:
Cons:
Report generation uses Gemini exclusively. FineTuning.ipynb remains as a historical training artifact, but it is not part of the active report-generation architecture.
pentest run - Preset Scan ModesExecute predefined security scans with optimized tool combinations.
# Quick scan (5-10 minutes)
pentest run --target http://localhost:3001 --mode quick --consent
# Medium scan (15-30 minutes)
pentest run --target http://localhost:3001 --mode medium --consent
# Extensive scan (45+ minutes)
pentest run --target http://localhost:3001 --mode extensive --consent
Scan Modes:
pentest ask - AI-Powered Custom ScansUse natural language to describe your security testing needs.
# XSS and SQL injection testing
pentest ask --query "test for XSS and SQL injection" --target http://localhost:3001 --consent
# Full security assessment
pentest ask --query "comprehensive security audit" --target http://localhost:3001 --consent
# TLS/SSL audit
pentest ask --query "check SSL/TLS configuration" --target http://localhost:3001 --consent
pentest session list - View Scan Historypentest session list
Run specific security tools directly:
# Technology fingerprinting
pentest tool tech_fingerprint --url http://localhost:3001 --consent
# XSS scanner
pentest tool xss_scan --url http://localhost:3001 --consent
# SQL injection scanner
pentest tool sqli_scan --url http://localhost:3001 --consent
See COMMAND_REFERENCE.md for complete command documentation.
git clone <repository-url>
cd pentest-mcp
pip install -e .
Create .env file:
# Required: Gemini API key
GEMINI_API_KEY=your_api_key_here
# Optional: Model selection (default: gemini-2.0-flash-exp)
GEMINI_MODEL=gemini-2.0-flash-exp
The tool works with Python fallbacks, but for professional-grade scanning:
# macOS
brew install nmap sqlmap ffuf nuclei nikto gobuster testssl
# Linux (Debian/Ubuntu)
apt-get install nmap sqlmap nikto
All reports are generated as professional markdown with:
Reports are saved to ~/.pentest-mcp/sessions/<session_id>/report.md
Findings are automatically enriched with CVE data from the NVD API:
CVE data is prominently highlighted in reports with dedicated sections.
Reconnaissance: dns_enum, subdomain_discovery, port_scan, tech_fingerprint, waf_detect, amass_enum, dnsrecon_scan, masscan_scan
Vulnerability Scanning: nuclei_scan, nikto_scan, xss_scan, sqli_scan, csrf_check
Web Fuzzing: ffuf_scan, gobuster_scan, wfuzz_scan, arjun_scan
TLS/SSL: tls_audit, testssl_scan
Advanced: git_dumper, jwt_tool, cors_test, ssrf_check, lfi_scan, rce_check
AI Analysis: analyze_findings, suggest_next_steps, explain_vulnerability, cvss_score, generate_report
| Variable | Description | Default |
|---|---|---|
GEMINI_API_KEY |
Gemini API key (required) | - |
GEMINI_MODEL |
Model to use | gemini-2.0-flash-exp |
AGENT_MAX_TOOLS |
Max tools per scan | 10 |
AGENT_TIMEOUT |
Tool execution timeout (seconds) | 300 |
The tool uses enhanced prompts designed for professional penetration testing:
This tool is for authorized security testing only.
--consent flag is an ethical safeguard - never bypass itpentest-mcp/
├── pentest_mcp/
│ ├── cli.py # CLI interface
│ ├── agent.py # AI orchestrator
│ ├── scan_modes.py # Preset scan modes
│ ├── session.py # Session management
│ ├── enrichment.py # CVE enrichment
│ ├── llm_providers.py # Gemini integration
│ ├── report_engine.py # Report generation
│ ├── tools/
│ │ ├── professional.py # External tool wrappers
│ │ ├── tool_registry.py # Tool execution
│ │ └── analysis.py # AI analysis tools
│ └── models.py # Data models
├── FineTuning.ipynb # Model training notebook
├── reports/ # Generated reports (gitignored)
├── .agents/ # Agent skills (gitignored)
├── COMMAND_REFERENCE.md # Complete command guide
└── README.md # This file
echo $GEMINI_API_KEYecho $GEMINI_API_KEY~/.pentest-mcp/sessions/<session_id>/session.logInstall missing tools via package manager. Python fallbacks cover core functionality.
Ensure you have authorization to test the target. The --consent flag confirms this.
MIT License - See LICENSE for details.
Built with 🐍 Python · 🧠 Gemini AI · 🛡️ OWASP Standards
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"pentest-mcp-server": {
"command": "npx",
"args": []
}
}
}Web content fetching and conversion for efficient LLM usage.
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also