Skip to main content
Glama
rifkyekayama

Kali Linux MCP Server

by rifkyekayama

Kali Linux MCP Server

Python 3.12+ License: MIT Tests

An MCP (Model Context Protocol) server that integrates Kali Linux security tools with AI assistants like Claude. This project enables security professionals to run penetration testing tools, vulnerability assessments, and generate reports through natural language commands.

Architecture

┌─────────────────┐      MCP Protocol      ┌─────────────────┐      SSH/RPC       ┌─────────────────┐
│                 │ ───────────────────▶   │                 │ ───────────────▶   │                 │
│  AI Assistant   │                        │   MCP Server    │                    │  Kali Linux     │
│  (Claude, etc)  │                        │  (This Project) │                    │  Security Tools │
│                 │ ◀───────────────────   │                 │ ◀───────────────   │                 │
└─────────────────┘    Structured Results  └─────────────────┘   Tool Output      └─────────────────┘

The server acts as a bridge between AI assistants and security tools. It receives natural language requests via MCP, translates them into tool commands, executes them on the Kali environment, and returns structured results.

This project bridges AI assistants with professional security tools. Instead of manually running nmap, sqlmap, or metasploit commands, you can describe what you want to do in plain English and let the AI handle the tool execution.

The server exposes 35+ security tools through the MCP protocol, covering:

  • Reconnaissance and port scanning

  • Web vulnerability testing (SQLi, XSS, etc.)

  • Local network scanning and exploitation

  • Metasploit framework integration

  • Browser automation for JavaScript-heavy apps

  • Automated report generation

Related MCP server: Kali-Mcp-Toolkit

Features

Reconnaissance & Scanning

  • scan_website_comprehensive - Full vulnerability assessment covering 25+ attack vectors

  • scan_ports - TCP/UDP port scanning with service detection

  • enumerate_directories - Directory enumeration using Gobuster

  • scan_ssl_tls - SSL/TLS configuration analysis

Injection Testing

  • scan_injection_attacks - Comprehensive injection vulnerability scanning

  • validate_sql_injection - SQL injection validation with proof of concept

  • validate_xss - Cross-site scripting detection and validation

Network Security

  • scan_local_network - Discover devices on local network (auto-detects range)

  • discover_network_clients - ARP-based client discovery with MAC/vendor info

  • get_wifi_passwords - Retrieve saved WiFi credentials (Linux/macOS)

  • scan_host_vulnerabilities - Deep vulnerability scan on specific hosts

  • exploit_smb - SMB vulnerability checks (EternalBlue, MS08-067)

  • scan_wireless_networks - Scan nearby WiFi networks and security

  • run_network_exploit - Brute force tools for SSH, FTP, RDP, VNC

Metasploit Integration

  • connect_metasploit - Connect to Metasploit RPC server

  • search_exploits - Search the exploit database

  • run_exploit - Execute exploits against targets

  • list_sessions - List active shells and meterpreter sessions

  • run_auxiliary - Run scanner and fuzzer modules

Browser Automation

  • scan_javascript_app - Analyze JavaScript-heavy applications

  • capture_screenshot - Full page screenshots

  • crawl_spa - Crawl Single Page Applications

Report Generation

  • generate_pdf_report - Professional PDF vulnerability reports

  • generate_html_report - Interactive HTML reports with filtering

  • export_findings_json - Structured JSON export for integration

Project Structure

kali-linux-mcp/
├── main.py                 # MCP server entry point
├── tools/
│   ├── helpers.py          # Shared utilities
│   ├── reconnaissance.py   # Port/web scanning
│   ├── authentication.py   # Auth testing
│   ├── injection.py        # SQL/XSS testing
│   ├── access_control.py   # IDOR, path traversal
│   ├── network.py          # Local network scanning
│   ├── metasploit.py       # Metasploit integration
│   ├── browser.py          # Selenium automation
│   └── reports.py          # Report generation
├── tests/                  # Test suite (72 tests)
├── pyproject.toml
└── README.md

Installation

Prerequisites

  • Python 3.12 or higher

  • uv package manager

  • Kali Linux (VM, Docker, or OrbStack)

Setup

git clone https://github.com/rifkyekayama/kali-linux-mcp.git
cd kali-linux-mcp
uv sync
uv run python main.py

Setting Up Kali Linux

You need a Kali Linux environment with security tools installed. Here are several options:

OrbStack (macOS)

If you're on macOS, OrbStack is the easiest way to run Kali:

# Install OrbStack
brew install orbstack

# Create Kali machine
orb create kali kali

# Enter the machine
orb -m kali

# Install security tools
sudo apt update && sudo apt upgrade -y
sudo apt install -y metasploit-framework nmap nikto sqlmap gobuster dirb hydra sslscan arp-scan

# Initialize and start Metasploit RPC
sudo msfdb init
msfrpcd -P yourpassword -S -a 0.0.0.0

Docker

docker pull kalilinux/kali-rolling
docker run -it --name kali -p 55553:55553 kalilinux/kali-rolling /bin/bash

# Inside container
apt update && apt install -y kali-linux-headless

VirtualBox / VMware

  1. Download the Kali ISO from kali.org

  2. Create a VM with at least 4GB RAM and 40GB disk

  3. Use bridged networking for local network scanning

  4. Install the security tools listed above

WSL2 (Windows)

wsl --install -d kali-linux

Then install tools inside Kali as shown above.

Claude Desktop Configuration

Add this to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "kali-linux-mcp": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/kali-linux-mcp", "python", "main.py"]
    }
  }
}

Metasploit Connection

Start the RPC daemon on your Kali machine:

msfrpcd -P yourpassword -S -a 0.0.0.0 -p 55553

Then connect through the MCP tool using the Kali machine's IP address.

Example Prompts for AI Models

Once configured, you can use natural language to interact with security tools. Here are example prompts to get started:

Web Application Scanning

Comprehensive Web Vulnerability Assessment:

Run a comprehensive vulnerability scan on https://example.com and generate a PDF report with all findings.

Targeted Vulnerability Testing:

Test https://example.com/login for SQL injection vulnerabilities on the username and password parameters.
Check https://example.com for XSS vulnerabilities in all input fields and forms.

SSL/TLS Configuration Analysis:

Analyze the SSL/TLS configuration of https://example.com and identify any weak ciphers or outdated protocols.

Directory Enumeration:

Enumerate all directories and files on https://example.com using common wordlists.

JavaScript Application Testing:

Scan the JavaScript application at https://app.example.com for client-side vulnerabilities including DOM-based XSS and prototype pollution.

Web Exploitation

SQL Injection Exploitation:

Validate and exploit the SQL injection vulnerability at https://example.com/product?id=1 and extract the database schema.

Authentication Testing:

Test the authentication mechanism at https://example.com/login for weak password policies, session management issues, and account enumeration vulnerabilities.

Access Control Testing:

Test https://example.com/api/users for IDOR vulnerabilities by attempting to access user IDs from 1 to 100.

Comprehensive Web Exploitation:

Scan https://example.com for all injection vulnerabilities (SQL, NoSQL, command injection, template injection) and provide proof of concept for any findings.

Local Network Scanning

Network Discovery:

Scan my local network for all active devices and identify their operating systems and open ports.

Specific Network Range:

Scan the network range 192.168.1.0/24 for active hosts and enumerate all open ports on each device.

