Skip to main content
Glama

๐Ÿ›ก๏ธ PenTest MCP

AI-Powered Security Scanning via Model Context Protocol (MCP)

PenTest MCP is a specialized MCP server that exposes 25+ professional security tools to AI agents like Claude Desktop. It enables security researchers and developers to orchestrate penetration testing through natural language, automating complex tool chains and generating professional reports.

Python 3.11+ MCP License: MIT


๐Ÿš€ Quick Start (Claude Desktop)

  1. Install dependencies:

    pip install -e .
  2. Configure Claude Desktop: Add the following to your claude_desktop_config.json:

    {
      "mcpServers": {
        "pentest": {
          "command": "python3",
          "args": [
            "-m",
            "pentest_mcp.mcp_server"
          ],
          "cwd": "/absolute/path/to/pentest-mcp"
        }
      }
    }
  3. Restart Claude Desktop and start scanning:


  • Claude Desktop Integration - Full orchestration via the Model Context Protocol.

  • 25+ Security Tools - Including nmap, sqlmap, nuclei, ffuf, nikto, testssl, and more.

  • Natural Language Orchestration - Ask security questions, Claude picks the right tools.

  • Preset Scan Modes - Quick Triage and Extensive Assessment modes.

  • AI-Generated Reports - Professional markdown reports powered by Gemini AI.

  • CVE Enrichment - Findings are automatically cross-referenced with CVE data.


Related MCP server: BugBounty MCP Server

๐Ÿ› ๏ธ Supported Tools (25)

Category

Tools

Reconnaissance

subfinder, wafw00f, nmap, whatweb, amass, dnsrecon, theharvester

Vulnerability Scanning

nuclei, sqlmap, dalfox, nikto, retire, commix, corscanner, graphql_cop

Web Fuzzing

ffuf, gobuster, wfuzz, arjun

TLS/SSL

sslyze, testssl

Advanced/OSINT

masscan, trufflehog, git_dumper, jwt_tool


๐Ÿ”ง Installation & Setup

Prerequisites

  • Python 3.11+

  • Gemini API Key (for reports and analysis)

  • (Recommended) External tools installed: nmap, sqlmap, ffuf, nuclei, etc.

Configuration

Create a .env file in the project root:

GEMINI_API_KEY=your_api_key_here
GEMINI_MODEL=gemini-flash-lite-latest

๐Ÿ“ Project Structure

pentest-mcp/
โ”œโ”€โ”€ pentest_mcp/
โ”‚   โ”œโ”€โ”€ mcp_server.py      # Main MCP server entry point
โ”‚   โ”œโ”€โ”€ scan_modes.py      # Quick & Extensive scan logic
โ”‚   โ”œโ”€โ”€ session.py         # Session & DB management
โ”‚   โ”œโ”€โ”€ report_engine.py   # AI report generation
โ”‚   โ”œโ”€โ”€ llm_providers.py   # Gemini API integration
โ”‚   โ”œโ”€โ”€ tools/             # Tool wrappers & logic
โ”‚   โ””โ”€โ”€ models.py          # Pydantic data models
โ”œโ”€โ”€ vulnerable-app/        # Local test target (Node.js)
โ”œโ”€โ”€ reports/               # Generated scan reports
โ””โ”€โ”€ pyproject.toml         # Project dependencies

๐Ÿ”’ Security Notice

This tool is for authorized security testing only.

  • Always obtain explicit written permission before scanning any target.

  • Unauthorized testing is illegal and unethical.

  • The consent flag is a mandatory requirement for all active scanning tools.


Built with ๐Ÿ Python ยท ๐Ÿง  Gemini AI ยท ๐Ÿ›ก๏ธ MCP

Available Tools

31 tools
amassC

Advanced subdomain enumeration

Inputs: domain (required), session_id (required), dry_run.

arjunC

HTTP parameter discovery

Inputs: url (required), session_id (required), dry_run.

commixC

Command injection vulnerability scanner

Inputs: url (required), session_id (required), dry_run.

corscannerC

CORS misconfiguration scanner

Inputs: url (required), session_id (required), dry_run.

dalfoxC

XSS vulnerability scanner

Inputs: url (required), session_id (required), params, consent, +1 more.

dnsreconC

DNS enumeration and reconnaissance

Inputs: domain (required), session_id (required), dry_run.

environment_checkA

Inspect installed tools, missing dependencies, and assessment readiness

Inputs: no named parameters.

extensive_scanC

Comprehensive scan (20-45 min): WAF detection, full recon, top-1000 port scan, tech fingerprinting, TLS audit, directory discovery, XSS, SQLi, CSRF, sensitive file discovery

