The Pentest MCP server provides a unified natural language interface that integrates key penetration testing tools. Capabilities include:
Set working mode: Configure for
studentorprofessionaluseNetwork scanning: Run comprehensive Nmap scans with customizable options (SYN scan, OS detection, NSE scripts)
Web directory enumeration: Use Gobuster to discover hidden directories with configurable wordlists and authentication
Web vulnerability scanning: Execute Nikto with tuning options, SSL support, and proxy capabilities
Password cracking: Utilize John the Ripper with custom wordlists
Wordlist management: Generate custom wordlists based on patterns, dates, and transformations
Scan management: Cancel ongoing scans using scan IDs
Workflow automation: Chain tools together for comprehensive assessments
Report generation: Create professional client reports with findings and recommendations
Integrated toolkit optimized for Kali Linux that provides penetration testing capabilities including network reconnaissance, web directory enumeration, vulnerability scanning, and password cracking
Requires Node.js v16+ for ESM support to run the penetration testing toolkit server
Enables installation of the penetration testing toolkit via npm package management
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Pentest MCPscan 10.0.1.0/24 for web servers and run nikto on any found"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Pentest MCP
Professional penetration-testing MCP server with modern transport/auth support and expanded recon tooling.
What Changed in 0.9.0
Upgraded MCP SDK to
@modelcontextprotocol/sdk@^1.26.0Kept MCP Inspector at the latest release (
@modelcontextprotocol/inspector@^0.20.0) with bundled launcherStreamable HTTP is now the primary network transport (
MCP_TRANSPORT=http)SSE is still available only as a deprecated compatibility mode
Added bearer-token auth with OIDC JWKS and introspection support
Added first-class tools:
subfinderEnum,httpxProbe,ffufScan,nucleiScan,trafficCapture,hydraBruteforce,privEscAudit,extractionSweepAdded report-admin tools:
listEngagementRecords,getEngagementRecordAdded SoW capture flow for reports using MCP elicitation (
scopeMode=ask) with safe template fallbackHardened command resolution so web probing uses
httpx-toolkit(preferred) or validated ProjectDiscoveryhttpx, avoiding PythonhttpxCLI collisionsIntegrated bundled MCP Inspector launcher (
pentest-mcp inspector)Runtime baseline is now Node.js 22.7.5+
Added invocation metadata in new tool outputs when auth/session context is available
Related MCP server: NPM Sentinel MCP
Included Tools
nmapScanrunJohnTheRipperrunHashcatgobusterniktosubfinderEnumhttpxProbeffufScannucleiScantrafficCapturehydraBruteforceprivEscAuditextractionSweepgenerateWordlistlistEngagementRecordsgetEngagementRecordcreateClientReportcancelScan
Quick Start
Install
Run locally (stdio)
Launch bundled MCP Inspector (no separate install)
You can forward Inspector flags directly:
Run over network (Streamable HTTP)
Run legacy SSE mode (deprecated)
Transport Notes
stdio: default for local MCP clients.http: modern network transport. Recommended.sse: compatibility only. Deprecated and will be removed in a future major release.
Inspector Integration
pentest-mcp inspectorlaunches the bundled@modelcontextprotocol/inspectorCLI.It auto-targets this MCP server over stdio by spawning:
node <this-package-entrypoint> stdio
You do not need to install Inspector separately.
Auth Configuration (Bearer + OIDC)
Set these env vars when using MCP_TRANSPORT=http (or sse if needed):
Legacy aliases are still accepted temporarily:
MCP_OAUTH_ENABLEDMCP_OAUTH_PROVIDER_URLMCP_OAUTH_SCOPES
Workflow + Reporting
createClientReport now supports SoW handling modes:
scopeMode=ask: prompt user via MCP elicitation (recommended)scopeMode=provided: usescopeOfWorkvalue directlyscopeMode=template: use built-in generic authorized-testing template
If elicitation is declined/unavailable, the report automatically falls back to the template.
How users provide SoW (right now)
There is no separate file-upload API yet. Current options are:
Ask interactively via MCP user invocation (elicitation)
Paste SoW text directly into
scopeOfWork
Use template mode when client details should not be shared
How this cuts admin time
Every tool run stores a structured engagement record (
recordId=...) with invocation context.Use
listEngagementRecordsto pull all work artifacts quickly.Generate the report from selected
recordIds(or latest records by default) instead of manual copy/paste.Scope notes are attached automatically from one of:
user elicitation form (
ask)pasted SoW text (
provided)safe default template (
template)
Roadmap
These are planned specifically to reduce pentest admin overhead.
scopeFilePathingestion (load SoW from a local file path on the MCP host)scopeDocumentchunked upload flow (send SoW content directly through MCP for remote clients)SoW parser that auto-extracts targets, exclusions, test windows, and rules of engagement
Evidence auto-linking from tool outputs (
recordId) to findings and report sectionsFinding dedup/merge across overlapping tools (
nuclei,nikto, etc.)Auto severity + impact draft text for faster writeups
One-click report pack generation (executive summary + technical appendix + remediation table)
Retest diff mode (fixed/reopened/new findings between engagements)
Ticket export sync (Jira/Linear/GitHub) with status backfill
Deliverable QA checks (missing evidence, missing scope fields, weak remediation notes)
Adoption note:
Expect strong usage for
scopeFilePathandscopeDocumentbecause most teams already maintain SoW in docs/PDF and want to avoid repeated paste-and-reformat steps.
Recon + Exploitation Examples
Subdomain enumeration
Probe live hosts
Fuzz content paths
Template scanning
Traffic capture (sniffing)
Brute-force checks
SQLi extraction sweep
Docker
The Docker image installs:
nmap,john,hashcat,gobuster,nikto,ffuf,hydra,sqlmap,tcpdumpsubfinder,httpx+httpx-toolkitalias,nuclei
Required Host Tools (non-Docker runs)
Ensure the binaries are in PATH:
If httpx-toolkit is not installed, a validated ProjectDiscovery httpx binary is accepted as fallback.
Security Notice
Authorized use only. Run against systems/networks where you have explicit written permission.