WiFi Security Analysis:

Scan for nearby wireless networks and analyze their security configurations.

ARP-based Discovery:

Use ARP scanning to discover all clients on the local network and identify their MAC addresses and vendors.

Network Exploitation

SMB Vulnerability Testing:

Check if the host 192.168.1.100 is vulnerable to EternalBlue (MS17-010) or other SMB exploits.

Service Bruteforce:

Perform an SSH brute force attack on 192.168.1.50 using common credentials.

Deep Host Vulnerability Scan:

Run a deep vulnerability scan on 192.168.1.100 and identify all potential security weaknesses.

Metasploit Operations

Exploit Search and Execution:

Connect to Metasploit, search for Apache Struts exploits, and show me the top 5 most relevant modules.
Use Metasploit to exploit the SMB vulnerability on 192.168.1.100 and establish a reverse shell session.

Auxiliary Modules:

Run the SSH version scanner auxiliary module against 192.168.1.0/24 to identify all SSH servers and their versions.

Report Generation

Multi-format Reporting:

Scan https://example.com comprehensively and generate both HTML and PDF reports with all vulnerabilities categorized by severity.

JSON Export for Integration:

Export all findings from the last scan to JSON format for integration with my vulnerability management system.

Combined Operations

Full Security Assessment:

Perform a complete security assessment of https://example.com including:
1. Port scanning and service enumeration
2. Web vulnerability testing (SQL injection, XSS, CSRF)
3. SSL/TLS configuration analysis
4. Directory enumeration
5. Authentication and access control testing
Then generate a comprehensive PDF report with remediation recommendations.

Network Penetration Test:

Conduct a penetration test on my local network (192.168.1.0/24):
1. Discover all active hosts
2. Scan for open ports and services
3. Check for SMB vulnerabilities
4. Test for weak SSH/FTP credentials
5. Generate a detailed report with findings
TIP

Be specific in your prompts. Include target URLs/IPs, parameter names, and desired output format for best results.

WARNING

Always ensure you have proper authorization before testing any system. Unauthorized security testing is illegal.

Testing

The project includes 72 unit tests with mocked subprocess calls:

# Run all tests
uv run pytest tests/ -v

# Run specific module tests
uv run pytest tests/test_network.py -v

# Run with coverage
uv add --dev pytest-cov
uv run pytest tests/ --cov=tools

Requirements

Python Dependencies

  • mcp >= 1.26.0

  • selenium >= 4.15.0

  • webdriver-manager >= 4.0.0

  • Pillow >= 10.0.0

  • reportlab >= 4.0.0

  • jinja2 >= 3.1.0

  • pymetasploit3 >= 1.0.0

Kali Linux Tools

The following tools should be installed on your Kali machine:

  • nmap (port scanning)

  • nikto (web vulnerability scanner)

  • sqlmap (SQL injection)

  • gobuster (directory enumeration)

  • hydra (password cracking)

  • sslscan (SSL/TLS analysis)

  • metasploit-framework

  • arp-scan (network discovery)

Disclaimer

This tool is for authorized security testing only. Only use it on systems you own or have explicit written permission to test. Unauthorized access to computer systems is illegal.

License

MIT License - see LICENSE for details.

Contact

Available Tools

30 tools
brute_force_loginC

Brute force web login form.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYes
wordlistNo/usr/share/wordlists/rockyou.txt
target_urlYes

TDQS

C2.1/5.0
Behavior1/5

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

With no annotations provided, the description carries full burden, but it only says 'Brute force web login form,' lacking any disclosure about destructive behavior, rate limiting, ethical warnings, or success/failure handling. This is a critical gap for an aggressive tool.

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

Conciseness3/5

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

The description is extremely short, which could be seen as concise, but it lacks essential content. It is front-loaded but fails to earn its place by omitting necessary detail.

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

Completeness1/5

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

Given no annotations, no output schema, 0% schema coverage on parameters, and the tool's high-risk nature, the description is severely incomplete. It does not explain behavior, prerequisites, or results, making it unreliable for agent decision-making.

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

Parameters2/5

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

Schema description coverage is 0%, so description must compensate, but it provides no parameter details. It does not explain what 'target_url,' 'username,' or 'wordlist' mean in context, leaving the agent to infer from names only.

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

Purpose3/5

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

The description states it will 'Brute force web login form,' which gives a specific verb and resource, but it does not differentiate from siblings like 'scan_authentication_mechanisms' or 'validate_sql_injection.' It is clear enough for basic understanding but lacks unique context.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as when a login form is present or what prerequisites are needed (e.g., valid target URL). The description implies usage for brute forcing but gives no explicit when/when-not advice.

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

capture_screenshotC

Capture a screenshot of a web page.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_urlYes
output_pathNo/tmp/screenshot.png

TDQS

C2.2/5.0
Behavior1/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only states a basic action and omits critical details such as rendering engine, page load behavior, error handling, output format, side effects, or whether it captures full page or viewport. This is a significant gap.

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

Conciseness2/5

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

The description is very short (one sentence), but it is underspecified rather than concise. It omits essential information that should be present. A one-sentence description can be sufficient only if it is highly informative, which this is not.

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

Completeness2/5

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

Given the tool's simplicity (2 parameters, no output schema, no annotations), the description should at least explain the output and behavior. It fails to mention that the screenshot is saved to output_path, what the return value is, or any constraints. The schema partially fills in parameters, but the description is incomplete.

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

Parameters1/5

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

The schema has 0% description coverage, and the description does not mention any parameters. It adds no meaning about target_url or output_path beyond their names and types. The default value for output_path is in the schema but not explained in the description.

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

Purpose4/5

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

The description clearly states the action ('capture a screenshot') and the resource ('a web page'). It is specific enough to distinguish from sibling tools, which are mostly security scanners and report generators. However, it could be more precise about the scope (e.g., full-page vs viewport).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, comparison with siblings, or scenarios where it is appropriate. The description is silent on usage context.

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

connect_metasploitC

Connect to Metasploit RPC server.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostNo127.0.0.1
portNo
passwordNomsf

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for disclosing behavior. It only says 'Connect' without explaining what happens upon success or failure, whether a persistent session is established, or authentication details. This is insufficient for an agent to understand side effects or required state.

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

Conciseness3/5

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

The description is a single sentence, which is efficient but at the cost of necessary details. It is not overly long, but it sacrifices completeness for brevity. A balanced description would be longer but still concise.

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

Completeness2/5

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

Given there is no output schema, minimal parameters, and no annotations, the description should provide more context about the tool's purpose within the workflow, return values, or error conditions. It fails to do so, leaving the agent without enough information to determine if the tool is appropriate or correctly invoked.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must add meaning beyond parameter names and defaults. It does not explain what host, port, or password represent, their expected formats, or how they influence the connection. The description adds zero value over the raw schema.

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

Purpose5/5

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

The description clearly states the verb 'Connect' and the resource 'Metasploit RPC server'. This is distinct from sibling tools, which focus on scanning, exploitation, and reporting, so the agent can immediately recognize this as a prerequisite connection tool.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. No mention that it should be called before other Metasploit tools, no prerequisites, and no scenarios where it should not be used (e.g., if already connected).

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

crawl_spaC

Crawl Single Page Applications.

ParametersJSON Schema
NameRequiredDescriptionDefault
max_pagesNo
target_urlYes

TDQS

