Skip to main content
Glama
DansPK

Kali MCP

by DansPK

Kali MCP

An MCP server exposing 59 popular Kali Linux security tools to AI applications via the Model Context Protocol.

Installation

Local

python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Docker

# Build the image
docker build -t kali-mcp:latest .

# Or via the helper script
./docker-run.sh build

Related MCP server: Kali Linux MCP Server

Usage

Local

# Direct
python -m kali_mcp.server

# Via entrypoint
kali-mcp

Configure in your MCP client (e.g. Claude Desktop, OpenCode):

{
  "mcpServers": {
    "kali": {
      "command": "python",
      "args": ["-m", "kali_mcp.server"]
    }
  }
}

Docker

# Run via helper script
./docker-run.sh run

# Or via docker-compose
KALI_MCP_AUTH_TOKEN=secret123 docker compose run --rm kali-mcp

Configure in your MCP client to use the Docker container:

{
  "mcpServers": {
    "kali": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "--privileged", "kali-mcp:latest"]
    }
  }
}

Some tools (nmap, masscan, tcpdump) require elevated privileges. Use --privileged for full functionality, or add specific capabilities like --cap-add=NET_ADMIN --cap-add=NET_RAW.

With auth token:

{
  "mcpServers": {
    "kali": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "--privileged", "-e", "KALI_MCP_AUTH_TOKEN=secret123", "kali-mcp:latest"]
    }
  }
}

Authentication (optional)

Enable token-based auth by setting the KALI_MCP_AUTH_TOKEN environment variable or passing --auth-token=...:

KALI_MCP_AUTH_TOKEN=secret123 python -m kali_mcp.server
kali-mcp --auth-token=secret123

The client must include the token in the _meta.auth_token field on every request. Unauthorized requests are rejected with error code -32001.

Client example with auth:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "nmap",
    "arguments": { "target": "127.0.0.1" },
    "_meta": { "auth_token": "secret123" }
  }
}

When no auth token is configured, all requests are accepted freely.

Tools

58 tools across 10 categories. See TOOLS.md for the full list.

Category

Tools

Network

nmap, masscan, netcat, tcpdump, arp_scan, onesixtyone, dnsrecon, tshark

Web

sqlmap, nikto, gobuster, dirb, wpscan, ffuf, nuclei, whatweb, wfuzz, xsser, commix

Password

hydra, john, hashcat, crunch

Recon

enum4linux, searchsploit, subfinder, amass, exiftool, theHarvester, smbclient

Metasploit

msfconsole, msfvenom, msfdb, msf_search, msf_info, msf_resource

Evasion

evasive_payload, list_payloads, list_encoders, list_encryption, shellcode_to_exe

Forensics

binwalk, volatility, foremost, steghide

Post-Exploit

crackmapexec, evil_winrm, chisel

Misc

aircrack_ng, responder, impacket, mimikatz, bettercap, hash_identifier, cewl, proxychains, wifite, reaver

Meta

run_command

Requirements

  • Python 3.10+

  • Kali Linux (or any system with the corresponding CLI tools installed)

  • Tools must be installed and available on $PATH

Architecture

src/kali_mcp/
├── server.py          # MCP server entrypoint, tool registry, dispatch, auth middleware
└── tools/
    ├── base.py        # Safe subprocess executor with timeout + blocked commands
    ├── network.py     # Network scanning, packet capture, DNS/SNMP enumeration
    ├── web.py         # Web vulnerability scanning, fuzzing, injection tools
    ├── password.py    # Brute-force, hash cracking, wordlist generation
    ├── recon.py       # OSINT, SMB/DNS enumeration, metadata extraction
    ├── metasploit.py  # Full Metasploit Framework integration
    ├── evasion.py     # AV evasion payload crafting and enumeration
    ├── forensics.py   # Memory analysis, file carving, steganography
    ├── post_exploit.py # AD pentesting, WinRM shells, pivoting
    └── misc.py        # Wireless attacks, credential capture, MITM

Safety

  • Commands run with configurable timeouts (30s–600s depending on tool)

  • Dangerous system commands (rm, dd, shutdown, etc.) are blocked

  • Target validation ensures required parameters are not empty

  • Optional token-based authentication rejects unauthorized requests

  • The run_command fallback uses the same safety restrictions as all other tools

Disclaimer

This tool is intended for authorized security testing and educational purposes only. Users are responsible for complying with all applicable laws and regulations. Unauthorized use of security tools against systems you do not own or have explicit permission to test is illegal.

License

MIT

Available Tools

59 tools
aircrack_ngA

WiFi security auditing tool — cracks WEP, WPA/WPA2-PSK, and WPA3 keys from captured wireless traffic. Requires a .cap capture file containing the 4-way handshake (for WPA) or enough IVs (for WEP). For capturing handshakes and automating attacks, use wifite. For WPS attacks, use reaver. Output: cracked WiFi password/key on success.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional aircrack-ng options (e.g. '-b AA:BB:CC:DD:EE:FF' to target specific BSSID)
wordlistNoPath to wordlist for WPA cracking. Without this, only WEP cracking works.
capture_fileYesPath to .cap/.pcap capture file containing WPA handshake or WEP traffic

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of disclosing behaviors. It states that the tool 'cracks' keys (implying intensive computation), requires specific capture conditions, and that the output is the cracked password. However, it doesn't disclose potential limitations like the need for sufficient IVs (mentioned but not quantified) or that running this tool may be illegal without permission—though that's context not necessarily required. The description is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (three sentences) and front-loads the core purpose, then provides usage conditions and alternatives. Every sentence contributes value, with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that the tool is complex (requires specific capture files) but has 100% schema coverage and an output schema is absent, the description covers the essential prerequisites (handshake/IVs), the role of wordlist, and the output. It doesn't mention failure cases (e.g., password not found) or time expectations, but for a security tool, this is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value by clarifying that the wordlist is required for WPA cracking and that without it only WEP works. It also gives an example of the opts parameter. This goes beyond the schema's minimal descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: cracking WiFi keys (WEP, WPA/WPA2-PSK, WPA3) from captured traffic, and specifies the required input (a .cap file with handshake/IVs). It also explicitly distinguishes itself from related tools (wifite, reaver).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit conditions for use (requires a .cap with 4-way handshake for WPA, etc.) and names alternatives (wifite for automating, reaver for WPS attacks). This helps the agent decide when to choose this tool over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

amassA

Comprehensive network mapping and attack surface discovery using OSINT and active techniques. Discovers subdomains, IP ranges, ASNs, and related domains. Use for deep domain mapping — combines passive (OSINT) and active (DNS brute-force) methods. More thorough than subfinder but slower. Use subfinder for quick passive-only results. Output: discovered assets with their sources and relationships.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoMode: 'enum' for subdomain enumeration (default), 'intel' for OSINT on IP ranges/ASNs
optsNoAdditional amass options (e.g. '-active' to enable active DNS brute-force)
domainYesTarget domain (e.g. example.com)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the tool's methodology (OSINT + active DNS brute-force), the speed tradeoff, and the output format ('discovered assets with their sources and relationships'). It doesn't mention potential network load or alerting from active techniques, but it gives enough behavioral context for safe selection.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, front-loaded with the core purpose, followed by usage guidance and output. Every clause earns its place—there is no fluff or redundant restating of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with an output schema absent, the description covers purpose, method, usage context, alternatives, and output. It lacks an example invocation or notes on prerequisites (e.g., API dependencies for OSINT sources), but the definition is otherwise self-sufficient for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does repeat the active/passive distinction that maps to opts ('-active'), but it adds no new parameter-level detail beyond what the schema already documents. The description doesn't explain mode='intel' further, but the schema already covers it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs and concrete resources: 'Comprehensive network mapping and attack surface discovery', 'Discovers subdomains, IP ranges, ASNs, and related domains.' It explicitly contrasts itself with subfinder ('More thorough than subfinder but slower'), making it distinguishable from the closest sibling without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to use this tool ('Use for deep domain mapping'), describes its methodology, and provides a direct alternative and condition: 'Use subfinder for quick passive-only results.' The description leaves no ambiguity about tool selection between amass and subfinder.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

arp_scanA

ARP-based host discovery on a local network segment. Sends ARP requests and identifies live hosts by MAC address and vendor. Use for initial reconnaissance of a local subnet — faster and more reliable than nmap ping scans on the same LAN. Output: IP address, MAC address, and OUI vendor name for each responding host.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional arp-scan options
ifaceNoNetwork interface to use (auto-detected if omitted)
targetYesTarget IP range or CIDR (e.g. 192.168.1.0/24, 10.0.0.1-254)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses the active mechanism (sends ARP requests), scope (local network segment), and return fields, but it does not mention prerequisite privileges, interface behavior beyond auto-detection, or side effects of active scanning.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no filler: purpose, use case/comparison, and output are each in their own sentence, and the most decision-relevant message (purpose + faster than nmap) comes first.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a straightforward scanning tool with three fully documented parameters and no output schema, the description is nearly complete: it states method, scope, output format, and choice over nmap. The remaining gap is an explicit note on required privileges or interface prerequisites.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters (opts, iface, target) with examples. The description adds no parameter-specific detail, which is acceptable given the schema's completeness.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description names a specific verb and resource: 'ARP-based host discovery', explicitly states it sends ARP requests and identifies live hosts by MAC address and vendor, and lists the output fields. This clearly distinguishes it from sibling scanners like nmap and masscan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States a concrete use case: 'Use for initial reconnaissance of a local subnet' and positions it against nmap ('faster and more reliable than nmap ping scans on the same LAN'). It does not spell out when not to use it, but the guidance is clear enough for an agent to route correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bettercapA

Real-time MITM attack framework with modular caplets. Performs ARP spoofing, DNS spoofing, HTTP/HTTPS traffic manipulation, credential sniffing, and session hijacking. Use for man-in-the-middle attacks on a local network segment. Output: real-time captured credentials, session cookies, and traffic logs.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional bettercap options (e.g. '-eval "net.probe on"' for auto-discovery)
ifaceNoNetwork interface to use (e.g. eth0, wlan0)
capletNoCaplet file to load predefined attack workflows (e.g. 'http-ui', 'net.probe')

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosing behavior. It does disclose that this is an active attack/Manipulation tool and describes outputs such as captured credentials, session cookies, and traffic logs. However, it omits operational caveats like required privileges, network disruption risks from ARP/DNS spoofing, or the fact that traffic manipulation can have side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and well-structured: it opens with the core purpose, lists key techniques, states the intended use case, and closes with concrete outputs. Every sentence adds useful information without repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with all-optional parameters and no output schema, the description provides enough context for correct invocation: what it does, when to use it, and what to expect as output. It lacks details about how caplets/options map to workflows or prerequisites, but the schema fills the parameter gap and the overall context is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema covers all three parameters (opts, iface, caplet) with 100% description coverage, so the baseline is 3. The tool description mentions 'modular caplets' generally but does not add parameter-specific guidance beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies bettercap as a real-time MITM attack framework and enumerates specific capabilities (ARP spoofing, DNS spoofing, HTTP/HTTPS manipulation, credential sniffing, session hijacking). This makes its purpose unmistakable and differentiates it from recon/scanning siblings like nmap, tcpdump, or sqlmap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when to use the tool: 'Use for man-in-the-middle attacks on a local network segment.' It does not explicitly mention exclusions or name alternatives, but the stated context is clear enough for an agent to route toward this tool rather than a scanner or exploit framework.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

binwalkA

Firmware analysis tool — scans binary files for embedded file signatures, compressed data, and filesystem structures. Automatically extracts discovered files when using -e. Use for reverse engineering firmware images, IoT device binaries, or any blob that may contain embedded files. Output: offset map of discovered signatures and extracted file paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional binwalk options. Default: -e (extract embedded files). Use '-M' for recursive scan.
filepathYesPath to firmware image or binary file to analyze

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the key behavior: automatic extraction when -e is used (and -e is the default per the schema), and describes the output as an offset map and extracted file paths. It does not mention potential side effects like file writing location or permission needs, but the core behavior is transparent. This is adequate for a read/extract tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences with no fluff. The purpose is front-loaded, followed by the extraction behavior, then use cases, and finally the output format. Every sentence contributes essential information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and no annotations, the description covers the main aspects: what it does, when to use, how it behaves (extraction), and what output to expect. It lacks details like output file locations or potential limitations, but it is complete enough for an agent to decide when to invoke it. The parameter hints add to completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are documented. The description adds value beyond the schema by clarifying the default -e behavior and suggesting -M for recursive scanning. This goes beyond simple field names and helps the agent understand typical usage patterns.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool's function: scanning binary files for embedded signatures, compressed data, and filesystem structures. It names the specific resource (binary/firmware files) and the verb (scan), and distinguishes it from the network/security siblings by focusing on firmware analysis and file extraction. The use case is explicit: reverse engineering firmware images and IoT binaries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use: for reverse engineering firmware, IoT binaries, or blobs with embedded files. It does not explicitly name alternative tools, but given the sibling list (e.g., foremost for file carving), a brief differentiation would be beneficial. However, the stated use cases are sufficient for an agent to select this tool appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cewlA