Inputs: target (required), consent (required), dry_run.

ffufC

Fast web fuzzer for directory/file discovery

Inputs: url (required), session_id (required), mode, consent, +1 more.

get_reportC

Generate final security assessment report

Inputs: session_id (required).

git_dumperC

Exposed .git directory dumper

Inputs: url (required), session_id (required), dry_run.

gobusterC

Directory/file brute forcing

Inputs: url (required), session_id (required), mode, dry_run.

graphql_copC

GraphQL security scanner

Inputs: url (required), session_id (required), dry_run.

init_sessionC

Initialize new security assessment session

Inputs: target (required).

jwt_toolD

JWT security testing

Inputs: token (required), session_id (required), url, dry_run.

masscanC

Fast port scanner

Inputs: target (required), session_id (required), ports, dry_run.

niktoD

Web server vulnerability scanner

Inputs: url (required), session_id (required), consent, dry_run.

nmapC

Port scanning and service detection

Inputs: host (required), session_id (required), ports, consent, +1 more.

nucleiC

Fast vulnerability scanner with templates

Inputs: url (required), session_id (required), dry_run.

pingC

Health check for the PenTest MCP server

Inputs: no named parameters.

quick_scanA

Fast triage scan (10-15 min): WAF detection, subdomain enum, top-port scan, header analysis, TLS audit, tech fingerprinting, sensitive file discovery, SSRF probe, CSRF check

Inputs: target (required), consent (required), dry_run.

retireC

JavaScript library vulnerability scanner

Inputs: url (required), session_id (required), dry_run.

sqlmapC

SQL injection detection and exploitation

Inputs: url (required), session_id (required), params, consent, +1 more.

sslyzeC

TLS/SSL configuration analyzer

Inputs: host (required), session_id (required), port, consent, +1 more.

subfinderC

Passive subdomain enumeration

Inputs: domain (required), session_id (required), consent, dry_run.

testsslC

TLS/SSL security testing

Inputs: host (required), session_id (required), port, dry_run.

theharvesterC

OSINT gathering from public sources

Inputs: domain (required), session_id (required), dry_run.

trufflehogC

Secret and credential scanner

Inputs: target (required), session_id (required), dry_run, scan_type.

wafw00fC

Web Application Firewall detection

Inputs: url (required), session_id (required), dry_run.

wfuzzC

Web application fuzzer

Inputs: url (required), session_id (required), dry_run, fuzz_param.

whatwebC

Web technology fingerprinting

Inputs: url (required), session_id (required), consent, dry_run.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelogโ€ฆ

    TDQS

    C2.2/5.0

    Scored across 31 tools

    Disambiguation2/5

    Many tools have overlapping purposes: nmap/masscan both scan ports, sslyze/testssl both audit TLS, ffuf/gobuster/wfuzz all fuzz for directories, and subfinder/amass/dnsrecon all do subdomain/DNS enumeration. The descriptions are lean and don't clarify when to choose one over the other.

    Naming Consistency2/5

    The tool names are a mix of raw external tool names (nmap, sqlmap, gobuster) and server-specific snake_case verbs (init_session, get_report, quick_scan). This makes the naming pattern unpredictable and inconsistent across the API surface.

    Tool Count2/5

    31 tools is too many for a focused MCP server, especially when several are near-duplicates (subfinder/amass/dnsrecon, ffuf/gobuster/wfuzz, sslyze/testssl). A consolidated surface with fewer, higher-level scan operations would be easier for an agent to use.

    Completeness3/5

    The server covers reconnaissance, scanning, web fuzzing, TLS testing, secret detection, and report generation, which is solid for web-focused pentesting. However, session lifecycle support is thin (init_session/get_report only) and there are no explicit post-exploitation or broader infrastructure testing tools, leaving noticeable gaps for a general 'PenTest' role.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      AI-powered cybersecurity automation platform with 150+ security tools and 12+ autonomous AI agents for penetration testing, vulnerability assessment, and bug bounty hunting. Enables comprehensive security testing through intelligent tool selection and automated workflows.
      3
      -
    • A
      license
      B
      quality
      C
      maintenance
      Enables comprehensive security testing and penetration testing through natural language conversations with 92+ tools for reconnaissance, vulnerability assessment, web application testing, OSINT, and reporting. Designed for authorized bug bounty hunting and security assessments.
      53
      43
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to perform safe, authorized penetration testing by managing engagements, enforcing scope and risk policies, and orchestrating tools like Nmap, Nuclei, and Subfinder.
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to orchestrate 100+ security tools over MCP for authorized penetration testing, including recon, scanning, exploitation, attack-chain planning, and knowledge-base retrieval.
      7
      Apache 2.0