C2.1/5.0
Behavior1/5

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

With no annotations provided, the description bears full responsibility for disclosing behavioral traits. It only states 'Crawl Single Page Applications,' omitting critical details such as whether the crawl is read-only, destructive, requires authentication, or affects system state. There is no mention of rate limits, delays, or what happens to the target system.

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

Conciseness2/5

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

The description is extremely concise (one sentence), but this is under-specification rather than valuable conciseness. The brief text does not earn its place because it provides no actionable guidance beyond the tool name. A better description would front-load key information while being appropriately detailed.

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

Completeness1/5

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

Given the tool has two parameters, no output schema, and no annotations, the description is radically incomplete. It does not explain what the crawl returns, whether it handles client-side rendering, or any limitations. An agent would have no basis to invoke this tool correctly based solely on this description.

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

Parameters1/5

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

The input schema has 0% description coverage for its two parameters (target_url and max_pages). The description adds no additional meaning beyond the schema; it does not explain the format of target_url, the role of max_pages, or any constraints. Without compensation, this fails to help an agent use the tool correctly.

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

Purpose4/5

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

The description 'Crawl Single Page Applications' clearly specifies the verb 'crawl' and the resource type 'Single Page Applications,' which distinguishes it from siblings like 'scan_website_comprehensive' that may target general websites. However, it lacks specificity on what the crawl entails (e.g., does it execute JavaScript?), leaving some ambiguity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. For example, there is no mention of whether to use it for SPAs versus static sites, or how it differs from 'scan_javascript_app.' The description offers no context about prerequisites or exclusions.

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

discover_network_clientsC

Discover all clients using ARP scan.

ParametersJSON Schema
NameRequiredDescriptionDefault
network_rangeNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It reveals that an ARP scan is used, but fails to mention important traits such as whether elevated privileges are required, potential network impact, or what kind of results are returned (e.g., IP addresses, MAC addresses). This is insufficient for a network 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.

Conciseness3/5

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

The description is extremely concise at five words, but this comes at the cost of critical information. While front-loading is good, the tool lacks essential context that could be added without excessive length.

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

Completeness1/5

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

Given one optional parameter, no annotations, and no output schema, the description is severely incomplete for a network discovery tool. It does not explain the behavior when no network_range is provided, the typical output structure, or how it differs from similar tools in the sibling list.

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

Parameters1/5

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

The only parameter 'network_range' is not described anywhere in the schema or the description. The schema coverage is 0%. The description does not clarify the expected format (e.g., CIDR notation, IP range), whether it is optional, or what happens if omitted. This leaves the agent completely uninformed.

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

Purpose4/5

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

The description clearly states the verb 'Discover', the resource 'clients', and the method 'using ARP scan'. It is specific enough to indicate the tool's function. However, it does not differentiate from nearby siblings like 'scan_local_network' which may also discover clients, missing a chance to clarify scope.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as scan_local_network or scan_wireless_networks. There is no mention of prerequisites, typical scenarios, or when to avoid this tool.

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

enumerate_directoriesC

Enumerate directories on a web target.

ParametersJSON Schema
NameRequiredDescriptionDefault
wordlistNo/usr/share/wordlists/dirb/common.txt
target_urlYes

TDQS

C2.1/5.0
Behavior1/5

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

With no annotations provided, the description must fully convey behavioral traits. It fails to disclose whether the enumeration is passive or active, potential safety risks, required permissions, or output format, leaving the agent without necessary context.

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

Conciseness2/5

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

The single sentence is extremely concise but lacks structure or additional details. While brevity is valued, this under-specification undermines the description's effectiveness; it does not earn its place by providing sufficient information.

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

Completeness1/5

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

Given that the tool has two parameters, no output schema, and no annotations, the description should compensate but offers almost no context. The agent cannot determine how to use the parameters or what the tool returns, making it incomplete for operational use.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must add meaning for both parameters. It does not explain that 'wordlist' is a file path or 'target_url' format. No parameter details are provided, making it inadequate.

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

Purpose4/5

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

The description clearly states the action ('Enumerate directories') and the target ('on a web target'), providing a specific verb+resource. It is distinguishable from sibling tools like 'scan_website_comprehensive' or 'scan_ports', but the description does not explicitly differentiate it.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'scan_website_comprehensive' or 'crawl_spa'. The description only implies usage through its name, lacking any explicit context or exclusions.

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

exploit_smbC

Check SMB vulnerabilities (EternalBlue, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
target_ipYes
check_onlyNo

TDQS

C2.4/5.0
Behavior2/5

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

The description uses 'Check' suggesting a read-only operation, but the tool name 'exploit_smb' implies potential exploitation. The default 'check_only: true' in the schema hints at safe behavior, but the description does not clarify the tool's actual side effects or whether it performs any exploitation by default. With no annotations, the agent lacks clear 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.

Conciseness3/5

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

The description is extremely concise (one sentence), but this brevity comes at the cost of essential details. It is front-loaded but lacks structure or segmentation.

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

Completeness1/5

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

Given the two parameters and no output schema or annotations, the description fails to provide a complete picture. There is no information about return values, error handling, or expected outcomes, leaving the agent with substantial ambiguity.

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

Parameters1/5

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

Schema description coverage is 0%, and the description provides no explanation for the two parameters ('target_ip' and 'check_only'). The agent cannot infer what the IP address is for or what 'check_only' entails beyond its boolean nature.

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

Purpose4/5

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

The description states a specific action ('Check SMB vulnerabilities') and a concrete example ('EternalBlue, etc.'), which clearly identifies the tool's focus on SMB vulnerability assessment. However, it does not explicitly differentiate from sibling tools like 'run_network_exploit' or 'run_exploit' that may also target SMB vulnerabilities.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus the many sibling exploit or scanning tools. There is no mention of prerequisites, limitations, or scenarios where an alternative would be more appropriate.

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

export_findings_jsonC

Export findings to JSON format.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_pathNo/tmp/findings.json
scan_resultsYes

TDQS

C2.1/5.0
Behavior1/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It fails to mention any side effects (e.g., file overwrite, permissions required, size limits, or whether the tool is read-only). The minimal description provides no transparency beyond the basic operation.

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

Conciseness2/5

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

The description is only one sentence and five words, which is concise but under-specified. It sacrifices necessary detail for brevity, failing to earn its place by not aiding tool selection or invocation. A more informative description would be longer but still concise.

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

Completeness1/5

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

Given the tool has two parameters (one a nested object with no schema constraints), no output schema, and no annotations, the description is severely incomplete. It does not explain what the tool returns, how it processes input, or any prerequisites. The agent cannot determine how to correctly invoke this tool from the description alone.

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

Parameters1/5

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

Schema description coverage is 0%, meaning the description adds no value beyond the schema. The description does not explain what 'scan_results' should contain (e.g., expected structure, required fields) or what 'output_path' is used for. It relies entirely on the schema, which for 'scan_results' is an open object with 'additionalProperties: true', leaving the agent without guidance.

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

Purpose4/5

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

The description 'Export findings to JSON format' clearly states a verb (export) and resource (findings to JSON). It distinguishes from sibling report generators like generate_pdf_report and generate_html_report by specifying the format. However, 'findings' is vague and could be ambiguous without context, slightly reducing clarity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., PDF or HTML reports). The description does not mention prerequisites such as needing a prior scan or that findings must be available. Given the presence of multiple report generation siblings, this is a missed opportunity 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.