Custom wordlist generator that spiders a website and extracts words from its content. Creates targeted password lists based on the vocabulary actually used by the target organization. Use to generate wordlists for password attacks when you have a target website. For generating wordlists from character sets and patterns (not website content), use crunch. Output: list of extracted words, optionally saved to a file for use with hydra, john, or hashcat.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget website URL to spider (e.g. http://example.com)
optsNoAdditional cewl options (e.g. '--lowercase' for lowercase-only output)
depthNoHow many links deep to spider from the starting URL (default: 2)
outfileNoOutput file path to save the generated wordlist
min_lengthNoMinimum word length to include in output (default: 3)

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses that the tool spiders a website and can save output to a file, but it does not mention potential network impact, rate limiting, or whether it respects robots.txt. For a network-scanning tool, this is a moderate gap, though the core behavior is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tightly packed with no filler. It front-loads the core function, then adds usage guidance, a contrast to a sibling, and a note on output—all in a few sentences. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 5 parameters (all schema-documented), no output schema, and no annotations. The description covers purpose, usage, alternative, and output format. It does not mention prerequisites or edge cases, but for a straightforward spidering tool, the provided context is sufficient for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with every parameter described in the input schema. The description does not add extra meaning beyond the schema; it only implies the tool's purpose. According to the rubric, a baseline of 3 is appropriate when the schema handles parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a precise verb+resource: 'spiders a website and extracts words from its content.' It explicitly differentiates from the sibling tool crunch by contrasting website-content extraction with character-set/pattern generation, so an agent can select it unambiguously.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states exactly when to use this tool ('when you have a target website') and explicitly names the alternative (crunch) for non-website cases. It also lists downstream tools (hydra, john, hashcat) that consume the output, providing clear context for invocation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

chiselA

Fast TCP/UDP tunnel over HTTP/HTTPS — ideal for pivoting through firewalls and NAT. Single binary for both client and server. Encapsulates TCP connections inside HTTP WebSocket streams. Use to tunnel traffic from an internal network through a compromised host to your attack machine. Run server on your attack box, client on the pivot host with reverse port forwarding. Output: connection status and tunnel statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional chisel options (e.g. '--fingerprint' to verify server identity)
portNoPort. Server: listening port (default: 1080). Client: local SOCKS port.
socksNoEnable SOCKS5 proxy on server side (server mode only)
serverNoServer address for client mode (e.g. '10.10.10.1:8080' where attack box server is listening)
commandYesMode: 'server' (runs on attack box to accept connections) or 'client' (runs on pivot host to connect back)

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses that it encapsulates TCP connections inside HTTP WebSocket streams, which is a key behavioral trait. It also mentions output (connection status and tunnel statistics). However, it doesn't disclose potential side effects like network traffic patterns, persistence, or whether it modifies the system. For a tunneling tool, this is moderate transparency but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose. It covers the key points (protocol, use case, deployment roles, output) in a few sentences. Slightly dense but every sentence earns its place. Could be slightly more structured but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters and no output schema, the description covers the essential context: what it does, when to use it, how to deploy it (server/client roles), and what output to expect. It doesn't explain all parameter combinations in detail, but the schema covers parameter semantics. The description is complete enough for an agent to invoke it correctly in a typical pivoting scenario.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 5 parameters. The description adds context for server/client roles and mentions reverse port forwarding, which helps interpret the 'server' and 'port' parameters. However, it doesn't add much beyond the schema's own descriptions, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: a fast TCP/UDP tunnel over HTTP/HTTPS for pivoting through firewalls and NAT. It names the specific verb (tunnel), the resource (TCP/UDP traffic), and the context (pivoting through firewalls/NAT), which distinguishes it from sibling tools like netcat or proxychains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage context: run server on attack box, client on pivot host with reverse port forwarding. It also mentions the ideal scenario (tunneling from internal network through compromised host). However, it doesn't explicitly state when not to use it or name alternatives, though the context is clear enough for an agent to select it appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

commixA

Automated OS command injection detection and exploitation tool. Tests for shell command injection in HTTP parameters, headers, cookies, and POST data. Use when sqlmap confirms the parameter is NOT SQL injectable but may still be vulnerable to command injection. Supports multiple injection techniques: results-based, blind, time-based. Output: confirms injection, shows OS type, and provides an interactive pseudo-shell on success.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL with injectable parameter (e.g. 'http://example.com/ping?ip=127.0.0.1')
optsNoAdditional commix options. Default: --batch (non-interactive)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the behavioral burden. It discloses that the tool detects and exploits command injection, supports results-based/blind/time-based techniques, and can open an interactive pseudo-shell on success. It stops short of warning about the potentially intrusive/destructive nature of exploitation, but the core behavior is clearly conveyed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each carrying distinct value: what it does, when to use it, and what the output looks like. There is no filler or repetition of schema fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with full schema coverage and no output schema, the description covers purpose, selection criteria, injection techniques, and success output. It could be slightly more complete by noting prerequisites or a safety caveat, but nothing essential to invoking the tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the url and opts parameters, including a default value for opts. The description does not add parameter-level detail beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Automated OS command injection detection and exploitation tool.' It names the exact input surfaces (HTTP parameters, headers, cookies, POST data) and explicitly distinguishes itself from sqlmap, so an agent can identify what commix does without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides an explicit decision rule: 'Use when sqlmap confirms the parameter is NOT SQL injectable but may still be vulnerable to command injection.' This names the sibling tool and the condition that selects commix, and no other alternative is needed because commix is the dedicated command-injection tool in the sibling set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

crackmapexecA

Swiss army knife for pentesting Windows/Active Directory environments. Enumerates and exploits SMB, WinRM, MSSQL, RDP, SSH, and FTP services across multiple hosts. Supports pass-the-hash, Kerberos auth, and module execution (lsassy, mimikatz, spider_plus, etc.). Use as the PRIMARY post-exploitation tool against Windows networks when you have credentials. For interactive WinRM shells, use evil_winrm. For detailed SMB enumeration, use enum4linux. Output: per-host results with authentication status, shares, logged-on users, and module output.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional crackmapexec options (e.g. '--local-auth' for local accounts, '-k' for Kerberos)
userNoUsername or path to user file for authentication
moduleNoModule to execute on successful auth (e.g. 'lsassy' for LSASS dump, 'mimikatz', 'spider_plus' for share crawling)
targetYesTarget IP, CIDR range, or hostname (e.g. 10.0.0.0/24, dc01.corp.local)
passwordNoPassword or path to password file for authentication
protocolNoProtocol to test. Default: smb. Options: smb, winrm, mssql, ssh, ftp, rdp, ldap
ntlm_hashNoNTLM hash for pass-the-hash authentication

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even without annotations, the description discloses the tool's active and potentially intrusive behavior: it exploits services, supports pass-the-hash/Kerberos, and executes modules like lsassy and mimikatz. It also states what output to expect. It does not fully detail side effects or authorization requirements, but it conveys enough behavioral context for an agent to treat it as an active exploitation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense yet well-structured: identity and scope first, then capabilities, then usage guidance and alternatives, then output summary. Every sentence earns its place, and there is minimal filler for a tool with this breadth.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex multi-protocol tool with 7 parameters and no output schema, the description is quite complete: it covers protocols, auth modes, modules, when to use it, alternatives, and expected output. It could add a brief note on required credentials or safety implications, but the core operational context is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds value by giving concrete module examples (lsassy, mimikatz, spider_plus) and highlighting pass-the-hash and Kerberos modes, which maps to ntlm_hash and opts. This goes beyond the baseline without fully replacing schema details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a pentesting Swiss-army knife for Windows/AD environments and names the specific protocols and actions it performs (enumerates/exploits SMB, WinRM, MSSQL, RDP, SSH, FTP; supports pass-the-hash and Kerberos). It also differentiates itself from siblings by positioning itself as the primary post-exploitation tool and explicitly calling out evil_winrm and enum4linux as alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage direction: use as the PRIMARY post-exploitation tool against Windows networks when you have credentials. It also provides clear when-not-to-use guidance by naming evil_winrm for interactive WinRM shells and enum4linux for detailed SMB enumeration.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

crunchA

Wordlist generator — creates custom password lists based on character sets, length ranges, and patterns. Use to generate targeted wordlists when you know password policy (min/max length, required characters). For generating wordlists from website content (password profiling), use cewl instead. Output: wordlist printed to stdout or written to a file.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional crunch options (e.g. '-t @@@%%%' for pattern: 3 lowercase + 3 digits)
outputNoOutput file path to save generated wordlist
charsetNoCharacter set to use (e.g. 'abc123!@#' or '0123456789' for numeric-only)
max_lenYesMaximum word length (e.g. 8)
min_lenYesMinimum word length (e.g. 6)

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full behavioral disclosure burden. It discloses the output destination ('Output: wordlist printed to stdout or written to a file') and mentions the use of character sets and patterns. It does not detail potential side effects or performance implications, but as a generator it is inherently non-destructive and the main behavior is adequately described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences, front-loaded with the core purpose, then usage guidance, and finally output behavior. Every sentence adds value with no redundancy, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 well-documented parameters and no output schema, the description covers the essential context: purpose, usage conditions, alternative tool, and output destination. It lacks details on potential constraints (e.g., maximum length limits, charset restrictions) but these are minor and the schema covers the parameters. Overall it is sufficiently complete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents each parameter. The description adds semantic value by explaining how the parameters combine ('based on character sets, length ranges, and patterns') and gives a concrete example for the 'opts' parameter ('-t @@@%%%' for pattern), which clarifies the intended usage beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Wordlist generator — creates custom password lists based on character sets, length ranges, and patterns.' It uses a specific verb ('creates') and resource ('custom password lists') and explicitly distinguishes from the sibling cewl, making it unambiguous which tool to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit when-to-use guidance: 'Use to generate targeted wordlists when you know password policy (min/max length, required characters).' It also gives an alternative and when-not-to-use: 'For generating wordlists from website content (password profiling), use cewl instead.' This fully covers usage selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dirbA

Classic web content scanner using dictionary-based attacks to find hidden directories and files. Simpler than gobuster — good for quick scans with built-in wordlists. Use when you want a straightforward directory scan without configuring many options. Output: list of found paths with HTTP response codes. Non-recursive by default.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional dirb options (e.g. '-X .php,.txt' for specific extensions)
targetYesTarget URL (e.g. http://192.168.1.10)
wordlistNoWordlist path. Default: /usr/share/wordlists/dirb/common.txt

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations present, the description carries the disclosure burden. It reveals key behavior: dictionary-based attacks, output as found paths with HTTP response codes, and non-recursive by default. It could mention network side effects or permission needs, but the scanner nature is evident.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, starting with the scanner type, then comparing to gobuster, giving a usage rule, and stating the output and recursion default. Every sentence adds useful information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three simple parameters and no output schema, the description covers the main operational details: output format and default recursion behavior. It leaves minor gaps, such as explicit recursion override or authorization warning, but is sufficient for a straightforward scanner.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes all three parameters with 100% coverage, so the baseline is 3. The description adds only 'built-in wordlists' context and does not materially deepen parameter meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: a dictionary-based web content scanner that finds hidden directories and files. It also distinguishes itself from the gobuster sibling, so an agent can tell it apart from similar tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance: 'Use when you want a straightforward directory scan without configuring many options' and positions it as simpler than gobuster. It provides clear context for when to choose it, though it does not explicitly list exclusions or when to prefer other siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dnsreconA

DNS enumeration tool — performs zone transfers, brute-force subdomain discovery, reverse lookups, and DNS record enumeration (A, AAAA, MX, NS, SOA, TXT, SRV). Use when you have a domain and need to map its DNS footprint. For passive subdomain discovery across many sources, prefer subfinder. Output: DNS records organized by type with associated IPs and hostnames.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoDNS record types to enumerate (default: '-t std'). Use '-t axfr' for zone transfer attempt.
domainYesTarget domain (e.g. example.com)

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description is transparent about the active network behavior — zone transfer attempts, brute-force discovery, reverse lookups — and states what the output looks like. However, with no annotations provided, it does not disclose whether this tool is noisy or rate-limited, whether authorization/network access is expected, or any other operational side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each with a distinct job: capabilities, use case/alternative, and output. There is no redundant restatement of the tool name or parameter schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with no output schema, the description covers why to use it, when to use it, what it does, and what to expect back. It could add an explicit example or operational caveat, but nothing essential for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The tool description reinforces the domain use case and lists record types, but it adds no new semantic detail beyond what the input schema already provides for domain and opts.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a concrete resource ('DNS footprint') and enumerates the exact active actions: zone transfer attempts, brute-force subdomain discovery, reverse lookups, and DNS record enumeration. This clearly differentiates it from sibling passive discovery tools like subfinder and from network scanners like nmap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly gives the trigger condition: use when you have a domain and need to map its DNS footprint. It also provides a when-not by directing passive, multi-source subdomain discovery to subfinder.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

enum4linuxA

Windows/Samba enumeration tool. Extracts user lists, shares, groups, password policies, and OS information from SMB services (ports 139/445). Use for Windows domain reconnaissance without authentication. For more advanced AD enumeration with credentials, use crackmapexec or impacket modules. Output: structured enumeration data including RID-cycled user lists and accessible shares.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional enum4linux options (e.g. '-a' for all enumeration)
targetYesTarget IP or hostname of Windows/Samba server

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool operates without authentication, mentions RID-cycled user lists, and describes output structure. While it doesn't mention potential side effects like detection or service disruption, it accurately conveys the tool's read-only enumeration nature, which is sufficient for a recon tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, two sentences total, with the core purpose front-loaded. It avoids any redundant or filler content, and every sentence contributes to understanding the tool's scope and usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with only two parameters and no output schema, the description is remarkably complete. It specifies the target protocols (SMB, ports 139/445), mentions the output type (structured enumeration data), and provides usage guidance. No critical information is missing for an agent to correctly select and invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes both parameters with 100% coverage, so the baseline is 3. The description adds value by providing an example usage of the opts parameter ('-a' for all enumeration), which helps the agent understand how to use it beyond the schema's bare description. This extra context justifies a score above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function as a Windows/Samba enumeration tool, lists specific data types extracted (user lists, shares, groups, password policies, OS info), and explicitly distinguishes it from more advanced tools like crackmapexec and impacket. This provides a clear, specific verb-resource pair and differentiates from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool ('Windows domain reconnaissance without authentication') and when not to (when credentials are available, use crackmapexec or impacket). This gives clear direction on tool selection, leaving no ambiguity for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evasive_payloadA

Advanced payload crafter for anti-virus evasion. Applies multiple evasion layers: polymorphic encoding (shikata_ga_nai, xor), encryption (AES256, RC4), template injection into legitimate executables (putty, plink), process migration on execution, bad character avoidance, and obfuscation padding. Use INSTEAD of msfvenom when AV evasion is needed. Use msfvenom for simple/standard payload generation. Output: saved payload file path with size, plus any msfvenom warnings about the chosen configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
fmtNoOutput format. Default: exe. Options: exe, dll, python, c, powershell, raw, vba
archNoTarget architecture: x86, x64 (default), armle
optsNoAdditional raw msfvenom options (e.g. '--smallest' for minimum size)
lhostYesListen host IP — where the payload connects back
lportYesListen port — which port the payload connects to
encoderNoEncoder name or 'auto'. Auto picks best encoder per architecture (shikata_ga_nai for x86, xor for x64)
encryptNoEncryption layer: aes256, rc4, xor. Adds another layer of obfuscation.
payloadYesPayload name (e.g. 'windows/x64/meterpreter/reverse_tcp', 'windows/meterpreter/reverse_https')
badcharsNoCharacters to avoid in shellcode (default: '\x00'). Add '\x0a\x0d' for HTTP payloads.
platformNoTarget platform: windows (default), linux, android
templateNoTemplate executable to inject into. Use 'putty', 'plink', 'notepad', or path to custom exe.
obfuscateNoEnable extra obfuscation padding to inflate encoder space and evade signature detection
iterationsNoEncoding iterations for polymorphism (default: 5). Higher = better evasion but larger payload.
encrypt_keyNoCustom encryption key. Random if not specified.
inject_processNoProcess to migrate into on execution (e.g. 'explorer.exe', 'svchost.exe')

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral disclosure burden. It does well by revealing the evasion layers, process migration behavior, and the exact output format (saved file path with size and msfvenom warnings). It doesn't mention prerequisites or error conditions, but the core behavioral profile is clearly communicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, all earning their place: purpose, usage guidance, and output. It is front-loaded with the core purpose and avoids redundancy, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex 15-parameter tool with no output schema, so the description needs to fill gaps. It covers the essential context: what the tool does, when to use it, and what it returns. Minor omissions like prerequisite dependencies on msfvenom and potential failure conditions keep it from a 5, but overall it is complete enough for correct tool selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are fully documented in the schema. The description adds high-level context by grouping techniques (encoding, encryption, injection) but does not add per-parameter meaning beyond what the schema already provides. The baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('payload crafter') and defines its exact purpose: anti-virus evasion. It enumerates concrete techniques (shikata_ga_nai, AES256, template injection) and explicitly differentiates itself from the sibling msfvenom, making the tool's identity unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit routing guidance: 'Use INSTEAD of msfvenom when AV evasion is needed. Use msfvenom for simple/standard payload generation.' This clearly states when to use this tool and when to choose the alternative, leaving no ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evil_winrmA

Windows Remote Management (WinRM) shell client. Provides an interactive PowerShell session on port 5985 (HTTP) or 5986 (HTTPS) with pass-the-hash support. Use when you have valid Windows credentials and WinRM is enabled (common on servers). For non-interactive WinRM command execution or multi-host testing, use crackmapexec with winrm protocol. Output: interactive PowerShell session output.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional evil-winrm options (e.g. '-s scripts/' for script directory, '-S' for SSL)
portNoWinRM port (default: 5985 for HTTP, 5986 for HTTPS)
userYesUsername (domain\user or user@domain format)
targetYesTarget IP or hostname with WinRM enabled
passwordNoPassword for authentication
ntlm_hashNoNTLM hash for pass-the-hash authentication (alternative to password)

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It adds value by stating the tool is interactive (creates a live PowerShell session), supports pass-the-hash, and lists the ports. It doesn't cover every edge case, but for a shell client it adequately discloses the key behavioral traits beyond what the schema already implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no wasted words. The core purpose is front-loaded, followed by usage context and an explicit alternative reference. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers what the tool does, when to use it, the alternative, key ports, and output type. Given the 100% schema coverage for parameters and the presence of an explicit sibling reference, nothing essential is missing for an agent to call and use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description mentions pass-the-hash which relates to ntlm_hash, but the schema already explains this in detail. The description does not add meaningful parameter semantics beyond what is already in the schema, so no bonus is warranted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is a 'WinRM shell client' that 'provides an interactive PowerShell session' on specific ports, with pass-the-hash support. It differentiates itself from the sibling crackmapexec by specifying the interactive vs. non-interactive distinction, so an agent can tell them apart without deeper analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use when you have valid Windows credentials and WinRM is enabled (common on servers)' and routes to the alternative 'crackmapexec with winrm protocol' for non-interactive or multi-host scenarios. This is clear, actionable guidance on when to select this tool versus a sibling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

exiftoolA

Read, write, and edit metadata embedded in files — images, PDFs, Office documents, audio, video. Use to extract hidden information: GPS coordinates from photos, author names from documents, software versions from PDFs, or creation timestamps. Output: all metadata fields with their values. Can also strip or modify metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional exiftool options (e.g. '-all=' to strip all metadata)
filepathYesPath to the file to analyze (image, PDF, document, etc.)

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must carry the full behavioral burden. It does disclose the key actions: reading, writing, editing, stripping, and modifying metadata, plus the output shape ('all metadata fields with their values'). However, it does not mention side effects like in-place file modification or failure behavior, which is a meaningful gap for a tool that can strip or alter metadata.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences and front-loaded with the core function. The examples are useful but slightly repetitive with the opening, and the final 'strip or modify' clause partly overlaps with 'read, write, and edit'; still, it remains focused and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with no output schema, the description covers the input (filepath), optional behavior via opts, supported file types, application examples, and output format. It could mention error cases or destructive-call warnings, but the core information needed to invoke the tool is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with both filepath and opts already described. The description adds useful context for file types and the general purpose, but it does not materially extend parameter semantics beyond the schema. The opts example ('-all=') appears in the schema, so no new parameter-level information is provided by the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a clear verb-resource pair ('Read, write, and edit metadata') and lists concrete file types and example uses like GPS extraction and author names, making the tool's purpose unmistakable. It also distinguishes exiftool from the security/network sibling tools by focusing on file metadata rather than scanning or exploitation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives strong contextual cues for when to use the tool: 'Use to extract hidden information' with realistic examples such as GPS coordinates and author names. It does not explicitly name alternatives or state when not to use it, but the examples and file-type list provide clear scope.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ffufA

Extremely fast web fuzzer written in Go. Supports directory discovery, virtual host enumeration, GET/POST parameter fuzzing, header fuzzing, and more. Use for high-performance fuzzing tasks. Place 'FUZZ' keyword in the target URL where fuzzing should occur. For simpler directory scans, use gobuster or dirb. For HTTP parameter brute-force, wfuzz has more features. Output: matched URLs with status codes and response sizes.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional ffuf options (e.g. '-H "Host: FUZZ.example.com"' for vhost)
targetYesTarget URL with FUZZ keyword (e.g. 'http://example.com/FUZZ' or 'http://example.com?param=FUZZ')
wordlistYesPath to wordlist file
match_codeNoHTTP status codes to match, comma-separated (default: '200,301,302'). Use 'all' to see everything.

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the output format (matched URLs with status codes and response sizes) and implies active scanning, but does not warn about potential intrusiveness, rate limiting, or authentication requirements. It provides basic behavioral context but omits safety/operational caveats that an agent should know for an active fuzzing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is four sentences with zero redundancy. It front-loads the core purpose, immediately gives usage guidance, then routes to alternatives, and ends with output format. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description covers the essentials: purpose, usage, alternatives, output format, and key parameter semantics. It does not mention operational caveats like network scanning noise or permission requirements, but for a well-known tool with clear input schema, it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the FUZZ keyword placement, giving examples for target, and clarifying the default for match_code. This goes beyond the schema's bare descriptions, particularly for the target parameter where the FUZZ concept is critical.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is a web fuzzer with specific capabilities (directory discovery, vhost enumeration, parameter/header fuzzing) and differentiates it from siblings like gobuster and wfuzz by naming them explicitly. The verb 'fuzz' and resource 'web' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use ffuf ('high-performance fuzzing tasks'), how to use it (place FUZZ keyword), and when not to use it ('simpler directory scans use gobuster or dirb', 'HTTP parameter brute-force use wfuzz'). This is exemplary guidance with named alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foremostA

File carving tool — recovers deleted files from disk images and raw data by searching for file headers, footers, and data structures. Supports common formats: images, documents, archives, executables. Use for data recovery from formatted drives, corrupted media, or when filesystem metadata is lost. Output: recovered files organized by type in the output directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional foremost options (e.g. '-t jpg,pdf,doc' to limit to specific file types)
filepathYesPath to disk image or raw data file to carve
output_dirNoOutput directory for recovered files (default: foremost_output)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It does state that the output is 'recovered files organized by type in the output directory', which conveys the main side effect. However, it does not mention whether the source image is modified, potential disk-space usage from recovered files, or permission requirements, leaving some behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no filler. It front-loads the core purpose, then covers use cases and output in a logical order, making every sentence useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter file-carving tool with full schema coverage, the description is reasonably complete: it defines the source, output, and typical use cases. It could be more complete by covering edge behavior like handling of unrecognized file types or output directory overwrite semantics, but nothing essential for a basic call is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters, including the default for output_dirhol and an example for opts. The description adds no extra parameter-level detail beyond what the schema provides, matching the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a specific verb and resource: 'recovers deleted files from disk images and raw data' via 'file carving'. It clearly states the tool's function, but it does not explicitly contrast it with sibling tools such as binwalk, so it stops short of a full 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly says when to use this tool: 'for data recovery from formatted drives, corrupted media, or when filesystem metadata is lost.' This gives an agent actionable selection context, though it does not mention when not to use it or point to an alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

gobusterA

Fast multi-mode brute-force tool: directory/files (dir), DNS subdomains (dns), virtual hosts (vhost), and fuzzing. Use for discovering hidden paths and subdomains. Written in Go — faster than dirb. For pure directory brute-force, dirb is simpler. For parameter/header fuzzing, use ffuf. Output: discovered paths/subdomains with HTTP status codes.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoMode: dir (directories/files), dns (subdomains), vhost (virtual hosts), fuzz (default: dir)
optsNoAdditional gobuster options (e.g. '-x php,html,txt' for extensions)
targetYesTarget URL (e.g. http://example.com). Include http:// or https://
wordlistYesPath to wordlist file (e.g. /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral burden. It does this by disclosing that the tool is a brute-force tool, that it operates in multiple modes, and that output consists of 'discovered paths/subdomains with HTTP status codes.' It does not detail load, rate, or authorization side effects, but the core active behavior is transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences, front-loading the tool's identity and modes, then providing alternatives and output behavior. Every sentence contributes useful selection and invocation information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an agent, the description is largely complete: modes, intended use, alternatives, and output format are all present. The main gap is that DNS/vhost modes typically expect a domain rather than the HTTP URL format suggested by the schema's target parameter, but this is a schema nuance rather than a prose omission. Overall, the definition is sufficient for correct tool selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description names the modes, which aligns with the 'mode' parameter, but it adds little beyond what the schema already documents. No additional parameter semantics are provided in prose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific, multi-mode purpose: 'directory/files (dir), DNS subdomains (dns), virtual hosts (vhost), and fuzzing.' It is clearly aimed at 'discovering hidden paths and subdomains,' and explicitly distinguishes itself from dirb and ffuf. An agent can immediately understand what gobuster does and how it differs from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit use guidance: use gobuster for hidden paths and subdomains, choose dirb for 'pure directory brute-force,' and use ffuf for 'parameter/header fuzzing.' This directly routes the agent to the correct sibling tool based on the task type.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hashcatA

World's fastest GPU-accelerated password cracker with 300+ hash type modes. Use for high-performance cracking of large hash sets. REQUIRES the mode number matching the hash type. For CPU-only or auto-detect cracking, use john instead. Use hash_identifier first if unsure of hash type. Output: cracked hashes with their plaintext passwords. Status lines show cracking speed and progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoHash type mode number. Key values: 0=MD5, 100=NTLM, 1000=SHA1, 1400=SHA256, 1800=sha512crypt
optsNoAdditional hashcat options (e.g. '-r rules/best64.rule' for rules, '--show' for results)
hashfileYesPath to file containing hashes
wordlistYesPath to wordlist file

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the behavioral burden. It discloses the mandatory mode-number requirement, the output shape (cracked hashes and plaintext passwords), and the presence of status lines for speed/progress. It does not detail failure modes or GPU/OpenCL prerequisites beyond calling itself GPU-accelerated, but the key call-time behavior is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately sized but each sentence earns its place: use case, requirement, alternatives, and output behavior. The only minor excess is the marketing-style 'World's fastest' opener, but it does help convey the tool's distinguishing performance niche.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with no output schema and no annotations, this is reasonably complete: it covers purpose, mode requirement, alternatives, output, and progress feedback. It could add how to handle uncertain hash types (though it points to hash_identifier) and what happens with a wrong mode, but nothing essential for invoking the tool is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so this dimension is baseline 3. The description reinforces that mode is mandatory and mentions output semantics, but it does not add meaning beyond the schema's property descriptions, which already include key mode values and examples in opts.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies a concrete action (high-performance cracking), a specific resource domain (hash sets), and an environment (GPU-accelerated, 300+ modes). It also explicitly contrasts itself with john, giving an agent a clear way to distinguish this offline GPU cracker from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a when-to-use signal ('Use for high-performance cracking of large hash sets'), a hard precondition ('REQUIRES the mode number matching the hash type'), and clear alternatives with routing conditions ('For CPU-only or auto-detect cracking, use john instead'; 'Use hash_identifier first if unsure'). This is explicit selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hash_identifierA

Hash type identification tool. Analyzes a hash string and determines which algorithm(s) likely produced it (MD5, SHA1, SHA256, NTLM, bcrypt, etc.). Use BEFORE attempting to crack a hash — you must know the hash type to select the correct mode in hashcat or format in john. Output: list of possible hash types ranked by likelihood with the corresponding hashcat mode and john format.

ParametersJSON Schema
NameRequiredDescriptionDefault
hash_strNoHash string to identify (e.g. '5f4dcc3b5aa765d61d8327deb882cf99')
hashfileNoFile containing hashes to identify (one per line)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the output format (list ranked by likelihood with hashcat mode and john format) and implies a read-only analysis. It does not mention limitations or error behavior, but it adequately conveys what the tool does and returns for an identification task.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: states purpose, gives usage context, then output format. It is concise and front-loaded with the core function. Every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple identification tool with no output schema, the description explains the output and usage. It lacks details on edge cases (e.g., ambiguous hashes) but covers what an agent needs to invoke correctly. The absence of an output schema is compensated by the description's output explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters (hash_str and hashfile) already described in the schema. The description does not add additional parameter-specific guidance (e.g., when to use one over the other). It only indirectly references the hash string. Baseline 3 is appropriate since the schema already documents parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (identifies), a resource (hash string), and the output (list of possible algorithms). It explicitly names common algorithms (MD5, SHA1, etc.) and clearly distinguishes itself from cracking tools like john and hashcat by stating it should be used BEFORE cracking.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage context: 'Use BEFORE attempting to crack a hash' and explains why (to select correct mode in hashcat or format in john). This clearly routes the agent to use this tool before cracking tools, distinguishing it from the sibling cracking tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hydraA

Fast network login brute-force tool supporting 50+ protocols (SSH, FTP, HTTP, RDP, SMB, MySQL, etc.). Use for testing password strength on network services. Specify the target service and provide user/password lists. For offline hash cracking, use john or hashcat instead. Output: found credentials in login:password format, or 'no valid credentials found'.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional hydra options (e.g. '-t 4' for threads, '-V' for verbose)
targetYesTarget host or IP
serviceYesService name (e.g. ssh, ftp, http-post-form, rdp, smb, mysql)
passlistYesPath to password wordlist file
userlistYesSingle username OR path to user wordlist file

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states it is a 'fast brute-force tool', implying many login attempts, and discloses the output format. However, it does not mention potential side effects such as account lockouts, network load, or the need for authorization. These are relevant for a brute-force tool and would improve transparency, so a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, with the primary purpose stated first, followed by usage instructions and a clear alternative. Every sentence contributes value—there is no fluff or repetition. The structure is clean and front-loaded, making it easy for an agent to quickly understand the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, usage, alternatives, and output format, which are the essentials for an agent to call it correctly. It does not explain service-specific options (e.g., how to construct http-post-form parameters), but the schema provides examples. Given the tool's complexity and the absence of an output schema, the description is fairly complete, but a mention of potential error conditions or timeouts would push it to a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all parameters. The description adds only a general statement about providing user/password lists and target service, which is already covered by the schema. It doesn't add syntax examples or clarify the 'opts' parameter beyond what the schema provides. Since the schema already documents the parameters, the description's contribution is minimal, meeting the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a network login brute-force tool supporting 50+ protocols, names specific protocols, and explicitly distinguishes it from offline hash cracking tools (john, hashcat). The verb 'brute-force' and resource 'network services' are specific, and it mentions the output format, leaving no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage guidance: 'Use for testing password strength on network services' and provides the key steps ('Specify the target service and provide user/password lists'). It also names an alternative ('For offline hash cracking, use john or hashcat instead') which clarifies when not to use it. However, it doesn't mention when to prefer other network scanning tools (e.g., nmap) or exclusion conditions, so it is slightly short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

impacketA

Collection of Python tools for Windows network protocols. Includes secretsdump (dump credentials remotely), psexec (remote command execution), wmiexec (WMI shell), GetNPUsers (AS-REP roasting), GetUserSPNs (Kerberoasting), and many more. Use for post-exploitation Windows/AD operations when you have credentials. Output: varies by module — dumped hashes, command output, or shell access.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoModule-specific options (e.g. 'domain/user:password@target' for authenticated access)
moduleYesImpacket module (e.g. secretsdump, psexec, wmiexec, GetNPUsers, GetUserSPNs, samrdump)
targetYesTarget IP or hostname

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does mention that output varies by module and includes remote command execution and shell access, but it omits important operational traits such as potential for service creation, need for admin privileges, and risk of detection or impact on the target.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the tool's identity and examples, followed by a useful output note. It avoids filler, though it could be slightly more structured with explicit headings without harming conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-module tool with no output schema and no annotations, the description covers the breadth of functionality and output variability, but it lacks per-module option construction, prerequisites, or caveats. It is adequate for basic selection but incomplete for reliably invoking all modules correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents all parameters, but the description adds meaningful semantics by explaining what each listed module does (e.g., 'secretsdump (dump credentials remotely)'). This helps an agent choose a valid module name, going beyond the generic schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies Impacket as a collection of Python tools for Windows/AD post-exploitation and enumerates several modules with their functions. This is specific enough to distinguish it from the sibling scanning and exploitation tools, though it does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Use for post-exploitation Windows/AD operations when you have credentials' sets a clear usage context and prerequisite. It does not name sibling tools to avoid or provide when-not-to-use conditions, but the context is sufficient for an agent to select it appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

johnA

John the Ripper — offline password hash cracker. Supports hundreds of hash formats with auto-detection. Use for cracking password hashes extracted from /etc/shadow, SAM databases, or captured network hashes. CPU-based — better for smaller hash sets or when GPU is unavailable. For GPU-accelerated cracking of large hash sets, prefer hashcat. Output: cracked passwords with their corresponding hashes.

ParametersJSON Schema
NameRequiredDescriptionDefault
fmtNoForce hash format (e.g. 'raw-md5', 'sha256crypt', 'nt'). Auto-detect if omitted.
optsNoAdditional john options (e.g. '--rules' for word mangling, '--show' to display cracked)
hashfileYesPath to file containing hashes (one per line or colon-separated)
wordlistNoPath to wordlist for dictionary attack (optional — uses brute-force if omitted)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that john is offline, CPU-based, supports auto-detection, and states the output format. It does not mention resource consumption or runtime expectations, but for a cracking tool the key operational traits are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: identity, purpose, use cases, alternative, and output appear in a logical order with no filler. Every sentence contributes either selection guidance or invocation context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, this description covers purpose, when to use it, when not to use it, operational constraints, and output. Minor gaps like runtime expectations or the exact behavior of auto-detection remain, but the essential information for correct selection and invocation is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters. The description adds context about hash sources and output, but it does not add substantive parameter-level meaning beyond what fmt/wordlist/opts descriptions already provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'offline password hash cracker.' It names concrete sources (/etc/shadow, SAM, captured network hashes), lists hash format support, and explicitly contrasts itself with the sibling tool hashcat, so an agent can distinguish it without reading schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use guidance: cracking offline hashes from shadow/SAM/network sources, and CPU-based cracking for smaller sets. It also names the alternative, hashcat, for GPU-accelerated large sets. This is clear routing among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_encodersA

List all available msfvenom encoders with their ranks and descriptions. Use to find the best encoder for your target architecture. Filter by platform or architecture to see relevant encoders only. Output: table of encoder names with ranks (excellent, great, good, normal, manual) and descriptions.

ParametersJSON Schema
NameRequiredDescriptionDefault
archNoFilter by architecture: x86, x64
platformNoFilter by platform: windows, linux, android

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the output format (table of names, ranks, descriptions) but does not mention potential side effects, permissions, or any operational caveats. For a read-only listing tool this is adequate but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no wasted words. It front-loads the primary purpose, explains the use case, and ends with the output format. It is concise and well-structured, though it could be slightly more explicit about default behavior (no filters) for absolute clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with two optional filters and no output schema, the description covers the essential elements: what it lists, why to use it, how to filter, and what the output looks like. It is complete enough for an agent to call correctly, though it omits details about rank definitions or the full list of platforms/architectures supported beyond the given examples.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so both arch and platform are already documented. The description reinforces filtering by these fields but adds no new semantic detail beyond what the schema provides. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'all available msfvenom encoders' with their ranks and descriptions. It distinguishes itself from related sibling tools like list_payloads by specifying 'encoders', though it does not explicitly name any alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides a clear use case: 'Use to find the best encoder for your target architecture' and explains how to filter by platform or architecture. It does not mention when not to use this tool or alternatives, but the guidance is sufficiently clear for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_encryptionA

List available msfvenom encryption/encoding formats (aes256, rc4, xor, base64, etc.). Use to see what encryption options are available for payload generation. Output: list of supported encryption methods.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states that the output is a list of supported encryption methods, which is minimal. It does not disclose whether it requires msfvenom to be installed, whether it might return an empty list, or any side effects (though a list operation is inherently read-only). The behavior is adequately described for a simple listing tool, but lacks nuance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no redundancy. The primary action and resource are front-loaded, and the output is briefly stated. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only listing tool with no output schema, the description is sufficiently complete. It tells what it lists, gives examples, and states the output format. A minor gap is the lack of clarification on the difference between encryption and encoding, and whether this list is exclusive to msfvenom or includes other methods, but this does not hinder the agent's ability to call it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters and none are required. According to the rubric, the baseline for 0 parameters is 4. The description adds no parameter-specific meaning because there are none to explain, and the schema is empty. This is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List available msfvenom encryption/encoding formats') with specific examples (aes256, rc4, xor, base64). It distinguishes itself from siblings by focusing on encryption, though the inclusion of 'encoding' might cause overlap with the sibling 'list_encoders'. Overall, the purpose is clear and specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context: 'Use to see what encryption options are available for payload generation.' This gives a reason to use the tool but does not explicitly mention when not to use it or how it differs from alternatives like 'list_encoders'. Usage guidance is present but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_payloadsA

List all available msfvenom payloads with descriptions. Use BEFORE generating a payload to find the correct payload name for your target platform and connection type. Filter by platform (windows, linux, android), architecture (x86, x64), or keyword (reverse_tcp, bind, meterpreter). Output: table of payload names with descriptions, organized by platform.

ParametersJSON Schema
NameRequiredDescriptionDefault
archNoFilter by architecture: x86, x64, armle, mipsle, ppc, aarch64
keywordNoKeyword to search within payload names (e.g. 'reverse_tcp', 'meterpreter', 'bind', 'https')
platformNoFilter by platform: windows, linux, android, osx, solaris, bsd

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure. It states the output format ('table of payload names with descriptions, organized by platform') and the filtering capability. It does not explicitly mention that it's read-only, but the verb 'list' strongly implies it, and the output description clarifies the result. It could add caveats about large result sets, but that's minor.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences plus a one-sentence output note. It front-loads the core action, provides usage timing, lists filters, and describes the output—no filler. Very efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool with no output schema and no annotations, the description covers the essential context: what it does, when to use it, how to filter, and what the response looks like. It could mention pagination or size, but given the tool's simplicity, it's sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already describes each parameter with 100% coverage. The description adds examples of filter values and connects them to use cases ('target platform and connection type'), but it lists only subsets of allowed values and does not elaborate on format or constraints beyond the schema. Value is marginal.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb 'List' with a clear resource 'all available msfvenom payloads with descriptions,' and positions it as a pre-generation step, distinguishing it from related tools like msfvenom, list_encoders, and list_encryption. The purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly tells the agent when to use the tool: 'Use BEFORE generating a payload to find the correct payload name for your target platform and connection type.' It also explains filtering options with examples, though it doesn't explicitly name alternative tools for when not to use it. The context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

masscanA

Ultra-fast asynchronous TCP port scanner. Use when you need to scan large IP ranges (entire subnets or the internet) for open ports. Much faster than nmap for bulk scanning but does NOT provide service/version detection. Typical workflow: masscan to find open ports, then nmap on those ports for details. Output: list of open ports with optional banner grab.

ParametersJSON Schema
NameRequiredDescriptionDefault
rateNoPackets per second. Default 1000. Increase for faster scans, decrease to avoid network disruption.
portsNoPorts to scan (default: 1-65535). Top ports: '80,443,22,21,25,3389,8080'
targetYesTarget IP or CIDR range (e.g. 10.0.0.0/8, 192.168.1.0/24)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses key traits: asynchronous, ultra-fast, lacks service/version detection, and outputs a list of open ports with optional banner grab. However, it omits operational caveats like needing privileged/raw-socket access or the network-disruption potential of high scan rates, so it's not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five short sentences, each serving a purpose: definition, usage context, comparison, workflow, and output. Front-loaded with the core scanner identity and no filler. This is efficiently structured and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, when to use, key limitations, and expected output, fitting the 3-parameter schema well. Minor gaps – such as root privileges, runtime implications, or raw-packet side effects – keep it just short of fully complete for a network scanning tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description only indirectly references ports and rate via workflow and output, adding no new parameter-level meaning beyond the schema. It does not lift above the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: an ultra-fast asynchronous TCP port scanner for large IP ranges. Explicitly contrasts with nmap for bulk scanning, making its identity distinct among siblings. The 'scan' + 'TCP ports' combination is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use it ('scan large IP ranges') and provides a typical workflow: masscan to find open ports, then nmap for details. It also tells when masscan is insufficient – no service/version detection – giving clear guidance compared to siblings like nmap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mimikatzA

Windows post-exploitation tool for extracting plaintext passwords, NTLM hashes, Kerberos tickets, and PINs from memory (LSASS). Use on a compromised Windows system to dump credentials. Output: extracted credentials in structured format — usernames, domains, passwords/hashes.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoMimikatz command (e.g. 'privilege::debug sekurlsa::logonpasswords' to dump logon passwords)

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions the tool extracts credentials but omits critical behavioral traits: it requires elevated privileges (e.g., admin/seebug), may trigger antivirus or endpoint detection, and could crash the LSASS process if used carelessly. For a well-known post-exploitation tool, this is a significant gap. The example in the schema hints at privilege escalation, but the description itself does not disclose these risks.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: two sentences that immediately convey the tool's role, target platform, and output. There is no fluff or repetition, and every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex with many subcommands, but the schema only exposes one free-form string. The description covers the output format at a high level but omits prerequisites (admin rights, Windows environment), potential side effects, and error handling. An agent might not know that 'privilege::debug' is required or that the tool can be detected. Given the absence of annotations and output schema, more operational detail is needed to ensure correct and safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage for the single parameter 'opts', including a concrete example command. The description adds no further meaning beyond confirming the tool's purpose. Since schema coverage is high, a baseline of 3 is appropriate; the description does not need to re-document the parameter, but it also doesn't enrich it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's specific purpose: extracting plaintext passwords, NTLM hashes, Kerberos tickets, and PINs from memory (LSASS) on a compromised Windows system. It uses a specific verb (extracting/dumping) and a precise resource, making it easy to distinguish from sibling tools that perform scanning, network, or cracking tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit context on when to use it: 'Use on a compromised Windows system to dump credentials.' While it doesn't list alternatives or exclusions, the context is clear enough for an agent to select it over network-scanning or password-cracking tools. It could be improved by noting that it's specifically for post-exploitation credential access rather than initial reconnaissance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

msfconsoleA

Metasploit Framework console — the primary interface for running exploit, auxiliary, post-exploitation, and payload modules. Use to execute exploits, scan with auxiliary modules, or run post-exploitation tasks. For generating standalone payloads without the console, use msfvenom. For searching modules without opening console, use msf_search. Output: module output, exploit results, or session information.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional commands to chain after the main command
commandYesMetasploit command to run (e.g. 'use exploit/windows/smb/ms17_010_eternalblue; set RHOSTS 10.0.0.1; run')
resource_fileNoPath to .rc resource script for multi-step automation (overrides command if set)

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only gives the high-level purpose and a generic output note; it does not mention non-interactive execution via the command argument, resource file behavior, side effects, or the destructive potential of running exploit and post-exploitation modules.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded with the core purpose, followed by useful sibling disambiguation and an output summary. Minor redundancy exists in 'without the console' versus 'without opening console,' but every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a powerful and potentially destructive tool, the description covers what the tool does, when to use it, and what output to expect, while the schema covers parameters. Missing context includes the non-interactive execution model and safety expectations, making it adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so command, opts, and resource_file are already documented, including the override behavior. The description adds no parameter-level meaning beyond that, which is acceptable at the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'primary interface for running exploit, auxiliary, post-exploitation, and payload modules.' It also explicitly distinguishes sibling tools by directing standalone payload generation to msfvenom and module search to msf_search, so an agent can tell them apart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage context: 'Use to execute exploits, scan with auxiliary modules, or run post-exploitation tasks.' It names alternatives with their conditions, such as msfvenom for standalone payloads and msf_search for searching modules without opening the console.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

msfdbA

Metasploit database management. Controls the PostgreSQL database used by Metasploit for storing host data, service info, credentials, and loot from scans and exploits. Run 'init' before first use, 'start' to launch the DB, 'status' to check if running. Output: status messages about database state.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional msfdb options
commandNoDB command: init, start, stop, status, reinit, delete (default: status)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral burden. It does disclose the managed resource, setup ordering, and output nature, but omits side-effect warnings for destructive commands like 'reinit' and 'delete' that appear in the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences: purpose, usage sequence, and output. No filler, information is front-loaded, and every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter wrapper, purpose, command ordering, and output are covered, and the schema documents allowed commands and default. The main gaps are the lack of destructive-command warnings and no rationale for choosing this over a sibling, but those are minor for invocaton.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for both parameters, so baseline 3 applies. The description adds practical meaning to command values ('init' before first use, 'start' launches, 'status' checks), but leaves 'opts' opaque and mostly repeats schema command names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states a specific verb ('manages/controls') and resource ('PostgreSQL database used by Metasploit'), and names concrete commands. It is immediately distinguishable from sibling tools like nmap, msfconsole, and msfvenom, none of which manage the Metasploit database.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit usage context: run 'init' before first use, 'start' launches the DB, 'status' checks if running. It doesn't name alternatives or exclusions, but for a self-contained DB lifecycle tool the when-to-use guidance is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

msf_infoA

Display detailed information about a specific Metasploit module: description, available options, required settings, supported targets, and references. Use after msf_search to understand what a module does and what parameters it needs before running it. Output: module metadata, option table (name, current setting, required, description), and references.

ParametersJSON Schema
NameRequiredDescriptionDefault
module_pathYesFull module path (e.g. 'exploit/windows/smb/ms17_010_eternalblue', 'auxiliary/scanner/smb/smb_version')

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the behavioral burden. It does indicate this is a read-only inspection operation by saying 'Display detailed information' and describes the output structure. However, it does not state prerequisites such as whether the module search index must be loaded or whether any state is modified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no filler. It front-loads the primary action, then gives workflow context, then lists output details. Every sentence contributes useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one required parameter and no output schema, the description is complete: it states the action, the expected output, and when to use it in the flow. The schema covers parameter format, and the description covers return value expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the single parameter module_path with full descriptions and examples, so description-level parameter guidance adds little beyond the schema. The description's mention of 'option table' is relevant output context but does not add more to parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Display detailed information') and names the exact resource (a specific Metasploit module) and what is included: description, options, required settings, targets, and references. It differentiates itself from the sibling msf_search by being the follow-up inspection step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use after msf_search to understand what a module does and what parameters it needs before running it,' which gives clear sequencing and context. It does not explicitly name alternatives or negative cases, but the workflow placement is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

msf_resourceA

Execute a Metasploit resource script (.rc file) — batch automation for multi-step Metasploit operations. Use for running pre-written attack sequences, setting up multi-handlers, or automating complex module chains. Resource files contain msfconsole commands (one per line) executed sequentially. Output: combined output of all commands in the script.

ParametersJSON Schema
NameRequiredDescriptionDefault
script_pathYesPath to .rc resource script file

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states that commands are executed sequentially and that output is combined, which is useful. However, it does not disclose potential side effects (e.g., network activity, destructive actions), error handling behavior (what happens if a command fails), or prerequisites like initialized Metasploit database. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and efficient: two sentences plus an output note. The primary purpose is front-loaded, with use cases and behavior clearly stated. There is no redundant or filler content; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a single parameter and no output schema, the description covers the essential aspects: what it does, when to use it, how the input script works, and the output format. It lacks details on error handling or potential side effects, but given the simplicity and the presence of sibling tools for other needs, it is sufficiently complete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the parameter script_path has a description ('Path to .rc resource script file'). The tool description adds meaningful context by explaining that resource files contain msfconsole commands (one per line), which goes beyond the schema. This enhances the agent's understanding of the parameter format and expected content.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes Metasploit resource scripts (.rc files) for batch automation, using a specific verb ('Execute') and resource. It distinguishes itself from siblings like msfconsole (interactive) and msfvenom (payload generation) by focusing on pre-written multi-step sequences. The purpose is unambiguous and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists use cases: running pre-written attack sequences, setting up multi-handlers, and automating complex module chains. It also clarifies that resource files contain msfconsole commands executed sequentially, giving context on how to prepare inputs. However, it does not explicitly state when NOT to use it (e.g., for single commands, use msfconsole), leaving some inference to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

msfvenomA

Metasploit payload generator — creates shellcode and executables from payloads. Use for generating standalone payloads (reverse shells, meterpreter, etc.) in various formats. For AV-evasion with encoding, encryption, and template injection, use evasive_payload instead. Output: generated payload in the requested format, or list of available payloads/encoders.

ParametersJSON Schema
NameRequiredDescriptionDefault
fmtNoOutput format: raw, exe, dll, python, c, csharp, powershell, hex, js, vba, etc.
archNoTarget architecture: x86, x64, armle, mipsle, ppc
optsNoAdditional msfvenom options
lhostNoListen host IP — where the payload connects back to
lportNoListen port — which port the payload connects to
encoderNoEncoder to use (e.g. 'x86/shikata_ga_nai'). Omit for no encoding.
outfileNoOutput file path to save generated payload
payloadYesPayload name (e.g. 'linux/x64/shell_reverse_tcp', 'windows/meterpreter/reverse_tcp')
badcharsNoBad characters to avoid (e.g. '\x00\x0a\x0d' for null, newline, carriage return)
platformNoTarget platform: windows, linux, android, osx, solaris
templateNoPath to executable to use as template (payload injected into it)
iterationsNoNumber of encoding iterations (default: 1). More iterations = larger payload.

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full burden of behavioral disclosure. It mentions the output ('generated payload in the requested format, or list of available payloads/encoders') but does not disclose any side effects (e.g., file creation, network activity, permissions required, or whether it is safe to run in a sandbox). For a tool that generates executables, this is a notable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with two main sentences and a brief output note. It is front-loaded with the purpose and efficiently covers the main use case and alternative. No fluff, though it could be slightly more structured, but it earns a high score for brevity and clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 12 parameters and no output schema, the description is thin. It does not explain how parameters interact (e.g., when lhost/lport are needed, what happens if outfile is omitted, or how to trigger the 'list of available payloads/encoders' behavior). The tool is complex, and the description leaves many operational details to inference, making it incomplete for reliable agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds only high-level context (e.g., 'reverse shells, meterpreter' as examples of payloads) but does not clarify parameter interplay or provide any semantics beyond what the schema already documents. It does mention that output can be a list of payloads/encoders, which hints at some conditional behavior but not parameter-specific.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a 'Metasploit payload generator' that 'creates shellcode and executables from payloads', specifying the core function. It also distinguishes itself from the sibling 'evasive_payload' by explicitly stating that tool is for AV-evasion with encoding, encryption, and template injection, making its own scope clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use for generating standalone payloads (reverse shells, meterpreter, etc.) in various formats' and directly routes AV-evasion needs to 'evasive_payload instead'. This gives clear when-to-use and when-not-to-use guidance with a named alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

netcatA

TCP/UDP connection utility — connect to services, create listeners, transfer files, or spawn shells. Use for quick service banner grabs, port connectivity tests, or setting up reverse/bind shells. For structured service enumeration, prefer nmap. For raw packet analysis, use tcpdump/tshark.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostYesTarget host IP or hostname to connect to
portYesPort number (e.g. '80', '4444')
connectNotrue = connect to host:port (default), false = listen on port for incoming connections

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It does disclose the core behaviors (connect, listen, transfer files, spawn shells) and the connect/listen modes via parameters, but it does not mention potential security implications, privilege requirements, or that it is a raw socket utility that may be flagged by firewalls. For a tool with security-sensitive capabilities, a bit more disclosure would be ideal, but the basics are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. The core purpose and use cases are front-loaded, and the alternative tool guidance is neatly appended. Perfectly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple utility with full schema coverage and no output schema, the description adequately covers main use cases, modes, and alternatives. It could mention that UDP is supported (though the description says TCP/UDP) or touch on interactive usage, but these are minor. Overall, an agent can correctly invoke it for common tasks without further information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for all three parameters (host, port, connect), including the default behavior of connect=true. The description adds minimal extra meaning beyond the schema, only implicitly referencing listen vs. connect. This meets the baseline for full schema coverage but does not elevate it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a TCP/UDP connection utility for connecting, listening, file transfer, and shell spawning. It specifies concrete use cases like service banner grabs and connectivity tests, and explicitly contrasts with nmap for enumeration and tcpdump for packet analysis, making it easy to distinguish from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit when-to-use guidance (quick banner grabs, port tests, shells) and names alternatives with conditions ('prefer nmap' for structured enumeration, 'tcpdump/tshark' for raw analysis). This is exactly the kind of routing an agent needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

niktoA

Web server vulnerability scanner — checks for 6700+ known issues: outdated server software, dangerous files/CGIs, default credentials, and server misconfigurations. Use early in web recon to find low-hanging vulnerabilities. Does NOT exploit — only reports. For modern CVE-based scanning, use nuclei. For WordPress-specific, use wpscan. Output: categorized list of findings with severity.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostYesTarget host or IP (e.g. 192.168.1.10 or example.com)
optsNoAdditional nikto options (e.g. '-ssl' for HTTPS, '-Tuning 9' for SQLi tests)
portNoWeb server port (default: 80). Use 443 for HTTPS.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden. It clearly states the tool does NOT exploit and only reports, and it describes the output as a categorized list with severity. This provides important safety and behavioral context, though it does not mention network impact or permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded, covering the core purpose, usage timing, alternatives, non-exploit behavior, and output structure in three sentences. Every sentence contributes value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one required parameter and full schema coverage, the description covers what it does, what it finds, when to use it, what it does not do, and the expected output format. Since there is no output schema, the explicit output description fills that gap well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description does not need to compensate for undocumented parameters. It adds little parameter-level detail, but the baseline of 3 applies because the structured schema already handles parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource and action: a web server vulnerability scanner that checks for 6700+ known issues across defined categories. It also distinguishes itself from sibling scanners by naming nuclei and wpscan as alternatives for different scopes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says to use the tool early in web recon for low-hanging vulnerabilities and provides clear routing: nuclei for modern CVE-based scanning and wpscan for WordPress-specific scanning. This gives an agent both when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nmapA

Primary network scanner for host discovery, port scanning, service/version detection, and OS fingerprinting. Use this FIRST on any target to understand what's running. Returns open ports with service banners and detected OS. For fast bulk port scanning across many hosts, use masscan instead. For live host discovery on a local subnet, use arp_scan.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional nmap options. Default: -sV -sC (version detection + safe scripts)
portsNoPorts to scan (e.g. '22,80,443' or '1-1000'). Omit for top 1000 ports.
targetYesTarget IP, hostname, or CIDR range (e.g. 192.168.1.0/24)

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses what the tool does (scans hosts/ports/services/OS) and what it returns (open ports, service banners, detected OS), which is useful. However, it does not mention potential side effects like network traffic volume, privileges required (e.g., root for OS detection), or that scanning may be blocked by firewalls. This leaves a gap in behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five concise sentences, each earning its place: purpose, primary usage, expected output, and two alternative routes. The most critical information is front-loaded, with no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for a tool with 3 well-documented parameters and no output schema. It explains the tool's scope, output, and alternatives. It could mention reading the opts parameter for advanced use, but the schema already covers that. Given the tool's complexity, this is sufficient context for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and all three parameters (target, opts, ports) have detailed descriptions including examples and defaults. The tool description does not add any extra parameter semantics beyond what the schema already provides, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('scanner') and resource ('network'), and enumerates concrete capabilities: host discovery, port scanning, service/version detection, OS fingerprinting. It also differentiates from siblings by naming masscan and arp_scan as alternatives for different use cases, so an agent can immediately distinguish it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance is given: 'Use this FIRST on any target to understand what's running.' It also provides when-not-to-use by directing to masscan for fast bulk port scanning and arp_scan for local subnet host discovery. These alternatives and conditions are clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nucleiA

Modern template-based vulnerability scanner with thousands of community-maintained YAML templates. Detects CVEs, misconfigurations, exposed panels, default credentials, and more. Use as your primary vulnerability scanner after discovering services. Much faster and more current than nikto. Output: vulnerability name, severity, matched endpoint, and remediation reference.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoTemplate options. Default: '-severity medium,high,critical'. Add '-tags cve,oast' for CVE checks.
targetYesTarget URL, IP, hostname, or file containing targets (one per line)

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses output details (vulnerability name, severity, matched endpoint, remediation reference) and notes template-based scanning with community-maintained YAML templates. However, it does not mention any potential side effects (e.g., active scanning may be intrusive) or failure modes. Since this is a vulnerability scanner, silently omitting that it sends network requests is a moderate gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, starting with the purpose in the first sentence, then elaborating capabilities and usage. Every sentence adds value: purpose, detection types, usage guidance, and output format. No redundant or extraneous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with two parameters and no output schema, the description is largely complete. It explains what the tool does, when to use it, and what it returns. It lacks specific prerequisites (e.g., network access, target must be reachable) or caution about active scanning, but these are implied. Given the breadth of siblings, the description sufficiently orients the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters (target and opts) are already documented in the schema. The description adds no parameter-specific details beyond what the schema provides. It mentions template-based scanning and CVE detection, which aligns with the opts description, but does not introduce new semantics. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific purpose: 'Modern template-based vulnerability scanner' with a clear resource (targets) and action (scans for CVEs, misconfigurations, exposed panels, etc.). It explicitly contrasts with nikto ('Much faster and more current than nikto'), distinguishing it from that sibling tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance: 'Use as your primary vulnerability scanner after discovering services.' This tells when in the workflow it fits relative to service discovery tools (e.g., nmap) and directly names nikto as an alternative, highlighting why nuclei is preferred. The conditions and comparison are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

onesixtyoneA

Fast SNMP scanner — discovers SNMP-enabled devices and tests community strings. Use when you suspect SNMP is running (port 161 UDP) and want to find readable community strings (public, private, or custom). Much faster than snmpwalk for initial discovery. Output: list of IPs with their valid community strings and system descriptions.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional onesixtyone options
targetYesTarget IP or hostname
communityNoCommunity string to test (default: 'public'). Use a file path for multiple strings.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that it is fast and outputs a list of IPs with valid community strings and system descriptions. It does not mention potential side effects like network noise, privilege requirements, or whether it is active/passive. While these may be inferred, the description lacks explicit disclosure, making it adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, followed by usage context and output format. Every sentence adds value, with no fluff. The structure guides the agent from what, to when, to what to expect.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's output (list of IPs with community strings and system descriptions), which compensates for the lack of an output schema. It also provides usage context and speed comparison. It does not mention prerequisites like open UDP port or permission requirements, but these are minor gaps given the tool's nature. Overall, it is sufficiently complete for an agent to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with all three parameters documented in the schema. The description does not add meaning beyond what the schema already provides, except for a vague mention of 'public, private, or custom' community strings, which is not parameter-specific. Per calibration, baseline 3 is appropriate when the schema handles parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is a fast SNMP scanner that discovers devices and tests community strings, explicitly distinguishing it from snmpwalk and other network scanners. It specifies the resource (SNMP devices on port 161) and the action (testing community strings), leaving no ambiguity about its function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear when-to-use guidance: 'Use when you suspect SNMP is running (port 161 UDP) and want to find readable community strings.' It also notes it is faster than snmpwalk for initial discovery, implying an alternative. However, it does not explicitly state when not to use it or name other alternatives, so a small gap remains.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

proxychainsA

Proxy wrapper — forces any TCP-based tool's connections through a chain of proxies (Tor, SOCKS4/5, HTTP proxies). Reads proxy configuration from /etc/proxychains4.conf. Use to route tools through a pivot host (after setting up chisel or SSH tunneling) or through Tor for anonymity. Wrap any command: proxychains nmap -sT target.com Output: the wrapped tool's normal output, plus proxy chain connection debug info.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional proxychains options (e.g. '-f custom_proxychains.conf' for non-default config)
commandYesFull command to run through proxychains (e.g. 'nmap -sT target.com' or 'curl http://internal.corp.local')

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It discloses the output format ('the wrapped tool's normal output, plus proxy chain connection debug info') and notes that it 'forces' connections through proxies, implying network redirection. It does not mention potential failures (e.g., unreachable proxies) or that it modifies network traffic, but these are minor given the clarity of the core behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences: the first states purpose and mechanism, the second gives usage guidance, and the third states output. It is front-loaded with the core purpose, includes a concrete example, and contains zero filler. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter wrapper with no output schema and no annotations, the description covers the essential aspects: what it does, when to use it, the config file dependency, and the output format. It could mention that it only works on TCP (already implied) or that it may require the proxy chain to be reachable, but the description is sufficiently complete for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds a brief example for the 'command' parameter and clarifies that 'opts' can override the config, but these are largely redundant with the schema's own parameter descriptions. The description does not add substantial new semantic meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Proxy wrapper — forces any TCP-based tool's connections through a chain of proxies', which is a specific verb+resource that clearly distinguishes it from the sibling tools (nmap, curl, etc.) – it is a wrapper, not a standalone scanner. It also states the config source and provides a concrete example ('proxychains nmap -sT target.com'), leaving no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit use cases: 'route tools through a pivot host (after setting up chisel or SSH tunneling) or through Tor for anonymity.' It also implies when not to use it (only for TCP-based tools) and mentions the prerequisite of setting up a pivot host. It does not explicitly name alternatives, but the context is clear enough that an agent can decide when to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reaverA

WPS (WiFi Protected Setup) brute-force attack tool. Exploits the WPS PIN vulnerability to recover the WPA/WPA2 passphrase without needing a captured handshake. Use when the target AP has WPS enabled (many do by default). For full WiFi attack automation including WPA handshake capture, use wifite. Output: WPA PSK (password) and AP details on success, or PIN attempt progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional reaver options (e.g. '-vv' for very verbose, '-t 10' for timeout)
bssidYesTarget AP BSSID — MAC address of the access point (e.g. 'AA:BB:CC:DD:EE:FF')
channelNoChannel number the target AP is on (e.g. '6', '11')
interfaceYesWireless interface in monitor mode (e.g. wlan0mon)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'brute-force attack' and output progress, which conveys the aggressive, long-running nature. However, it omits potential side effects like AP lockout or detection risk, and does not mention prerequisites like monitor mode (though the schema implies it). The description is honest but not exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, front-loading the core purpose and usage, then providing the alternative. The output note is appended. It is well-structured with no redundancy, earning a 4 for efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and lack of annotations or output schema, the description covers purpose, usage, and output. It lacks caveats about the attack being time-consuming, potentially triggering AP lockouts, or needing physical proximity. These omissions could affect an agent's expectation of runtime or side effects, making the description adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters (interface, bssid, channel, opts). The description adds no extra semantics beyond the schema, such as option syntax or expected formats, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as a WPS brute-force attack tool that exploits the WPS PIN vulnerability to recover WPA/WPA2 passphrases. It distinguishes itself from wifite by specifying that wifite handles full WiFi attack automation including handshake capture, making the purpose and differentiation unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool ('when the target AP has WPS enabled') and provides an explicit alternative for other scenarios ('For full WiFi attack automation including WPA handshake capture, use wifite'). This gives the agent clear routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

responderA

LLMNR, NBT-NS, and mDNS poisoner. Responds to name resolution requests on the local network and captures NTLMv2 password hashes from Windows systems. Use on internal network assessments to capture credentials when systems attempt to resolve names. Run on a network interface with an IP on the target subnet. Output: captured NTLMv2 hashes that can be cracked with hashcat (mode 5600).

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional responder options (e.g. '-A' to analyze mode, '-w' to start WPAD server)
interfaceYesNetwork interface to listen on (e.g. eth0, tun0). Must be on target network.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral disclosure burden. It clearly states the active poisoning behavior, the protocols involved, the credential-capture outcome, and the expected output in terms of hashcat mode 5600. It does not mention privilege requirements, indefinite listener behavior, or potential network side effects, but it is substantially transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose before moving to usage and output. There is some redundancy between 'captures NTLMv2 password hashes' and 'Output: captured NTLMv2 hashes,' but every sentence still contributes useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with only one required parametera and no output schema or annotations, the description provides enough context to use it: what it does, when to use it, where to run it, and what result to expect. It omits operational details such as needing elevated privileges or how to stop the listener, but the core invocation context is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage for both parameters: interface is described as the network interface to listen on and opts includes example flags. The description adds no additional per-parameter detail beyond roughly restating the schema's interface requirement, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as an LLMNR, NBT-NS, and mDNS poisoner that responds to name-resolution requests and captures NTLMv2 hashes from Windows systems. This is a specific verb+resource pairing that distinguishes it from sibling tools like hashcat (which cracks hashes) or nmap (which scans networks).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says to use the tool during internal network assessments when systems attempt to resolve nameshol and instructs running it on an interface with an IP on the target subnet. It does not name alternative tools or state when not to use it, so it stops short of a full 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_commandA

Execute an arbitrary command on the Kali system. Use ONLY as a fallback when the specific tool you need is not available as a dedicated MCP tool. The command is parsed into arguments and runs with safety restrictions — dangerous commands (rm, dd, shutdown, etc.) are blocked. Prefer the dedicated tool functions whenever possible for better parameter validation and structured output. Output: command stdout and stderr output.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesShell command to execute (e.g. 'whois example.com', 'dig example.com ANY')
timeoutNoTimeout in seconds (default: 120, max: 600)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses that commands are parsed into arguments, that dangerous commands (rm, dd, shutdown) are blocked, and that output is stdout/stderr. It doesn't detail what happens on blocked commands (error message? exit code?), but the safety restriction disclosure is valuable and goes beyond the schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose, then the fallback guidance, then safety restrictions, then output. Every sentence earns its place, though the output sentence is slightly redundant with the schema's absence of output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a generic command execution tool with 2 params and no output schema, the description covers purpose, usage, safety, and output. It could mention what happens when a command is blocked or how timeout behaves, but the essentials are present. The sibling list is large, but the fallback positioning handles differentiation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description adds the example format and the safety restriction context, but doesn't add significant meaning beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes arbitrary commands on the Kali system, with a specific verb ('Execute') and resource ('command on the Kali system'). It explicitly distinguishes itself from dedicated tools by positioning itself as a fallback, which differentiates it from the many sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says to use it ONLY as a fallback when a dedicated MCP tool is not available, and instructs to prefer dedicated tools for better validation and structured output. This is clear when-to-use and when-not-to-use guidance with an explicit alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

searchsploitA

Command-line interface to the Exploit Database. Search for public exploit code by software name, version, CVE number, or vulnerability description. Use after identifying software versions (from nmap, whatweb, etc.) to find available exploits. Output: exploit title, path, and sometimes the exploit file content. Pair with msf_search for Metasploit module equivalents.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional searchsploit options (e.g. '-m 12345' to mirror/copy an exploit to current dir)
queryYesSearch term, CVE ID (e.g. 'CVE-2017-0144'), or software name (e.g. 'vsftpd 2.3.4')

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains the output ('exploit title, path, and sometimes the exploit file content') and implies a non-destructive search operation. It does not explicitly state that it only searches and does not execute exploits, but the wording is sufficiently clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences with no filler. The core purpose is front-loaded, followed by usage guidance and output details. Every sentence contributes useful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and no annotations, the description covers what the tool does, what inputs it accepts, when to use it, what output to expect, and how it relates to a sibling tool. Nothing essential for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining valid query forms (software name, version, CVE, description) and how to position the query in a workflow ('after identifying software versions'). The opts parameter is well documented in the schema itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Search'), a specific resource ('the Exploit Database'), and the kinds of inputs accepted ('software name, version, CVE number, or vulnerability description'). This clearly distinguishes it from sibling discovery/exploitation tools, and specifically contrasts it with msf_search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use it ('Use after identifying software versions from nmap, whatweb, etc.') and names an alternative ('Pair with msf_search for Metasploit module equivalents'). This gives an agent actionable decision criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

shellcode_to_exeA

Convert raw shellcode from a file into a Windows executable. Use when you have shellcode from another source (Cobalt Strike, custom C code, or extracted from malware) and need to package it as an EXE for execution. Output: path to the generated executable file.

ParametersJSON Schema
NameRequiredDescriptionDefault
archNoArchitecture of the shellcode: x86 (32-bit, default) or x64 (64-bit)
outfileNoOutput executable path (default: auto-generated temp file)
shellcode_fileYesPath to file containing raw shellcode bytes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It clearly discloses the main behavior—converting raw shellcode into a Windows executable and returning its path—but it does not clarify whether the tool executes the shellcode, how it handles an existing output file, or any side effects beyond generating a file. This leaves some behavioral ambiguity for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately short and front-loaded: it states the core conversion in the first sentence, gives usage context in the second, and explicitly lists the output in the final phrase. Every sentence earns its place without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple file-conversion tool, the description provides the necessary context: what it converts, when to use it, and what it returns. It compensates for the lack of an output schema by explicitly reporting the output path. Minor gaps include not mentioning prerequisites or failure behavior, but these are not critical for an agent choosing and invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters are already documented in the input schema with 100% coverage, so the baseline is 3. The description adds little parameter-specific meaning beyond indicating the shellcode comes from a file and that the output is a path to a generated executable; the schema already covers arch defaults and output path behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource: 'Convert raw shellcode from a file into a Windows executable.' This clearly identifies what the tool does and differentiates it from sibling payload-generation tools like msfvenom or evasive_payload, since the shellcode is expected to come from an external source.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance: 'Use when you have shellcode from another source... and need to package it as an EXE for execution.' This provides solid when-to-use context and implies that this tool is not for generating shellcode, though it does not explicitly name alternatives or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

smbclientA

SMB/CIFS client — connects to Windows file shares for browsing, downloading, and uploading files. Use to access SMB shares with or without credentials (anonymous/null session). For SMB vulnerability scanning, use nmap or crackmapexec. For automated share enumeration, use enum4linux. Output: directory listings, file contents, or confirmation of upload/download.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional smbclient options
userNoUsername for authentication. Omit for anonymous/null session.
shareNoShare name (e.g. 'C$', 'IPC$', 'shared'). Leave empty to list shares.
targetYesTarget IP or hostname
commandNoSMB command to execute (e.g. 'ls' to list, 'get file.txt' to download)
passwordNoPassword for authentication

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description discloses output types and anonymous/null-session usage, but no annotations exist so it must carry the full burden. It does not explain uploads' side effects, permissions, or interactive/error behavior, leaving clear gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences each serve a distinct role: purpose, usage, alternatives, and output. Purpose is front-loaded; there is slight overlap between 'connects' and 'Use to access' but no wasted content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still names expected output forms. Combined with full schema coverage, it is sufficient for an agent to invoke correctly; optional behavioral depth is the only notable omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description mentions anonymous/null session and output types, but those are largely restatements of schema fields and add no new syntax or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

First sentence names a specific verb ('connects') and resource ('Windows file shares'), with browsing/downloading/uploading. It also contrasts with nmap/crackmapexec and enum4linux, so it is distinguishable from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use ('Use to access SMB shares...') and when not ('For SMB vulnerability scanning, use nmap or crackmapexec. For automated share enumeration, use enum4linux.'). No inference required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sqlmapA

Automated SQL injection detection, exploitation, and data extraction. Use when you find a URL parameter that may be injectable. Handles detection, database fingerprinting, data dumping, and even OS shell access via SQLi. Output: confirms injectable parameters, database type/version, and extracted data. For command injection (not SQL), use commix. For XSS, use xsser.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL with parameters (e.g. 'http://example.com/page.php?id=1')
optsNoAdditional options. Default: --batch --random-agent (non-interactive with random user-agent)

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It discloses that the tool is automated, handles detection/fingerprinting/dumping/shell access, and runs non-interactively by default (via opts default). However, it doesn't disclose potential side effects like network traffic, time delays, or the fact that exploitation can be intrusive/destructive. A 3 is fair: it adds useful behavioral context but omits risk-related behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: it states the core function first, then usage context, then output, then alternatives. Every sentence earns its place; no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 2 params, 100% schema coverage, and no output schema, the description covers the main gaps: what it does, when to use it, what output to expect, and how it differs from siblings. It doesn't mention risk/intrusiveness, which is a minor gap for an exploitation tool, but overall it's complete enough for an agent to select and invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters. The description adds context about the default opts ('--batch --random-agent') and the output, but doesn't add much beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Automated SQL injection detection, exploitation, and data extraction') and names the resource (URL parameters). It also distinguishes itself from siblings by naming commix and xsser as alternatives for other vulnerability classes. This is a clear, specific purpose statement that an agent can act on.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use when you find a URL parameter that may be injectable' and provides exclusions: 'For command injection (not SQL), use commix. For XSS, use xsser.' This is exactly the kind of when-to-use and when-not-to-use guidance that helps an agent select the right tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

steghideB

Steganography tool — hides data within image (JPEG, BMP) and audio (WAV, AU) files, or extracts hidden data from them. Uses passphrase-protected embedding. Use to detect hidden messages in files (CTF challenges) or to conceal data. Output: embedded file confirmation or extracted hidden content.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional steghide options
commandNoOperation: 'info' (check if file has hidden data), 'embed' (hide data), 'extract' (recover hidden data). Default: info
cover_fileNoCover image/audio file to hide data in (for embed) or stego file to analyze
embed_fileNoFile to hide inside the cover file (for embed mode)
passphraseNoPassphrase used to embed or extract the hidden data
stego_fileNoOutput stego file (for embed) or source stego file to extract from (for extract)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It mentions passphrase-protected embedding and the expected output ('embedded file confirmation or extracted hidden content'), which is genuinely useful. It does not disclose whether operations modify the cover file, what happens on wrong passphrases, or whether extraction requires matching the embedding passphrase, leaving some behavioral ambiguity for a security tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded: the first phrase immediately identifies the tool as a steganography tool and its supported formats. The use-case sentence and output note are both informative and non-redundant. It is slightly longer than strictly necessary but every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has three operation modes (info, embed, extract) and multiple interdependent parameters, but the description does not explain how to combine parameters per mode or what the 'info' output looks like. The input schema fills in parameter roles, so this is not severely incomplete, but for a tool without an output schema and no annotations, more operational context would be expected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents all six parameters with 100% coverage, so the baseline is 3. The description adds useful format context (JPEG, BMP, WAV, AU) and passphrase usage, but it does not explain the relationships between command, cover_file, embed_file, stego_file, and passphrase beyond what the schema already states. This is adequate but not additive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb+resource: it hides data within JPEG/BMP/WAV/AU files and extracts hidden data from them. It also names the primary use cases (CTF detection, data concealment), so an agent can identify the tool's job. It does not explicitly differentiate it from steganography-adjacent siblings like exiftool or binwalk, but the core purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives useful usage context—'Use to detect hidden messages in files (CTF challenges) or to conceal data'—which implies when to reach for the tool. However, it does not contrast it with alternatives such as exiftool for metadata or binwalk for file carving, nor does it state when not to use steghide. The guidance is present but implicit and incomplete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

subfinderA

Passive subdomain discovery using multiple online sources (certificate transparency, search engines, DNS datasets). No direct DNS queries — completely passive and undetectable. Use for initial domain reconnaissance to map external attack surface. For active DNS brute-force and zone transfers, use dnsrecon. For deeper OSINT, use amass. Output: list of discovered subdomains.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional subfinder options (e.g. '-all' for all sources, '-o output.txt')
domainYesTarget domain (e.g. example.com). Do NOT include subdomains.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does a good job: it discloses passivity, lack of direct DNS queries, and undetectability. It could add more operational details such as runtime or rate limits, but it adequately communicates the key behavioral profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded, but there is slight redundancy in emphasizing passivity both as 'Passive' and 'No direct DNS queries — completely passive and undetectable'. Overall, each sentence earns its place, though minor tightening is possible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the schema covers all parameters, the description explains the tool's behavior, use case, output, and key alternatives. No critical info is missing for an agent to invoke subfinder correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% coverage of both parameters, including the example and the warning not to include subdomains. The description does not add significant new parameter-level meaning, but the schema is sufficient, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('passive subdomain discovery'), the resource (target domain), and the method (multiple online sources). It also differentiates itself from sibling tools like dnsrecon and amass, making its purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use the tool: initial domain reconnaissance to map external attack surface. It also names specific alternatives for related but different tasks: dnsrecon for active DNS brute-force/zone transfers and amass for deeper OSINT.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tcpdumpA

Real-time packet capture on a network interface. Use for live traffic monitoring, debugging connectivity, or capturing evidence of network activity. For deeper protocol analysis and display filtering, use tshark. Output: raw packet headers (IP, TCP/UDP, payload snippets). Requires root/privileged access.

ParametersJSON Schema
NameRequiredDescriptionDefault
filtNoBPF filter expression (e.g. 'tcp port 80', 'host 192.168.1.1', 'icmp')
countNoNumber of packets to capture before exiting (default: 50)
interfaceNoNetwork interface to capture on (default: eth0). Use 'any' for all interfaces.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool requires root/privileged access, that it captures in real-time, and that output is raw packet headers (IP, TCP/UDP, payload snippets). It does not mention that capture stops after 'count' packets or that it may be resource-intensive, but the core behavioral traits are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with zero waste. The primary purpose is front-loaded, the alternative is named, and the output format and privilege requirement are stated compactly. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter tool with 100% schema coverage and no output schema, the description covers the essential context: purpose, usage, output format, and privilege requirement. It could mention that capture is continuous until count is reached or interrupted, but the schema's count parameter already implies this. The description is complete enough for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters (filt, count, interface) with examples. The description adds the output format context but does not add meaning beyond the schema for the parameters themselves. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('capture'), a specific resource ('packets on a network interface'), and explicitly names the sibling tool it is not ('For deeper protocol analysis and display filtering, use tshark'). This clearly distinguishes tcpdump from tshark and other network tools in the sibling list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool ('live traffic monitoring, debugging connectivity, or capturing evidence of network activity') and names the alternative (tshark) for deeper analysis. It also notes the root/privileged access requirement, which is a key usage condition.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

theHarvesterA

OSINT tool for harvesting emails, names, subdomains, IPs, and URLs from public sources (Google, Bing, LinkedIn, Shodan, PGP key servers, and 20+ others). Use for early reconnaissance to identify employee email patterns, exposed services, and related domains. Output: organized results by source — emails, hosts, IPs, and URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional theHarvester options
limitNoMaximum results per source (default: 100). Lower if getting rate-limited.
domainYesTarget domain (e.g. example.com)
sourceNoData source to query. 'all' uses all available sources. Options: google, linkedin, shodan, hunter, etc.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the full burden of behavioral disclosure. It states that harvesting happens from public sources and that output is organized by source, giving some indication of return structure. However, it does not disclose that the tool makes live network requests, may encounter rate limits, or that certain sources require API keys, which an agent would benefit from knowing before invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each contributing essential information: function and scope, usage context, and output format. It is front-loaded with the most identifying information and contains no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter OSINT tool with no output schema, the description covers the core requirements: what it does, when to use it, and what it returns. It omits practical caveats like API-key requirements or rate-limiting behavior, but those are partially hinted at in the `limit` parameter schema. Overall it is sufficiently complete for an agent to invoke it correctly in a typical early-reconnaissance workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds only a loose contextual link to the `domain` parameter by referencing 'related domains' and 'employee email patterns', but it does not elaborate on `limit`, `source`, or `opts`. This is marginal added meaning above the schema, no penalty is warranted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('harvesting') and lists the resource types (emails, names, subdomains, IPs, URLs), names example sources, and identifies the tool as multi-source OSINT. This clearly distinguishes it from sibling tools like subfinder or amass that focus on subdomains only, and from nmap which scans live hosts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells the agent to use it for 'early reconnaissance' and states the intended goals: 'identify employee email patterns, exposed services, and related domains.' It does not explicitly compare against alternatives or give exclusion criteria, but the context is clear enough to route an agent to this tool for passive intelligence gathering.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tsharkA

Command-line Wireshark — captures and deeply analyzes network traffic with full protocol dissection. Use for detailed traffic analysis, extracting specific protocol fields, or analyzing pcap files. Superior to tcpdump for protocol decoding and display filters. Can read pcap files or capture live. Output: detailed packet summaries with protocol-specific fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
filtNoCapture filter (e.g. 'tcp port 80', 'host 10.0.0.1')
optsNoAdditional tshark options or display filters (e.g. '-Y http.request')
countNoNumber of packets to capture (default: 50)
ifaceNoNetwork interface for live capture (default: eth0)
read_fileNoRead from pcap file instead of live capture (e.g. capture.pcap)

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full disclosure burden. It does add useful behavioral context: it can read pcap files or capture live, and it outputs 'detailed packet summaries with protocol-specific fields.' However, it does not mention operational traits such as requiring root/privileges for live capture, the blocking nature of captures until count is reached, or potential high-volume output — gaps that matter for a network-capture tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no waste: definition, use cases/comparison, capability, and output format are all covered. The most identifying content ('Command-line Wireshark', live vs file capture) is front-loaded, and every sentence contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 fully documented parameters, no annotations, and no output schema, the description covers the core needs: what it does, when to use it, how it compares to a sibling, input modes, and output shape. It falls slightly short by not mentioning operational caveats like privilege requirements or capture termination behavior, but the combination of description and schema is otherwise reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 even without extra parameter detail. The description mentions 'extracting specific protocol fields' and 'display filters', which loosely ties to opts/filt, but it does not add meaning beyond what the parameter descriptions already provide. It neither hurts nor significantly enhances parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource — 'captures and deeply analyzes network traffic with full protocol dissection' — and frames the tool as 'Command-line Wireshark', which immediately signals its identity. It also distinguishes itself from a sibling ('Superior to tcpdump for protocol decoding and display filters'), so an agent can separate it from tcpdump without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly lists when to use the tool: 'Use for detailed traffic analysis, extracting specific protocol fields, or analyzing pcap files.' It also names the primary alternative (tcpdump) and states the advantage, giving clear routing guidance. This is not merely implied; it is direct and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

volatilityA

Memory forensics framework for analyzing RAM dumps. Extracts running processes, network connections, loaded DLLs, registry hives, injected code, and malware artifacts from memory images. Requires a memory profile matching the source OS version. Output: structured forensic data — process trees, network sockets, registry keys, or flagged anomalies.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional volatility options (e.g. '-p PID' to filter by process ID)
imageYesPath to memory dump file (.raw, .vmem, .mem)
pluginYesPlugin to run (e.g. pslist, pstree, netscan, malfind, cmdscan, hivelist, timeliner)
profileNoMemory profile matching the OS (e.g. 'Win7SP1x64', 'Win10x64_19041', 'Win2016x64')

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the requirement for a profile and the structured output format, which is useful. However, it does not explicitly state that the tool is read-only (non-destructive) or mention potential operational requirements like elevated privileges or performance implications. These gaps leave the agent with incomplete safety information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no fluff. It front-loads the core purpose, states the key requirement, and summarizes the output format. Every sentence earns its place, making it easy to scan and digest for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters, no output schema, and no annotations, the description covers the essential aspects: what it does, the profile requirement, and the nature of outputs. It lacks details on operational edge cases (e.g., handling of malformed images, root privileges), but given the complexity and the read-only nature implied by the tool's purpose, it is reasonably complete for an agent to select and invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all parameters are already documented with examples and descriptions. The description adds the note that a profile must match the OS version, reinforcing the 'profile' parameter, and gives example plugins that align with the schema. Since the schema already provides the necessary semantics, the description adds only marginal value, meriting the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a memory forensics framework for analyzing RAM dumps, explicitly listing what it extracts (running processes, network connections, DLLs, etc.). This distinguishes it from sibling tools that are network scanners, exploit frameworks, or password crackers, so an agent can immediately identify it as the memory-analysis tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes that a matching memory profile is required, which is a key usage prerequisite. While it doesn't explicitly say when not to use it or name alternatives, the unique domain (memory forensics) among siblings makes the use case obvious. It could be improved by stating it's for offline analysis of memory dumps, but the context is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wfuzzA

Feature-rich web application brute-forcer. Fuzzes URLs, POST data, headers, cookies, and authentication. Use for parameter discovery, login brute-force, header injection testing, and custom fuzzing scenarios. More flexible than ffuf for complex fuzzing (multi-point injection, encoders, auth handling). Output: requests with their response codes, line/word/char counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional wfuzz options (e.g. '-d "user=FUZZ&pass=FUZZ"' for POST data fuzzing)
targetYesTarget URL with FUZZ keyword (e.g. 'http://example.com/FUZZ')
wordlistYesPath to wordlist file
filter_codeNoHTTP codes to HIDE from output (e.g. '404,500'). Helps reduce noise.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must disclose behavioral traits on its own. It does state that output includes 'requests with their response codes, line/word/char counts' and mentions 'auth handling' as a capability. However, it does not disclose potential side effects like network load, rate behavior, or prerequisites (e.g., network access, target reachability). It lacks depth about how the tool behaves during fuzzing, making it only partially transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise—three sentences—and front-loaded with a clear purpose ('Feature-rich web application brute-forcer'). It efficiently packs usage scenarios, a comparison to a sibling, and output format without wasted words. Every sentence contributes meaningful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a network fuzzing tool with 100% schema coverage and no output schema, the description covers the main functional scope, usage cases, a key differentiator, and the output format. It lacks some practical context like typical command-line examples (though schema provides some) or guidance on handling authentication failures, but it is sufficiently complete for an agent to invoke the tool correctly in most scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each parameter already has a clear description (e.g., target includes an example with FUZZ keyword, opts includes an example command). The tool description itself adds no additional meaning about parameters; it only reinforces the tool's general purpose. Thus it stays at the baseline of 3 without adding extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool is a 'web application brute-forcer' that 'fuzzes URLs, POST data, headers, cookies, and authentication'. It identifies specific use cases (parameter discovery, login brute-force, etc.) and explicitly differentiates from sibling ffuf by claiming 'more flexible than ffuf for complex fuzzing'. This gives an agent a precise understanding of what the tool does and how it differs from alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists concrete application scenarios ('parameter discovery, login brute-force, header injection testing, and custom fuzzing scenarios') and provides a direct comparison to ffuf ('More flexible than ffuf for complex fuzzing'). However, it does not mention any exclusions or when NOT to use wfuzz (e.g., for simple directory brute-forcing where gobuster/dirb might be better), so it falls short of a full when/when-not distinction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

whatwebA

Passive web technology fingerprinting. Identifies CMS (WordPress, Joomla, Drupal), web frameworks, JavaScript libraries, analytics platforms, CDNs, server software, and more. Use FIRST on any web target to understand the tech stack before running specialized tools. Output: structured list of identified technologies with version numbers where available.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional whatweb options (e.g. '-a 3' for aggressive level)
targetYesTarget URL or IP (e.g. https://example.com)

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It calls the tool 'Passive' but does not explain what that means (e.g., no network activity vs. non-intrusive). It also fails to mention that the tool sends HTTP requests, may require network access, or could be rate-limited. The output format is described, but the operational behavior and potential side effects are omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with purpose and usage directive. Every sentence earns its place, with no filler. The key guidance ('Use FIRST') is prominent and the output format is stated succinctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters and no output schema, the description covers the output structure (structured list with versions) and usage context. It lacks details on potential limitations (e.g., misses obfuscated technologies) and does not mention runtime behavior, but these are minor given the tool's simplicity and the strong usage directive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents both parameters with 100% coverage, so the description adds little beyond what's in the schema. It repeats the aggressive-level example for opts, but does not clarify syntax or edge cases. Baseline 3 applies because the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: passive web technology fingerprinting, and lists specific categories it identifies (CMS, frameworks, libraries, etc.). It also explicitly differentiates from sibling tools by instructing to use it FIRST before specialized tools, making its role unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance to use it first on any web target before specialized tools, implying it's a reconnaissance tool. It does not explicitly state when NOT to use it or name specific alternative tools, but the context is clear enough for an agent to decide. The instruction to run it first is a strong usage signal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wifiteA

Automated wireless attack tool. Handles the full WiFi cracking workflow: interface setup, target scanning, WPA handshake capture, WEP cracking, and WPS PIN attacks — all with minimal user interaction. Use as the primary wireless attack tool for streamlined WiFi security testing. For manual control over individual steps, use aircrack_ng directly. For WPS-specific attacks, use reaver. Output: real-time attack progress and recovered passwords.

ParametersJSON Schema
NameRequiredDescriptionDefault
optsNoAdditional wifite options. Default: --kill (disables interfering network services before starting)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavior. It mentions automation, minimal user interaction, real-time progress output, and recovered passwords. It also notes that --kill disables interfering services by default, which is a notable side effect. However, it could detail other side effects like network disruption or legal warnings, but the current disclosure is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, front-loaded with the core purpose, and every sentence adds value. It covers what, when, alternatives, and output without fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex with many sub-steps, but the description summarizes the workflow well. It does not cover legal/ethical warnings or detailed operational steps, but it does provide the key usage context. Given the lack of annotations and no output schema, it could be more complete, but the description is sufficient for an agent to decide to invoke it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents the opts parameter. The description adds the default value and its effect (--kill disables interfering services), which goes beyond the schema. It doesn't explain other possible opts, but given the single parameter, this is reasonable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is an automated wireless attack tool covering the full WiFi cracking workflow, distinguishing it from manual tools like aircrack_ng and reaver. The purpose is specific and understandable, though it could mention the target device (WiFi networks) more explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear when-to-use guidance: use as primary for streamlined WiFi testing, use aircrack_ng for manual control, and reaver for WPS-specific. It does not explicitly state when not to use it, but the alternatives provide good context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wpscanA

Dedicated WordPress security scanner. Enumerates installed plugins, themes, users, and checks for known vulnerabilities in all of them. Use ONLY when the target is confirmed to be WordPress (verify with whatweb first). Output: WordPress version, vulnerable plugins/themes with CVE references, enumerated usernames.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget WordPress site URL (e.g. https://blog.example.com)
optsNoAdditional wpscan options (e.g. '--enumerate u,p,t' for users, plugins, themes)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses that the tool enumerates components and checks CVEs, and even specifies the output structure (version, vulnerable plugins/themes, usernames). It doesn't mention potential network side effects like WAF alerts, but the read-only scanning nature is strongly implied by 'scanner'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences: what it does, when to use it, and what output to expect. Every sentence earns its place and the critical usage caveat is front-loaded in the second sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a network scanner with no output schema, the description covers the essential decision criteria: purpose, usage prerequisite, and return value. It doesn't explain scan speed or block/rate-limit likelihood, but these are minor given the tool's simple invocation and clearly documented output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters with examples. The tool description adds no extra semantic detail about the parameters beyond what the schema provides; it only reinforces the overall scanning purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Dedicated WordPress security scanner' and enumerates exactly what it does: finds plugins, themes, users, and vulnerabilities. This clearly distinguishes it from sibling tools like nikto or gobuster, which are generic web/enumeration scanners.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states 'Use ONLY when the target is confirmed to be WordPress (verify with whatweb first)' – giving both a strict condition and the correct sibling tool to use beforehand. This leaves no ambiguity about when to select wpscan over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

xsserA

Cross-Site Scripting (XSS) detection and exploitation framework. Tests for reflected, stored, and DOM-based XSS. Use when you find user input reflected in page output. Automatically encodes payloads to bypass filters. For general web vulnerability scanning, use nuclei or nikto. For SQL injection, use sqlmap. Output: identified XSS vectors with payload and injection point.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL with injectable parameter (e.g. 'http://example.com/search?q=test')
optsNoAdditional xsser options. Default: --auto (automatic mode)

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does disclose two useful traits: automatic payload encoding ('Automatically encodes payloads to bypass filters') and output shape ('identified XSS vectors with payload and injection point'). However, it is an 'exploitation framework' yet never discloses operational side effects — that it actively fires payloads at the target, request volume/noise, or authorization expectations — so an agent cannot gauge the impact of invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, roughly 75 words, logically ordered: purpose first, then trigger condition, key behavior, sibling routing, and output. Every sentence earns its place and the most decision-critical info (what it is, when to use it) is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with no output schema, the description covers purpose, trigger, behavior, alternatives, and return format — most of what an agent needs to invoke it. The gap is risk context: an 'exploitation framework' with no annotations should flag that it actively sends attack payloads and is for authorized targets only. That omission is meaningful for offensive tooling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented, including a concrete URL example ('http://example.com/search?q=test') and the --auto default for opts. The description adds mild context for what the URL will be used for but no parameter-level syntax or format details beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'XSS detection and exploitation framework' and enumerates the exact coverage ('reflected, stored, and DOM-based XSS'). It distinguishes itself from sibling tools by routing other vulnerability classes elsewhere ('For SQL injection, use sqlmap'), so an agent can tell xsser apart from sqlmap, nuclei, and nikto without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Use when you find user input reflected in page output' is an explicit, actionable trigger condition. It also names concrete alternatives for adjacent tasks ('For general web vulnerability scanning, use nuclei or nikto. For SQL injection, use sqlmap.'), effectively providing the when/when-not guidance the rubric rewards.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 59 tool updatesv0.1.0
    • First observedaircrack_ng
    • First observedamass
    • First observedarp_scan
    • First observedbettercap
    • First observedbinwalk
    • First observedcewl
    • First observedchisel
    • First observedcommix
    • First observedcrackmapexec
    • First observedcrunch
    • First observeddirb
    • First observeddnsrecon
    • First observedenum4linux
    • First observedevasive_payload
    • First observedevil_winrm
    • First observedexiftool
    • First observedffuf
    • First observedforemost
    • First observedgobuster
    • First observedhash_identifier
    • First observedhashcat
    • First observedhydra
    • First observedimpacket
    • First observedjohn
    • First observedlist_encoders
    • First observedlist_encryption
    • First observedlist_payloads
    • First observedmasscan
    • First observedmimikatz
    • First observedmsf_info
    • First observedmsf_resource
    • First observedmsf_search
    • First observedmsfconsole
    • First observedmsfdb
    • First observedmsfvenom
    • First observednetcat
    • First observednikto
    • First observednmap
    • First observednuclei
    • First observedonesixtyone
    • First observedproxychains
    • First observedreaver
    • First observedresponder
    • First observedrun_command
    • First observedsearchsploit
    • First observedshellcode_to_exe
    • First observedsmbclient
    • First observedsqlmap
    • First observedsteghide
    • First observedsubfinder
    • First observedtcpdump
    • First observedtheHarvester
    • First observedtshark
    • First observedvolatility
    • First observedwfuzz
    • First observedwhatweb
    • First observedwifite
    • First observedwpscan
    • First observedxsser

TDQS

A3.6/5.0

Scored across 59 tools

Disambiguation3/5

There are several overlapping clusters: gobuster/dirb/ffuf/wfuzz all perform web content/fuzzing, nikto/nuclei both scan for vulnerabilities, and john/hashcat overlap in hash cracking. The descriptions consistently call out when to prefer one tool over another, which mostly rescues selection, but the sheer number of similar tools still leaves room for misselection.

Naming Consistency3/5

Most names are the standard lowercase Kali binary names, which is readable, but the set mixes single-word names (nmap, msfconsole), underscore-separated names (arp_scan, list_payloads), and camelCase (theHarvester). There is no consistent verb_noun or category-prefix scheme; msf_ and list_ prefixes appear only on a subset, so naming is not fully predictable.

Tool Count1/5

With 59 tools, this exceeds the 50+ threshold considered an extreme mismatch in the rubric. Even for a Kali-oriented server, exposing nearly six dozen individual tools overwhelms the agent's tool-selection surface and context window.

Completeness4/5

The tool surface covers the main penetration-testing lifecycle: reconnaissance, scanning, web/network vulnerability discovery, exploitation, post-exploitation/AD, password attacks, wireless, and forensics. Minor gaps exist (e.g., no dedicated interactive web proxy or traffic replay tool), but run_command as a fallback and the broad coverage mean most workflows have no dead end.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Connects AI assistants to 55+ Kali Linux security tools for automated CTF solving, penetration testing, and security analysis across 7 categories including cryptography, forensics, web security, and binary exploitation.
    56
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to perform penetration testing and security assessments by exposing 60+ Kali Linux security tools including network scanning, web security testing, password cracking, exploitation frameworks, and OSINT capabilities through an AI-friendly interface.
    2
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to perform authorized penetration testing and security assessments by exposing 20+ Kali Linux security tools (nmap, sqlmap, gobuster, hydra, etc.) through a safe, validated interface with command allowlists, rate limiting, and input sanitization.
    19
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides a containerized Kali Linux environment that gives AI assistants access to a comprehensive suite of security and penetration testing tools. It enables automated vulnerability scanning, network reconnaissance, and secure command execution through the Model Context Protocol.
    24
    MIT