Skip to content

Tool inventory ​

WorkTools
Engagement lifecyclecreateEngagement, getEngagement, listEngagements, closeEngagement
Discovery and validationnmapScan, gobuster, nikto, subfinderEnum, httpxProbe, ffufScan, nucleiScan
Capture and credential checkstrafficCapture, hydraBruteforce, runJohnTheRipper, runHashcat, generateWordlist
Local audit and extractionprivEscAudit, extractionSweep
Scope, agent, and report workflowsaveAssessmentPlan, getAssessmentPlan, listAgentProfiles, runAgentAssessment, reconcileAgentAssessment, recordResearchActivity, draftAssessmentReport, listAgentReportDrafts, getAgentReportDraft, publishAgentReport
Evidence and direct reportslistEngagementRecords, getEngagementRecord, createClientReport, listClientReports, getClientReport
Runtime and scan controlgetRuntimeStatus, listActiveScans, cancelScan

Gobuster and Nikto accept Basic Auth and cookie values only as literal command arguments in the installed CLI versions, so the MCP tools reject those fields, URL userinfo, and query strings. Their immediate responses and report drafts include counts but not scanner text; new successful records retain private raw output and finding details for the engagement owner. Failed runs retain output digests. Use an operator-reviewed execution method outside these tools when authenticated scanning is required. Historical Gobuster/Nikto records are redacted on MCP reads and report drafting; previously stored files should be handled under the engagement's retention policy.

trafficCapture needs network capabilities and access to the interface being captured. In Docker, use the explicit Linux capture profile below. privEscAudit is available only over local stdio; inside a container it audits that container, so run the server natively when the authorized target is the host itself. Hashcat GPU acceleration also depends on host hardware and device passthrough, which the default container does not configure.

runHashcat can use Hashcat 8's bundled PCFG attack and custom hash recipes when version 8 is installed on the execution host; v8-only requests are rejected on older runtimes. It also accepts OpenCL/backend device IDs; FPGA bcrypt requires Hashcat 8, Linux, a compatible bridge, and a supported board. The Dockerfile builds the signed 8.0.0 source release and includes CPU OpenCL, while the default container does not pass through GPU or FPGA hardware. See Hashcat usage for inputs, version checks, and evidence handling.

getRuntimeStatus reports the active transport, remote execution gate, command limits, Nuclei template readiness, and expected binary availability. listActiveScans lists Nmap scans for one engagement; cancelScan needs that engagement ID and a returned scan ID. The server also warns at startup when expected host commands are missing. A missing binary or failed command is a tool error, not evidence that a target is clean. Keep tool output and test limitations with the engagement record.

Nuclei requires an absolute MCP_NUCLEI_TEMPLATES_DIR containing operator-reviewed, signed HTTP templates. The server does not accept caller-selected template paths. It selects HTTP templates, excludes Interactsh templates, disables redirects, headless execution, automatic probing, stdin targets, and update checks. Its target also needs host-wide authorization, because templates may contact other ports on that host. Template review and a network egress policy remain necessary: an HTTP template can specify another destination. The bundled template library is available for review but is not selected automatically.

Released under AGPL-3.0-or-later. Use only within explicit authorization and scope.