generate_html_reportC

Generate an interactive HTML report.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_pathNo/tmp/vulnerability_report.html
scan_resultsYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral burden. The description does not disclose that this tool creates a file at a specified path (defaulting to /tmp/), whether it overwrites existing files, its side effects on the file system, or any dependencies on previous scan tools. The word 'interactive' hints at client-side behavior but is vague.

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

Conciseness4/5

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

The description is very short (one sentence), which is efficient. However, it sacrifices necessary details for brevity, resulting in under-specification rather than conciseness. For a report generation tool, a few more sentences would be warranted.

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

Completeness2/5

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

Given the tool's complexity (nested input object, side-effect of file creation, interactive output) and the absence of annotations and output schema, the description is inadequate. It fails to explain what 'interactive' means, what the generated HTML contains, how to interpret results, or any dependencies on other tools.

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

Parameters2/5

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

The input schema has two parameters with 0% schema description coverage. The description mentions 'scan_results' as the required input, but provides no explanation of the expected structure for 'scan_results' (e.g., which fields are required, what format). 'output_path' is not described at all. The schema has a nested 'additionalProperties: true' object, which needs extra clarification that is missing.

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

Purpose3/5

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

The description states 'Generate an interactive HTML report', which is a clear verb+resource combination. However, it does not differentiate this tool from sibling tools like 'generate_pdf_report' or 'export_findings_json', leaving ambiguity about what distinguishes an HTML report from other report formats.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as 'generate_pdf_report' or 'export_findings_json'. It does not specify prerequisites (e.g., scan results from sibling scanning tools) or when not to use this tool.

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

generate_pdf_reportC

Generate a PDF vulnerability report.

ParametersJSON Schema
NameRequiredDescriptionDefault
output_pathNo/tmp/vulnerability_report.pdf
scan_resultsYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states that it generates a PDF, but does not mention whether it overwrites files, requires specific permissions, or if the output_path must be writable. It also doesn't describe the return value or confirmation behavior, leaving the agent with minimal insight into side effects or dependencies.

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

Conciseness4/5

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

The description is a single concise sentence with no padding, which is efficient for a tool with a straightforward purpose. However, given the complexity of the parameters (especially the unstructured scan_results object), a bit more elaboration would be justified without losing conciseness.

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

Completeness2/5

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

Given no output schema, no parameter descriptions, and no annotations, the description is incomplete. The tool accepts an opaque scan_results object (which likely influences report content) and outputs a PDF, but there is no guidance on what makes a valid input or what the output format includes. For a tool intended to work alongside many scanning siblings, more context on expected input structure is needed.

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

Parameters2/5

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

Schema description coverage is 0%, meaning the JSON schema has no description fields for the parameters. The tool description does not compensate—the 'scan_results' parameter is an object with additionalProperties (i.e., arbitrary structure), but no guidance is given on its expected structure or content. The 'output_path' parameter has a default but no explanation of file naming conventions or restrictions. The tool description adds no value beyond the parameter names.

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

Purpose4/5

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

The description clearly states the tool generates a PDF vulnerability report, using a specific verb (generate) and resource (PDF report). It distinguishes from sibling tools like generate_html_report and export_findings_json by specifying PDF format rather than HTML or JSON. However, it doesn't elaborate on the scope or content of the report beyond 'vulnerability', leaving some ambiguity about how comprehensive the report is compared to HTML or JSON output.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives. Sibling tools like generate_html_report and export_findings_json likely serve similar purposes but with different output formats, yet no comparison or conditional advice is given. The context where a user would prefer PDF over HTML or JSON is left entirely to the agent to infer.

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

get_wifi_passwordsC

Retrieve saved WiFi passwords from the system.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior1/5

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

With no annotations present, the description carries full responsibility for disclosing behavioral traits. The single word 'Retrieve' only implies a read operation, but critical details are missing: does this require administrative privileges? Are passwords returned in plaintext? Is there any user prompting? The complete absence of such context makes this tool opaque and potentially dangerous to invoke without additional knowledge.

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

Conciseness5/5

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

The description is exactly one sentence of six words. It is maximally concise with no filler or redundancy. Front-loaded and efficient.

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

Completeness2/5

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

Given the sensitivity of retrieving passwords, the description is severely incomplete. It lacks information about output format, return values (no output schema), security implications, and system impact. For a tool that could expose credentials, the agent needs far more context to use it safely and effectively.

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

Parameters4/5

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

The tool has zero parameters, and the schema coverage is 100% (empty schema). Per guidelines, 0 parameters earns a baseline of 4. The description does not need to add parameter information, and it correctly stays silent. However, it could still hint at implicit inputs (e.g., 'from the current user's system'), but this omission is minor.

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

Purpose4/5

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

The description 'Retrieve saved WiFi passwords from the system' uses a clear verb ('Retrieve') and specific resource ('saved WiFi passwords'). This makes the tool's purpose immediately understandable. However, it does not differentiate itself from sibling tools like scan_wireless_networks, which may have overlapping functionality. A higher score would require explicit mention of scope or uniqueness.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives (e.g., scan_wireless_networks or other tools). No prerequisites, restrictions, or common pitfalls are mentioned. The description provides no help for an agent deciding between tools, making it barely adequate.

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

list_sessionsA

List all active Metasploit sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It states 'active' sessions, implying a filter on state. However, it does not describe whether this fetches from a remote service, or whether the list is mutable (e.g., could drop sessions). The brief description leaves some behavioral ambiguity but is not misleading.

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

Conciseness5/5

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

The description is a single, complete sentence of six words. Every word contributes meaning. No wasted characters. Perfect front-loading.

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

Completeness4/5

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

For a zero-parameter, no-output-schema tool with simple purpose, the description is nearly complete. It could mention the return format (e.g., list of session IDs) but given no output schema, this is a minor gap. The simplicity of the tool makes the description sufficient.

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

Parameters4/5

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

The tool has zero parameters, and schema description coverage is 100% (trivially). The description adds meaning by specifying 'active' and 'Metasploit', which provides context beyond the empty parameter schema. Since there is nothing to document in parameters, the description does its job adequately.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'all active Metasploit sessions'. This is distinct from sibling tools like 'run_exploit', 'connect_metasploit', or 'search_exploits', which have different purposes. The description leaves no ambiguity about what the tool returns.

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

Usage Guidelines3/5

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

The description does not explicitly state when to use this tool over alternatives, but from context it is implied that this is for viewing active sessions after connecting or exploiting, a common Metasploit workflow step. No guidance on prerequisites (e.g., must have an active msfconsole connection) is provided, but the purpose is straightforward enough.

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

run_auxiliaryC

Run a Metasploit auxiliary module.

ParametersJSON Schema
NameRequiredDescriptionDefault
optionsYes
module_pathYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavioral traits. It states the tool runs a module but omits critical details such as whether it requires an active Metasploit session, if it is destructive (e.g., could crash services), what the execution environment is, or how results are returned. This lack of transparency leaves the agent uncertain about safety and dependencies.

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

Conciseness3/5

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

The description is a single sentence, which is concise. However, it is too brief to adequately describe the tool's function and has no structure like a summary or use case, making it minimally acceptable but not earning a higher score.

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

Completeness2/5

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

Given the tool's complexity (no output schema, nested object in options, 0% schema coverage), the description is incomplete. It fails to mention return values, prerequisites (e.g., running Metasploit service), what constitutes a valid module path, or how to troubleshoot errors. Agent must guess critical context.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for the parameters. The description does not explain 'module_path' (e.g., what format, where to find valid paths) or 'options' (e.g., what properties are expected, examples of common options). Without this, the agent cannot infer proper parameter values from the schema alone.

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

Purpose3/5

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

The description states the verb 'Run' and the resource 'Metasploit auxiliary module', which is moderately clear. However, it does not differentiate from sibling tools like 'run_exploit' or 'run_network_exploit', making the specific purpose slightly ambiguous without external knowledge.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. Given siblings like 'search_exploits', 'run_exploit', and 'list_sessions', an agent would benefit from context about when to choose an auxiliary module over an exploit or other actions, but none is provided.

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

run_exploitD

Run a Metasploit exploit module.

ParametersJSON Schema
NameRequiredDescriptionDefault
optionsNo
module_pathYes
target_hostYes
target_portYes

TDQS

D1.8/5.0
Behavior1/5

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

No annotations are present, and the description gives no behavioral insight. It fails to disclose whether the tool is destructive, requires authentication, creates sessions, or has side effects. For a tool named 'run_exploit', the agent needs to know if it triggers real exploits, waits for output, or modifies system state. The description is completely silent.

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

Conciseness2/5

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

The description is a single short sentence, which is concise but severely under-specified. It does not front-load any useful information beyond the name. Given the tool's complexity (4 parameters, Metasploit context), the description is too brief to be helpful.

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

Completeness1/5

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

With no output schema, no annotations, 0% parameter description coverage, and a vague description, the tool is thoroughly incomplete. Sibling tools like 'exploit_smb' or 'run_auxiliary' may have more context, but this description leaves the agent without any understanding of return values, side effects, or how to configure the exploit properly.

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

Parameters1/5

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

Schema description coverage is 0%, and the tool description adds no meaning to the four parameters. 'module_path', 'target_host', 'target_port', and 'options' are named but not explained—e.g., what format for module_path (file path or Metasploit identifier?), target_host (IP or domain?), or what keys options accepts. The agent has no guidance beyond parameter names.

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

Purpose3/5

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

The description 'Run a Metasploit exploit module' identifies the verb and resource clearly, but it is nearly tautological with the tool name 'run_exploit' and lacks specificity to distinguish it from siblings like 'exploit_smb' or 'run_network_exploit'. The purpose is vague, leaving the agent uncertain about which exploit module or context is intended.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. Siblings include many exploit-related tools (e.g., 'exploit_smb', 'run_network_exploit', 'run_auxiliary'), but the description does not indicate prerequisites, typical use cases, or when not to use it. This forces the agent to guess or rely on the name alone.

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

run_network_exploitD
    Run network exploitation tools.
    exploit_type: "ssh_brute", "ftp_brute", "rdp_check", "vnc_check"
    
ParametersJSON Schema
NameRequiredDescriptionDefault
optionsNo
target_ipYes
exploit_typeYes

TDQS

D1.7/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It offers only a bare list of exploit_type values ('ssh_brute,' 'ftp_brute,' etc.) with no details on side effects, required permissions, impact on target systems (e.g., potential intrusiveness, reversibility), or any error handling. The absence of any behavioral or safety information makes it poorly transparent for an exploitation tool.

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

Conciseness2/5

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

The description is only two lines, but one line is a code-like list that should be prose or integrated. While short, it is under-specified to the point of being unhelpful; conciseness at the expense of completeness is not virtuous here. There is no front-loading of key decisions like prerequisites or output.

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

Completeness1/5

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

Given the tool's complexity (3 parameters including a nested object, no output schema, many siblings), the description is drastically incomplete. It fails to explain the required 'target_ip' format, what 'options' contains, what happens on success/failure, or how results are returned. The agent cannot confidently invoke this tool correctly with the provided information.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only mentions 'exploit_type' examples in a code block, not in prose. The 'target_ip' parameter is not explained at all. The 'options' object is present but its semantics (what fields it accepts, default behavior) are entirely undocumented. The description adds marginal value, and with no param docs in the schema, the agent lacks critical context.

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

Purpose2/5

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

The title is null, and the description says 'Run network exploitation tools.' This is extremely vague: it doesn't specify what actions it performs (e.g., brute-forcing, checking credentials), or what resource it operates on beyond a vague 'network.' It lists example exploit types, but the tool name itself ('run_network_exploit') could also describe the sibling 'run_exploit,' causing confusion. It lacks a specific verb-resource combination.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus alternatives. Given 30+ siblings like 'scan_local_network,' 'brute_force_login,' 'exploit_smb,' and 'run_exploit,' the description provides zero context about which scenarios favor this tool. It does not mention prerequisites, when not to use it, or what distinguishes it from similar tools.

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

scan_access_control_vulnerabilitiesC
    Access control vulnerability scanning.
    Covers: IDOR, path traversal, privilege escalation
    
ParametersJSON Schema
NameRequiredDescriptionDefault
target_urlYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavior. It only states 'scanning' but doesn't mention if it's active/passive, authentication requirements, or side effects.

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

Conciseness4/5

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

Two sentences, front-loaded with purpose, no wasted words. However, it could be structured slightly better with more detail.

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

Completeness2/5

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

For a simple tool with one parameter and no output schema, the description lacks completeness; it doesn't explain output format, duration, or any side effects.

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

Parameters1/5

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

Schema description coverage is 0% and description does not mention or explain the target_url parameter, leaving the agent with no additional meaning for the parameter.

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

Purpose4/5

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

Description clearly states it scans for access control vulnerabilities, lists specific types like IDOR, path traversal, privilege escalation, which helps distinguish from sibling tools like scan_authentication_mechanisms or test_idor. However, it could be more precise about the scan methodology.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives such as test_idor or scan_authentication_mechanisms. No prerequisites or context for use.

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

scan_authentication_mechanismsC
    Advanced authentication vulnerability scanning.
    Covers: weak auth, session management, account enumeration
    
ParametersJSON Schema
NameRequiredDescriptionDefault
target_urlYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only lists coverage areas but does not describe whether the scan is destructive, if it might lock accounts, what permissions are needed, or what the output format is. This is insufficient 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.

Conciseness4/5

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

The description is very concise (two sentences, one with a list) with no filler. However, it sacrifices necessary detail for brevity, so it is well-structured but incomplete.

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

Completeness2/5

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

Given the lack of output schema, annotations, and parameter descriptions, the description is inadequate for a scanning tool. It fails to explain what the tool returns, side effects, or how to interpret results, making it incomplete for safe and effective use.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not add any meaning to the sole parameter 'target_url'. The description does not clarify what URL should be provided (e.g., login page, authentication endpoint) or any constraints, leaving the agent to infer.

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

Purpose5/5

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

The description clearly states that the tool performs 'Advanced authentication vulnerability scanning' and lists specific areas covered (weak auth, session management, account enumeration). This clearly distinguishes it from sibling tools like scan_ports or scan_website_comprehensive, providing a specific verb and resource.

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

Usage Guidelines2/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives such as brute_force_login or scan_website_comprehensive. It implies usage for authentication scanning but lacks when-to-use or when-not-to-use advice.

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

scan_client_side_vulnerabilitiesC
    Client-side vulnerability scanning.
    Covers: XSS, DOM XSS, Prototype pollution
    
ParametersJSON Schema
NameRequiredDescriptionDefault
target_urlYes

TDQS

C2.6/5.0
Behavior2/5

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

With zero annotations, the description carries full behavioral burden, but it only lists vulnerabilities covered. It doesn't disclose whether it requires authenticated sessions, whether it executes JavaScript in a browser, impact on web pages (destructive? intrusive?), or rate limiting. The reader knows what is scanned but not how the scan behaves.

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

Conciseness3/5

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

Three short lines, readable and front-loaded with the purpose. However, the bullet list adds value but the description is too sparse overall – not every sentence earns its place because there aren't enough sentences to cover the tool's needs.

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

Completeness2/5

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

Given the tool's focus (client-side vulnerabilities in depth), the complexity is non-trivial, but no output schema exists, no auth hints, no scope of scan (single page vs full site?). The description is incomplete for an agent to confidently invoke this tool correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate but only implies that target_url is the web server to scan. No format expectations (must include protocol? trailing slash?), no guidance on URL types supported. The single required parameter is under-documented.

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

Purpose4/5

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

The description states the specific verb 'scan' and the resource 'client-side vulnerabilities', listing concrete vulnerability types (XSS, DOM XSS, Prototype pollution). This clearly distinguishes it from siblings like 'scan_website_comprehensive' which is broader, or 'scan_injection_attacks' which is server-side. A 5 would require explicit differentiation text.

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

Usage Guidelines2/5

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

No guidance on when to use this vs alternatives like 'scan_website_comprehensive' (which might also cover client-side issues) or 'validate_xss' (a confirmed finding). No prerequisites, preconditions, or when-not-to-use advice provided. The agent must infer from context.

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

scan_host_vulnerabilitiesC

Deep vulnerability scan on a specific host.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_ipYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It states 'Deep vulnerability scan' but fails to explain side effects (e.g., network noise, potential blocking by IDS/IPS), authentication needs, scan duration, or whether the tool modifies the target. The description is critically underinformative 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.

Conciseness3/5

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

The description is a single short sentence, which is concise, but it lacks any structural breakdown (e.g., bullet points for usage or parameters). Every word is used, but the information density is low, making it minimally acceptable.

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

Completeness2/5

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

Given the complexity of a vulnerability scanning tool (no output schema, no annotations, single parameter), the description fails to explain what constitutes a vulnerability scan, return value format, or how it differs from related scans. It is not complete enough for an agent to reliably invoke it.

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

Parameters2/5

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

With 0% schema description coverage and only one parameter (target_ip), the description should clarify what format the IP must be in (IPv4? IPv6? CIDR? Hostname?). No such guidance is given, leaving the agent without necessary semantic context beyond the parameter name.

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

Purpose3/5

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

The description says 'Deep vulnerability scan on a specific host', which clearly indicates the verb (scan) and resource (vulnerabilities, specific host). It distinguishes from sibling 'scan_ports' (port level) and 'scan_website_comprehensive' (website level) by specifying 'host' and 'deep vulnerability scan', but 'deep' is vague and doesn't define scope precisely.

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

Usage Guidelines2/5

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

No explicit when-to-use or when-not-to-use guidance is provided. The description does not mention prerequisites (e.g., network access, permissions) or contrast with sibling tools like 'scan_ports' or 'scan_website_comprehensive'. The agent must infer usage solely from the name and vague description.

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

scan_injection_attacksC
    Comprehensive injection vulnerability scanning.
    Covers: SQL, NoSQL, Command, Template Injection
    
ParametersJSON Schema
NameRequiredDescriptionDefault
target_urlYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure but only lists types covered. It fails to mention whether this is destructive, whether it requires authentication, what the scan's impact on the target is, rate limits, timeout behavior, or how results are returned. This is a significant gap 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.

Conciseness4/5

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

The description is very concise at a few lines, front-loading the purpose and listing coverage. However, it could add more value (e.g., behavioral info) in the same space without becoming verbose.

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

Completeness2/5

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

Given no annotations, no output schema, and only 0% schema description coverage, the description is incomplete for a complex scanning tool. Missing details include scan scope, depth, speed, output format, and safe usage. While listing injection types is helpful, it doesn't reach minimum viability for a tool in a security context with many siblings.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate but only mentions the types scanned. The single parameter target_url is not described at all—the description doesn't clarify format (HTTP/HTTPS, with or without path), whether it accepts IP addresses, or any URL constraints. Without adding meaning beyond the raw schema, this is insufficient.

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

Purpose4/5

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

The description clearly states the tool performs 'comprehensive injection vulnerability scanning' and lists specific injection types (SQL, NoSQL, Command, Template Injection). This is a clear verb+resource statement, though it could be more specific about what 'comprehensive' means and how it differs from validate_sql_injection.

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

Usage Guidelines3/5

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

The description implies use when scanning for injection vulnerabilities but provides no explicit guidance on when to use this tool versus validate_sql_injection, validate_xss, or scan_website_comprehensive. It lacks when-not-to-use scenarios or alternatives.

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

scan_javascript_appC

Scan JavaScript-heavy web applications.

ParametersJSON Schema
NameRequiredDescriptionDefault
wait_timeNo
target_urlYes

TDQS

C2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only says 'scan' without disclosing whether it is destructive, safe, what it does with the JavaScript, or what output to expect. The agent has no behavioral insight.

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

Conciseness2/5

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

The description is a single short sentence, but it is under-specified rather than concise. It lacks structure and essential details, making it insufficient for an agent to use the tool properly.

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

Completeness1/5

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

For a tool with 2 parameters, no output schema, and many siblings, the description is far from complete. It omits parameter descriptions, usage context, and behavioral details, severely limiting its usefulness.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not mention either parameter ('wait_time' or 'target_url'). It adds no meaning beyond the schema types and defaults, leaving the agent to guess their purpose.

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

Purpose3/5

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

The description states 'Scan JavaScript-heavy web applications,' which is a clear verb+resource but is vague and does not distinguish from sibling tools like 'scan_website_comprehensive' or 'crawl_spa'. It lacks specificity on what the scan entails.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. With many sibling scanning tools, the description should explicitly state use cases or exclusions, but it is entirely absent.

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

scan_local_networkB
    Scan local network for devices and open ports.
    network_range: e.g., "192.168.1.0/24" (auto-detected if not provided)
    scan_type: "quick", "full", "stealth"
    
ParametersJSON Schema
NameRequiredDescriptionDefault
scan_typeNoquick
network_rangeNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. 'Auto-detected' network range hints at discovery logic, but the description does not explain side effects (e.g., can be intrusive on network), permissions needed, or what happens if the network is busy. The 'stealth' scan type is mentioned but not defined.

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

Conciseness4/5

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

Three lines are concise and front-loaded with the key purpose. Every sentence adds information. Could be slightly more structured (e.g., using bullet points for parameters) but is efficient as-is.

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

Completeness2/5

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

Given zero annotations, no output schema, and 0% schema coverage, the description is insufficient. It omits important context like whether scanning might be blocked by firewalls, if elevated permissions are needed, approximate time per scan type, or what the output format looks like. For a potentially intrusive network tool, this is a gap.

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

Parameters3/5

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

Schema coverage is 0%, so the description must compensate. It adds meaning for 'network_range' (CIDR format, auto-detection) and 'scan_type' (lists three values: quick, full, stealth), partially bridging the gap. However, it does not explain behavior per type (e.g., what 'quick' vs 'full' means), which is needed for 0% coverage.

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

Purpose5/5

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

The description states 'Scan local network for devices and open ports' with a clear verb+resource structure. It distinguishes from siblings like 'scan_ports' (which likely scans a single host) and 'scan_website_comprehensive' (web-focused) by targeting the local network for device discovery and port scanning.

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

Usage Guidelines3/5

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

The description gives parameter examples but no explicit guidance on when to use this tool versus alternatives like 'scan_ports' (single host), 'discover_network_clients', or 'scan_host_vulnerabilities'. The context is implied but no exclusions or when-not-to-use advice is provided.

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

scan_portsC

Quick port scan on a target.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYes
port_rangeNo1-1000

TDQS

C2.2/5.0
Behavior1/5

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

No annotations are present, so the description carries the full burden. It says 'Quick port scan' but does not disclose how the scan is performed (e.g., connect scan, SYN scan), whether it requires elevated privileges, potential network impact, or what the output looks like. This is a critical omission for a security tool that could trigger alarms.

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

Conciseness3/5

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

The description is a single sentence, which is concise, but it is too terse to be informative. It lacks structure such as behavior, output, or usage notes. For a tool with two parameters, it could be longer without being verbose.

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

Completeness1/5

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

Given the absence of output schema and annotations, the description is severely incomplete. It does not explain what the scan returns, whether it is safe to run in production, how to interpret results, or any security considerations. The tool's simplicity does not excuse the lack of contextual detail.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no information about the parameters. 'target' and 'port_range' are self-explanatory by name, but the description does not clarify the expected format (e.g., IP, hostname for target; '1-1000' is a hint but not explicit). The default value for port_range is given in the schema but not reinforced in the description.

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

Purpose4/5

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

The description 'Quick port scan on a target' clearly states the action (scan) and resource (ports) and identifies the target. It distinguishes from siblings like 'scan_website_comprehensive' which implies a broader scope. However, it does not specify the type of scan (e.g., TCP, UDP) or speed, which would improve clarity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'scan_local_network' or 'scan_website_comprehensive'. There is no mention of prerequisites, limitations, or scenarios where a different tool would be more appropriate.

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

scan_ssl_tlsC

Analyze SSL/TLS configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_urlYes

TDQS

C2.1/5.0
Behavior1/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It merely states 'Analyze SSL/TLS configuration' without detailing whether the tool makes network requests, requires authentication, is destructive, or what it returns. This is a severe transparency gap.

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

Conciseness2/5

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

The description is extremely concise (one sentence of 4 words) but severely under-specified. While brevity is valued, the sentence fails to provide essential context about tool behavior, parameters, or outcomes. It is not efficiently informative.

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

Completeness1/5

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

Given the tool's single parameter, lack of output schema, and absence of annotations, the description should compensate by explaining the scope, output, or side effects. It does not, leaving the agent with insufficient information to use the tool correctly.

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

Parameters1/5

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

The input schema has one parameter (target_url) with 0% schema description coverage. The description does not add any meaning beyond the schema, such as expected format, examples, or constraints. For a required parameter, this omission is critical.

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

Purpose4/5

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

The description states 'Analyze SSL/TLS configuration,' which uses a specific verb ('Analyze') and resource ('SSL/TLS configuration'), making the tool's purpose clear. It distinguishes from siblings like 'scan_website_comprehensive' and 'scan_ports' by focusing on SSL/TLS, but lacks explicit differentiation language.

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

Usage Guidelines2/5

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

No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives, nor does it specify prerequisites, limitations, or exclusions. This leaves the agent without decision support for choosing among sibling security scanning tools.

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

scan_website_comprehensiveC

Run comprehensive vulnerability scan covering 25+ attack vectors.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_urlYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden. It only states that the scan is comprehensive and covers 25+ attack vectors. It does not disclose whether the scan is destructive, requires authentication, has rate limits, or could affect the target system. Essential behavioral traits are missing.

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

Conciseness4/5

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

The description is a single sentence of 7 words, very concise and front-loaded. It earns its place by stating the core purpose, but it sacrifices detail to the point of being too brief for a tool that likely has complex behavior.

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

Completeness2/5

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

Given the tool's broad scope (25+ attack vectors), the description is incomplete. It lacks information about expected output, duration, prerequisites, side effects, and how the results are returned. Without output schema or annotations, the agent cannot fully understand the tool's implications.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning to the single parameter (target_url). It does not explain expected format (URL vs IP), whether protocol is needed, or any constraints. The description completely fails to compensate for the lack of schema documentation.

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

Purpose5/5

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

The description explicitly states the tool runs a comprehensive vulnerability scan covering 25+ attack vectors. This clearly specifies the verb and resource, and the mention of 25+ vectors distinguishes it from more targeted sibling tools like scan_ports or scan_injection_attacks.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The sibling tools include many specific scans (e.g., scan_injection_attacks, scan_ssl_tls), but the description does not indicate that this tool is for a broad initial sweep or that specific tools should be used for deeper analysis on particular vectors.

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

scan_wireless_networksB

Scan for nearby wireless networks.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior1/5

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

There are no annotations to convey safety or side effects, and the description provides no additional behavioral details. It does not disclose whether the scan is passive, what permissions are needed, what output to expect, or any potential impact on the environment.

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

Conciseness5/5

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

The description is a single concise sentence that says exactly what the tool does without any fluff. It is appropriately sized for a zero-parameter, simple scanning tool.

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

Completeness4/5

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

Given the tool's low complexity (no parameters, no output schema), the description is mostly adequate. However, it lacks any mention of return value format, scope of 'nearby', or whether this is a passive scan, which would be helpful for an agent understanding the tool's behavior fully.

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

Parameters4/5

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

The tool has zero parameters and an empty schema, so the description need not explain parameter meanings. The baseline for 0-parameter tools is 4, and the description does not introduce any ambiguity.

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

Purpose5/5

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

The description uses a specific verb ('Scan') and a specific resource ('nearby wireless networks'), making the tool's function immediately clear. It also distinguishes itself from sibling tools like scan_local_network by focusing on wireless networks specifically.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus alternatives. While the purpose is clear, there is no mention of prerequisites, exclusions, or comparison to other scanning tools, leaving the agent to infer usage context.

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

search_exploitsC

Search Metasploit modules by keyword.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
exploit_typeNoexploit

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It fails to mention whether the tool requires an active Metasploit connection, any destructive potential, or rate limits. Since it searches for exploits, it likely triggers no destructive actions, but this is not confirmed.

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

Conciseness4/5

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

The description is a single sentence, concise and to the point. However, it would benefit from a second sentence clarifying the scope (e.g., 'Searches within Metasploit's module database').

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

Completeness2/5

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

Given the tool's simplicity (2 params) but lack of output schema and annotations, the description is incomplete. Agents would not know the response format (list of module names?), whether search is exact or fuzzy, or if it filters by exploit type automatically. The sibling tools list suggests Metasploit integration, which is not clarified.

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

Parameters2/5

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

With 0% schema description coverage and 2 parameters, the description should add meaning but only names 'keyword' for the query parameter. It doesn't explain that 'exploit_type' has a default value or its possible values, leaving the agent to guess. The parameter 'query' is vague—what kind of keyword? Module name, CVE, or free text?

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

Purpose4/5

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

The description clearly states it searches Metasploit modules by keyword, which differentiates it from siblings that scan ports or enumerate directories. However, it doesn't clarify that it searches specifically for exploits/modules within Metasploit, which could be confused with the broader sibling 'scan_host_vulnerabilities'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'run_network_exploit' or 'connect_metasploit'. It doesn't state prerequisites (e.g., Metasploit must be accessible) or when not to use it, which is a significant gap given the specialized sibling tools.

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

test_idorD

Test for Insecure Direct Object Reference.

ParametersJSON Schema
NameRequiredDescriptionDefault
end_idNo
start_idNo
param_nameNoid
target_urlYes

TDQS

D1.3/5.0
Behavior1/5

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

No annotations are present, so the description must fully disclose behavior. It only says 'Test', which does not clarify whether the tool is read-only, modifies state, requires authentication, or has any destructive potential. Essential behavioral traits are entirely omitted.

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

Conciseness2/5

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

The description is a single short sentence, which might seem concise, but it sacrifices substance for brevity. It fails to communicate necessary details, making it under-specified rather than efficiently compact.

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

Completeness1/5

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

Given the tool's complexity (4 parameters, security testing context, many siblings) and absence of annotations or output schema, the description is critically incomplete. It does not explain return values, test methodology, or how parameters control the test, leaving an AI agent with insufficient information.

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

Parameters1/5

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

The input schema has 0% description coverage for its 4 parameters, and the tool description adds no explanation of what each parameter does (e.g., start_id, end_id, param_name). The parameter names alone are insufficient for an agent to construct valid invocations.

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

Purpose2/5

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

Description states 'Test for Insecure Direct Object Reference', which identifies the vulnerability type but does not specify what the test does (e.g., scans, validates, exploits) or how it differs from siblings like scan_access_control_vulnerabilities. The purpose is vague and lacks a specific verb or resource beyond the vulnerability name.

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

Usage Guidelines1/5

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

No guidance is provided on when to use this tool versus alternatives such as scan_website_comprehensive or scan_access_control_vulnerabilities. There are no usage examples, context prerequisites, or exclusions mentioned.

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

validate_sql_injectionD

Validate SQL injection with proof of concept.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadNo
parameterYes
target_urlYes

TDQS

D1.8/5.0
Behavior1/5

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

No annotations are provided, so the description must fully disclose behavioral traits. The description only repeats the tool name and adds 'with proof of concept', which does not explain what actions the tool performs (e.g., sends requests, checks responses, requires authentication), side effects, or rate limits. It is critically lacking.

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

Conciseness2/5

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

The description is extremely short (6 words), which might seem concise, but it is a case of under-specification rather than efficient communication. It does not justify its brevity with thoroughness elsewhere; every sentence should earn its place, but here the single sentence adds almost no value beyond the name.

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

Completeness1/5

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

The tool is moderate complexity (SQL injection validation, 3 parameters, no output schema), yet the description provides none of the context needed for correct use. It fails to explain what constitutes a validation, what the output looks like, or how the payload parameter interacts with the others. Completely inadequate.

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

Parameters1/5

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

Schema description coverage is 0%, meaning the description should compensate by explaining parameters. It does not mention any of the three parameters (target_url, parameter, payload). The agent must infer all meaning from the schema alone, which lacks descriptions.

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

Purpose3/5

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

The description states the verb 'Validate' and the resource 'SQL injection', which distinguishes it from sibling tools like 'validate_xss'. However, it lacks specificity about what validation entails, and the phrase 'with proof of concept' is ambiguous. It does not clearly differentiate from broader tools like 'scan_injection_attacks'.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. No mention of prerequisites, when not to use it, or how it relates to sibling tools such as 'scan_injection_attacks' or 'validate_xss'. The agent receives no decision support.

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

validate_xssD

Validate XSS with proof of concept.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadNo
parameterYes
target_urlYes

TDQS

D1.8/5.0
Behavior1/5

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

No annotations are present, so the description carries the full burden. It does not disclose whether 'validate' is a read-only check or sends malicious payloads (which could be destructive). There is no mention of permissions, rate limits, or side effects, leaving the agent uncertain about the tool's impacts.

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

Conciseness2/5

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

The description is a single sentence but is under-specified. Conciseness should not come at the cost of essential information. The structure is not front-loaded with critical details like behavior, prerequisites, or parameter semantics.

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

Completeness1/5

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

Given the tool has 3 parameters, no annotations, and no output schema, the description is highly incomplete. It omits what the tool returns, how to interpret results, the workflow for validation, and any dependencies. An agent would have insufficient information to use the tool effectively.

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

Parameters1/5

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

Schema description coverage is 0%, meaning the schema itself provides no parameter descriptions. The tool description adds no meaning: it does not explain what 'target_url', 'parameter', or 'payload' represent, how they should be formatted, or what the optional payload defaults to (schema shows default null but no clarification).

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

Purpose3/5

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

The description 'Validate XSS with proof of concept' uses a specific verb ('validate') and resource ('XSS'), and adds 'with proof of concept' to hint at execution. However, it lacks differentiation from sibling tools like 'validate_sql_injection' and 'scan_injection_attacks', leaving ambiguity about what validation specifically entails (e.g., checking for reflected or stored XSS).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor any prerequisites or usage contexts. An agent would not know if this should be used after a scan, for specific payloads, or for verification of a discovered vulnerability.

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

TDQS

C2.5/5.0
Disambiguation3/5

Some tools have clear distinct purposes (e.g., scan_ports vs. scan_ssl_tls), but there is significant overlap between high-level scanners and specific validators (e.g., scan_client_side_vulnerabilities overlaps with validate_xss, scan_injection_attacks overlaps with validate_sql_injection). Also, scan_website_comprehensive and scan_host_vulnerabilities have ambiguous boundaries.

Naming Consistency4/5

Most tools follow a verb_noun pattern (e.g., scan_ports, enumerate_directories, generate_pdf_report) and consistently use snake_case. The deviation is minor, with a few longer names or mixed types (e.g., connect_metasploit vs. get_wifi_passwords), but overall the pattern is predictable.

Tool Count3/5

With 30 tools, the server covers a broad domain, but the count feels slightly heavy for a single server. Several tools could be merged (e.g., redundant scanners/validators), and the inclusion of both scanning and reporting tools expands scope. It approaches the upper limit before becoming unwieldy.

Completeness4/5

The tool set covers the main phases of a security assessment: reconnaissance, scanning, exploitation, and reporting. Notable gaps include no tool for vulnerability prioritization or post-exploitation beyond Metasploit. However, core workflows like scanning, exploiting, and reporting are well-represented.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    F
    maintenance
    An MCP server that integrates various penetration testing tools, enabling security professionals to perform reconnaissance, vulnerability scanning, and API testing through natural language commands in compatible LLM clients like Claude Desktop.
    7
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that exposes over 500 Kali Linux security tools to AI models for automated penetration testing and security auditing. It includes modules for tool execution, interactive terminal management, and sandboxed code editing across 12 security categories.
    16
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    A penetration testing MCP server that runs 20 hacking tools inside a Kali Linux Docker container, enabling AI assistants to execute security scans and attacks via natural language.
    2

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rifkyekayama/kali-linux-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server