WebSex
Provides executable-backed access to Metasploit within offensive security workflows, enabling exploitation and scanning capabilities through the MCP toolkit.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WebSexrun an XSS probe against https://app.example.com/search?q=test"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WebSex
Container-native offensive security MCP toolkit with evidence-backed vulnerability playbooks.
What it is
179 MCP tools: 107 executable-backed scanners (nmap, nuclei, sqlmap, dalfox, ffuf, metasploit, ghidra, ...), 52 native/workspace/browser/HTTP workbench tools, and 20 playbook probes — deterministic, evidence-first vulnerability checks.
Playbooks (
websex_*_probe): XSS reflection+context classification, boolean/time SQLi oracles with controls, SSTI math canaries, command injection echo/timing canaries, path traversal file-read, 401/403/405 bypass matrix, SSRF canary reads, open redirect confusion matrix, IDOR/BFLA/mass-assignment authorization diffs, CORS/CSRF posture, CRLF header injection, Host header poisoning, JWT algorithm/secret abuse against a live oracle, race bursts, and business-logic value abuse.Scope guard: every probe validates the URL against the engagement's declared targets before a single request leaves the container.
Engagements: persistent namespaces with evidence artifacts; every probe run is persisted as JSON under
evidence/websex/.Hardened executor: argv-token execution (never a shell), wall-clock deadline (default 300s), bounded output capture (default 2 MiB) with truncation markers, process-group kill on timeout/cancel.
Related MCP server: Arsenal MCP
Findings policy
Probe output contains review_items classified as high-confidence
(deterministic proof in the captured bytes: canary reflected raw, forged
token accepted, oracle answered) or review (evidence-backed lead for the
caller to confirm). Full request/response steps accompany every result.
MCP config
{
"mcp": {
"websex": {
"type": "local",
"enabled": true,
"command": ["docker", "exec", "-i", "websex", "websex-mcp"]
}
}
}Container
docker build -t websex:1.0.0 .
docker run -d --name websex -v websex-workspace:/workspace websex:1.0.0
docker exec websex websex-mcp --self-testDevelopment
pip install -e .
websex-mcp --self-test
# local verification against the deliberately vulnerable app
python3 tests/vulnapp.py &
python3 tests/live_playbooks.pyLicense
Apache-2.0. See LICENSE.
Available Tools
179 toolswebsex_access_bypass_probeB
401/403/405 bypass matrix: method sweep, forwarding/origin headers, X-Original-URL rewrite, path-shape mutations, case/encoding tricks, host confusion. Confirmed by status flip away from the block page.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | No | GET | |
| headers | No | ||
| extra_paths | No | ||
| max_requests | No | ||
| engagement_id | Yes | ||
| follow_redirects | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the confirmation heuristic ('status flip away from the block page'), which is genuinely useful behavioral context, but says nothing about request volume/noise (max_requests defaults to 40), auth requirements, or whether follow_redirects affects interpretation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences: technique inventory first, then the success criterion. Dense and front-loaded with essentially no filler, though the comma-separated technique list is somewhat terse rather than structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists so return values needn't be explained, and the technique scope is covered. However, for an 8-parameter active-probing tool with zero annotations and zero schema descriptions, key operational details (request budget, redirect handling, engagement scoping) are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 8 parameters, so the description has to compensate. It implicitly maps to method (method sweep), headers (forwarding/origin headers), and extra_paths (path-shape mutations), but leaves body, max_requests, follow_redirects, and engagement_id entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific capability (401/403/405 bypass probing) and enumerates the exact technique classes it performs, so an agent can distinguish it from narrower siblings like websex_host_header_probe or websex_traversal_probe. It doesn't explicitly name those siblings as alternatives, which keeps it at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trigger condition is implied by '401/403/405' (use it when you encounter block responses), but there is no explicit when-to-use/when-not guidance and no routing to alternative tools for adjacent cases like host-header or path traversal. Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_aircrackB
Run aircrack from the WebSex wireless toolkit. The container executes aircrack-ng directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that aircrack-ng is executed directly with argv tokens and that shell parsing is never used (clarifying injection behavior), plus that it runs from the engagement namespace with relative artifact paths. It does not, however, state the safety profile (this is a CPU-heavy read against capture files), permission requirements, or expected runtime.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the purpose front-loaded ahead of execution and path mechanics. Every sentence contributes context and there is no filler, though it could be tightened slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. The description adequately covers execution semantics and working-directory conventions, but for a four-parameter tool with zero schema documentation, an agent still lacks guidance on routing (vs. airodump/aireplay) and on the undocumented stdin parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, so the description must compensate. It partially does by framing 'arguments' as argv tokens that bypass shell parsing and by implying 'working_directory' via relative engagement paths, but it never mentions 'stdin' and never maps 'engagement_id' explicitly. Several parameters remain semantically opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Run aircrack from the WebSex wireless toolkit.' An agent can tell this invokes the aircrack-ng cracking binary, distinguishing it from wireless siblings like airodump (capture) and aireplay (injection). It stops short of naming those siblings explicitly, so differentiation is inferential rather than spelled out.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no statement of prerequisites (e.g., a captured .cap file already produced by airodump), and no named alternatives among the wireless siblings. The context that this is the post-capture cracking step is only weakly implied by the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_aireplayB
Run aireplay from the WebSex wireless toolkit. The container executes aireplay-ng directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full burden. It usefully discloses that shell parsing is never used (argv tokens passed directly) and the engagement namespace/relative-path scoping, which is genuinely beyond a schema. However it omits key operational traits for a wireless injection tool: monitor-mode requirement, whether it is disruptive/destructive to the target network, and permission prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the operation then the execution semantics and path convention. No filler, though it could have spent its brevity budget on the undocumented parameters instead.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Return values are covered by the output schema, but for a four-parameter tool with 0% schema coverage and zero annotations the description leaves too much unstated: engagement_id and stdin are never described, and no prerequisites (wireless interface, monitor mode) are given. Inadequate for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description only loosely maps 'supplied argv tokens' to the arguments array and 'relative paths' to working_directory. It says nothing about engagement_id (a required param) or stdin, so half the parameters remain unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: run 'aireplay' via the container executing 'aireplay-ng' with supplied argv tokens. The tool's identity as a wireless injection/replay utility is unambiguous and distinguishable from airmon/airodump/aircrack siblings. It stops short of explicitly contrasting its role against those siblings, keeping it at a 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides implied usage context ('runs from the selected engagement namespace', 'use relative paths for engagement artifacts') but never says when to reach for this versus airodump, airmon, or aircrack. No exclusions or alternatives are named, so the agent must infer routing from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_airmonB
Run airmon from the WebSex wireless toolkit. The container executes airmon-ng directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does add real value: it discloses that `airmon-ng` is invoked directly with argv tokens and that shell parsing is never used, which tells the agent how inputs are handled. It stops short of stating privilege requirements (airmon-ng typically needs root), side effects such as toggling monitor mode, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences that front-load the core action (run airmon) before the execution-model and path details. No filler, though the middle sentence is doing double duty as both behavior disclosure and parameter clarification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers the execution model and namespace/path conventions. It omits privilege and side-effect information that matter for a wireless monitor-mode tool, so an agent could invoke it without knowing it likely needs root.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It clarifies three of the four params indirectly: `arguments` are raw argv tokens, `engagement_id` selects the namespace, and `working_directory` supports relative engagement paths. The `stdin` parameter is never mentioned, leaving one gap at full-schema coverage risk.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: runs `airmon` (airmon-ng) from the WebSex wireless toolkit, with the argv-token execution model made explicit. It does not, however, differentiate this tool from its close siblings aircrack, airodump, and aireplay, so an agent still has to infer the role of airmon within the aircrack-ng suite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational context (runs from the selected engagement namespace, use relative paths for artifacts) but no when-to-use/when-not guidance relative to the other wireless tools. There is no statement of prerequisites such as monitor-mode or root requirements, and no alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_airodumpC
Run airodump from the WebSex wireless toolkit. The container executes airodump-ng directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It usefully discloses that argv tokens are passed directly with no shell parsing (a real execution-model detail) and that it runs in the engagement namespace. It omits significant operational traits: monitor-mode/adapter requirements, the long-running capture nature, output file behavior, and any destructive or resource implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action, followed by execution-model and namespace constraints. Three compact sentences with little waste; nothing is padded, though the middle clause could be tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but for a 4-parameter, zero-coverage, annotation-free tool the description is thin. It never explains what engagement_id is, what airodump requires (e.g., monitor mode), or how results/captures are produced, leaving real gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It gestures at two of four parameters (argv tokens map to 'arguments', relative paths touch on 'working_directory'), but 'engagement_id' is never explained (format, meaning, where it comes from) and 'stdin' is ignored entirely, leaving core inputs under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ("Run airodump from the WebSex wireless toolkit") and pins the exact binary (airodump-ng), distinguishing it from wireless siblings like aircrack, aireplay, and kismet. It does not, however, say what airodump actually accomplishes (wireless packet capture/monitoring), so an agent unfamiliar with the tool gains less.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to reach for airodump versus sibling wireless tools such as websex_aircrack, websex_aireplay, or websex_kismet. The namespace/path note is an operational constraint, not a when-to-use signal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_amassB
Run amass from the WebSex enumeration toolkit. The container executes amass directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that arguments are passed as argv tokens with shell parsing never used (so no shell expansion/injection semantics) and that it runs from the engagement namespace. It does not state permissions, network behavior, or whether the operation mutates anything, which is a gap for an unannotated execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, and each adds a distinct piece of information about execution or path handling. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the execution model (argv, cwd, namespace) is covered. However, the 0%-documented stdin parameter and the absence of any indication of what amass actually enumerates leave an agent with gaps for a 4-param execution wrapper.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 params, so the description must compensate. "Supplied argv tokens" maps to the arguments array, "runs from the selected engagement namespace" hints at engagement_id, and "relative paths for engagement artifacts" hints at working_directory. The stdin parameter is left entirely unexplained, so compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Run amass from the WebSex enumeration toolkit"), which tells an agent this is a subdomain/enumeration wrapper. It doesn't differentiate from siblings like websex_subfinder, websex_dnsenum, or websex_theharvester, so the agent still has to know what amass does versus those tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational instructions ("runs from the selected engagement namespace", "use relative paths") but no guidance on when to choose amass over the many sibling enumeration tools. There is no when-to-use, no exclusions, and no named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_anewC
Run anew from the WebSex web toolkit. The container executes anew directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does add real behavioral detail: argv-token execution with no shell parsing (a meaningful safety/invocation note) and namespace-scoped working directory. However, it omits that anew mutates files by appending/deduplicating lines, and says nothing about side effects or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the execution model front-loaded and no filler. Slightly dense and arguably too terse on the tool's actual function, but structurally efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But for a 4-parameter tool with zero schema coverage and no annotations, the description leaves the tool's core behavior (what anew does, what it writes) and one parameter undocumented, which is a substantial gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It partially does: it clarifies that 'arguments' are raw argv tokens (not shell-parsed) and that working-directory paths are relative to the engagement namespace. But the optional 'stdin' parameter is never mentioned, and engagement_id is only obliquely covered by 'engagement namespace'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a specific verb+resource ('Run anew from the WebSex web toolkit'), which identifies the wrapped binary but never says what anew actually does (line deduplication / appending new lines to a file). An agent unfamiliar with the binary cannot infer the tool's function from the description alone. Sibling differentiation is only by tool name, not by capability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes it runs from the selected engagement namespace and to use relative paths for artifacts, which is context, but it gives no when-to-use guidance and no comparison to adjacent tools like websex_grep, websex_bash, or websex_execute. No exclusions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_angr_analyzeC
Analyze a workspace binary with the angr Python library.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| engagement_id | Yes | ||
| auto_load_libs | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing: no note that angr analysis is computationally expensive/long-running, no prerequisites (valid ELF/PE, 32/64-bit support), no permission or engagement requirements, no statement of what is produced. Only the implicit 'workspace binary' scoping constraint is communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the core verb-resource-engine front-loaded and no wasted words. Its brevity reflects under-specification rather than tight editing, but structurally it is clean.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, with zero annotation coverage, zero schema description coverage, and two required parameters, the description leaves an agent without the prerequisites, runtime cost, or parameter meaning needed to invoke this reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across all three parameters, so the description must compensate and it barely does. 'Workspace binary' hints that path resolves inside a workspace and that engagement_id scopes the operation, but auto_load_libs (default false) is left entirely unexplained despite materially changing angr's behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Analyze) and resource (a workspace binary), and names the underlying engine (angr Python library), which signals symbolic execution/CFG analysis rather than the static dumping that siblings like objdump or strings perform. It does not explicitly differentiate itself from websex_ghidra, websex_radare2, or websex_objdump, but the engine name carries most of that distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives among the many binary-analysis siblings. An agent must infer that angr means symbolic execution and that heavy analysis is warranted; nothing in the text routes it there.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_api_fuzzB
Run a caller-bounded, single-parameter API fuzz matrix against an authorized target and preserve complete response evidence. The caller selects payloads and max_requests.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| method | Yes | ||
| headers | No | ||
| base_url | Yes | ||
| location | Yes | ||
| payloads | Yes | ||
| base_body | No | ||
| parameter | Yes | ||
| max_requests | Yes | ||
| engagement_id | Yes | ||
| follow_redirects | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose useful traits: the run is caller-bounded via max_requests and complete response evidence is preserved. It omits rate limiting, error/failure handling, and what 'authorized' concretely requires, so gaps remain for a network-touching fuzzer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler, front-loading the core action before the caller-control note. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter, 8-required tool with zero schema coverage and no annotations, the description leaves key input semantics undocumented (e.g., location, method, base_url). The output schema covers return values, but the input side is substantially under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 parameters, so the description must compensate, yet it only clarifies two of them (payloads, max_requests). The semantics of location, method, base_url, engagement_id, parameter, and follow_redirects are left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (fuzz) and resource (single-parameter API fuzz matrix) with clear scope modifiers: 'caller-bounded' and 'single-parameter'. This meaningfully separates it from generic request tools like http_intruder, though it does not name any sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'against an authorized target' implies an authorization prerequisite, but there is no guidance on when to prefer this over siblings such as http_intruder, wfuzz, or the atomic probe tools. The only steering ('caller selects payloads and max_requests') is about inputs, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_arjunC
Run arjun from the WebSex web toolkit. The container executes arjun directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose meaningful execution semantics: argv tokens are passed directly, shell parsing is never used (no shell injection), and the process runs from the engagement namespace. It stops short of disclosing anything about network reach, runtime, or what the tool produces, so a 3 is warranted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, no filler or repetition. It is tight, though it spends its budget on execution mechanics rather than the information an agent most needs (what the tool discovers).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a 4-parameter tool with 0% schema coverage the description leaves too much unsaid: no statement of what arjun discovers, no selection guidance against two close siblings, and no runtime or scope expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It usefully clarifies the most important parameter by stating that 'arguments' is a raw argv token list rather than a shell string, and the relative-path note touches working_directory. However, stdin and engagement_id are left entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only restates the tool name: 'Run arjun from the WebSex web toolkit.' It never says what arjun does (HTTP parameter discovery) or what it targets. With siblings websex_paramspider and websex_x8 covering the same domain, there is no differentiation at all, so an agent unfamiliar with the binary cannot pick it correctly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of the obvious alternatives (paramspider, x8) that would let an agent choose. The only usage-like sentence concerns namespace and relative paths, which is an operating instruction rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_arp_scanB
Run arp scan from the WebSex network toolkit. The container executes arp-scan directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses two useful behavioral traits: shell parsing is never used (argv tokens passed directly) and it runs within the selected engagement namespace. Key details are still missing, such as required privileges, timeout behavior, and what the output contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the tool's purpose and augmented by operational notes. Efficient, though slightly terse for a security tool without annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a network scanning tool with no annotations, no schema descriptions, and a complex argument-list parameter, the description is thin. The output schema existence means return values needn't be described, but the lack of privilege requirements, timeout expectations, and argument format leaves significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only vaguely references 'supplied argv tokens' and 'relative paths for engagement artifacts', leaving engagement_id, arguments, stdin, and working_directory largely undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Run arp scan) and resource (WebSex network toolkit / arp-scan), so the purpose is unambiguous. It does not explicitly name a sibling alternative such as websex_nmap or websex_netbios_scan, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through 'Run arp scan' and 'Runs from the selected engagement namespace', and the path guidance ('use relative paths for engagement artifacts') gives some operational context. However, it does not state when to prefer arp scan over alternatives like websex_nmap, websex_netbios_scan, or websex_network_mapper, so guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_attack_chainC
Order caller-supplied findings into a reviewable severity-based attack chain.
| Name | Required | Description | Default |
|---|---|---|---|
| findings | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses that input is caller-supplied and output is a severity-based ordered chain, but it does not explain ordering logic, side effects, permissions, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler. It communicates the action and result immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, the input schema is opaque and annotations are absent; the description does not specify what a 'finding' must contain or how severity is derived, leaving the agent under-informed for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the sole parameter is an array of unconstrained objects. The description labels it 'caller-supplied findings', which gives minimal semantic context, but it does not describe the expected finding structure, severity field, or required keys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb ('order') and resource ('caller-supplied findings'), plus the output form ('reviewable severity-based attack chain'). It does not explicitly differentiate itself from sibling findings-oriented tools such as websex_finding_report or websex_scan_summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance or alternatives are given. The description implies the tool is used once findings already exist, but it does not say when to choose it over sibling tools like websex_finding_report or websex_scan_summary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_autoreconA
Run autorecon from the WebSex network toolkit. The container executes autorecon directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does meaningful work: it discloses that the container executes autorecon directly with argv tokens and that shell parsing is never used (an injection/quoting-relevant detail), plus that it runs from the engagement namespace with relative paths. It omits permissions, runtime duration, and network-impact caveats for an active scanner.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the purpose and followed by execution semantics; no filler. It is appropriately sized, though it could tie the operational notes more tightly to the argument/namespace parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers the key execution semantics an agent needs. Still, for an active recon tool with zero annotations it could say more about scope/permissions and the undocumented stdin parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate for four undocumented parameters. It clarifies that 'arguments' are raw argv tokens passed without shell parsing and that relative paths apply to engagement artifacts (working_directory/engagement_id), but it says nothing about 'stdin', leaving one parameter with no semantic guidance anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Run autorecon from the WebSex network toolkit'), so an agent immediately knows this invokes the autorecon orchestrator. It does not, however, position itself against the many sibling recon tools (nmap, rustscan, masscan) that could also be chosen.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the tool name: run automated recon via autorecon. There is no explicit when-to-use/when-not or routing to alternatives like nmap or rustscan, though the note about running from the engagement namespace offers some operational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_bashB
Run an arbitrary Bash script inside the WebSex container from the selected engagement directory. Supports pipelines and redirection; the container is the trust boundary. Execution is asynchronous and client-cancellable.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| script | Yes | ||
| environment | No | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real behavioral context: asynchronous execution, client-cancellability, pipeline/redirection support, and the container as the trust boundary. However, it does not disclose the destructive potential of running arbitrary code, permission/auth requirements, or how output and cancellation results are surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the primary action front-loaded, followed by capabilities and execution model. No filler; every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema spares the description from explaining return values, and the execution model is described. But for a five-parameter arbitrary-code-execution tool with zero annotation coverage and 0% schema descriptions, the missing parameter semantics and safety details leave notable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across five parameters, so the description should compensate, yet it only vaguely gestures at 'engagement directory' and says nothing about stdin, environment, or working_directory. The remaining parameters are undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: running an arbitrary Bash script inside the WebSex container, scoped to the selected engagement directory. Clear on its own, but it never names the obvious siblings (websex_execute, websex_python), so an agent gets no differentiation among the several execution tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no reference to alternatives like websex_execute or websex_python. The 'container is the trust boundary' line is context, not routing, so the agent must infer when Bash execution is preferred over the other execution tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_bfla_probeB
Function-level authorization: privileged verbs (POST/PUT/PATCH/DELETE) replayed as low-privilege identity vs privileged identity; fires when low-priv reaches the same success.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| methods | No | ||
| max_requests | No | ||
| engagement_id | Yes | ||
| low_priv_headers | Yes | ||
| privileged_headers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It discloses the internal mechanism well (paired low/privileged replay, success-differential trigger), but never warns that it issues live POST/PUT/PATCH/DELETE requests that may mutate target state, nor does it mention request volume or max_requests-capped throttling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the technique front-loaded and no filler. Efficient, though the semicolon-clause packs several concepts together and could be split for scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a 7-parameter, state-changing, annotation-free probe the one-sentence description is materially under-specified: no credential prerequisites, no destructive-action caveat, no indication of scope or volume, and no parameter guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, so the description must compensate and does not. It only obliquely maps 'identity' to the two header objects and names the privileged verbs; engagement_id, url, body, methods, and max_requests are entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the specific vulnerability class (function-level authorization) and states the exact mechanism – privileged verbs replayed under two identities – with the detection trigger. It is distinguishable from siblings like websex_idor_probe and websex_access_bypass_probe, though it never uses an explicit 'this tool probes X' verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The firing condition implies when results matter, but there is no statement of when to choose this over websex_access_bypass_probe or websex_idor_probe, and no prerequisites (e.g. requires a known endpoint and two sets of credentials). Usage is inferable only from the technique name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_binwalkB
Run binwalk from the WebSex binary toolkit. The container executes binwalk directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real behavioral traits: binwalk is executed directly with argv tokens and 'shell parsing is never used', which tells the agent about injection safety and argument handling. It still omits what binwalk actually does at runtime (extraction writes files, may recurse into embedded archives) and the namespace/working-directory semantics are only partially explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences with the core action front-loaded first, then the execution model, then the namespace/path guidance. Little waste, though 'from the WebSex binary toolkit' is mild boilerplate that could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and the shell-safety plus namespace notes are useful. However, for a tool with zero annotation and zero schema-description coverage, the description leaves the agent without enough detail on invocation semantics (how argv tokens are passed, engagement scoping) and on binwalk's own extraction side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate. It maps loosely onto 'arguments' (argv tokens), 'working_directory' (relative paths), and 'engagement_id' (engagement namespace), but it never addresses 'stdin' and provides no format or syntax detail for any parameter, so the compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run binwalk') and identifies the toolkit it belongs to. However, it does not differentiate itself from similarly-purposed carving/extraction siblings such as websex_foremost, websex_scalpel, websex_bulk_extractor, or websex_zsteg, leaving the agent to rely on outside knowledge of binwalk's firmware-analysis niche.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says it 'runs from the selected engagement namespace' and to 'use relative paths for engagement artifacts', which is context about how to invoke it, but it gives no when-to-use guidance versus alternatives and no exclusions. There is no indication of which file types or scenarios should route an agent here instead of a sibling extraction tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_browser_actionC
Perform a selector-based browser action: click, fill, type, clear, press, check, uncheck, select, or hover.
| Name | Required | Description | Default |
|---|---|---|---|
| value | No | ||
| action | Yes | ||
| selector | Yes | ||
| session_id | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it says nothing about side effects, whether actions auto-wait for element readiness, what happens on a missing selector, or whether fill replaces versus appends text. The action list is a useful vocabulary but not behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the action enumeration is substantive content rather than padding. It is tight, though the flat list could be grouped by category (text entry vs toggles vs pointer).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, but for a mutating browser tool with zero annotations, 0% schema coverage, and four required parameters, the description omits session prerequisites, selector format, and failure behavior — too little for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, and the description only indirectly covers the 'action' parameter by listing valid values. It never explains selector syntax (CSS vs XPath), which actions consume 'value', or what session_id/engagement_id must reference, leaving required inputs undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('selector-based browser action') and enumerates the concrete actions supported, so an agent knows this mutates a page element rather than navigating or capturing. It does not explicitly distinguish itself from siblings like websex_browser_evaluate or websex_browser_set_state, which also act on a live session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention that an existing browser session/engagement is required, and no routing to alternatives such as websex_browser_evaluate for JS-driven interactions or websex_browser_navigate for page loads. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_browser_closeB
Close a live browser context and release its Chromium resources. Unlike engagement close, this has real process lifecycle semantics.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does add useful lifecycle context ('real process lifecycle semantics', 'release Chromium resources'), signalling an irreversible teardown, but it omits whether the operation is idempotent, what happens on an invalid or already-closed session, and any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded; the second sentence adds differentiation value rather than filler. Minor waste in the vague 'engagement close' reference.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but with no annotations and 0% parameter coverage this destructive lifecycle tool should say more about error behavior, idempotency, and prerequisites than it does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both required parameters, and the description says nothing about what engagement_id and session_id refer to or how they relate. An agent must infer that session_id identifies the target context and engagement_id scopes it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (close) and resource (live browser context), plus the effect (release Chromium resources). It attempts sibling differentiation via 'unlike engagement close', but that referenced tool is not present in the sibling list, so the contrast is only partly useful; the actual siblings (browser_create, browser_get, browser_list) are not named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Close a live browser context' implies the context in which to use it (tearing down an active browser session), but there is no explicit when-not guidance, no mention of what to do if the context is already closed, and no pointer to the sibling that manages browser lifecycle.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_browser_createB
Launch an isolated headless Chromium context inside the WebSex container and return a server-generated browser session ID bound to the engagement.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| user_agent | No | ||
| engagement_id | Yes | ||
| extra_headers | No | ||
| viewport_width | No | ||
| viewport_height | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the context is isolated and headless (Chromium), and that the session ID is server-generated and engagement-bound. However, it omits session lifetime/expiry, resource cost, and whether a matching close is required to release resources.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the core action and the returned artifact with zero filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The presence of an output schema means return values needn't be explained, but for a 6-parameter session-creation tool with no annotations and 0% schema coverage, the description leaves too many gaps: parameter meaning, session lifecycle, and cleanup requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 6 parameters, and the description explains none of them. Only the 'engagement' binding hints at engagement_id; name, user_agent, extra_headers, and viewport dimensions are left entirely undocumented in both the schema and the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Launch an isolated headless Chromium context' and clarifies it returns a session ID bound to an engagement. This clearly distinguishes it from siblings like browser_navigate or browser_action, though it doesn't name those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is a session-creation step but gives no explicit when-to-use guidance, no mention that it must precede navigate/action calls, and no exclusion of alternatives. An agent must infer the lifecycle from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_browser_evaluateC
Evaluate JavaScript in the active page and return its serializable result.
| Name | Required | Description | Default |
|---|---|---|---|
| argument | No | ||
| expression | Yes | ||
| session_id | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden but only mentions that the result is serializable. It omits critical traits for arbitrary JavaScript execution, such as side effects on the page, network access, error behavior, and whether the operation is sandboxed or destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It states the action, scope, and return constraint immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists and covers return values, the description is insufficient for a tool that executes arbitrary JavaScript in a browser session. It lacks usage context, safety implications, parameter explanations, and session/engagement prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, and the description adds no meaning beyond the schema. It does not explain the purpose of argument, session_id, or engagement_id, nor does it clarify expression syntax or expected format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Evaluate'), resource ('JavaScript'), and scope ('active page'), clearly setting it apart from sibling browser tools like snapshot, action, or navigate. An agent can understand the core operation without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 such as websex_browser_action, websex_execute, or websex_python. There are no prerequisites, exclusions, or contextual triggers to help an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_browser_getB
Inspect one live WebSex browser session, including URL, title, network event count, and interception rules.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full disclosure burden. 'Inspect' plus 'live session' implies a read-only lookup, and it names the returned fields, but there is no statement about side effects, authentication/engagement scoping, or whether the session must already exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb and scope first and no filler. Slight redundancy in listing return fields that an output schema already covers, but nothing wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so explaining return values is unnecessary. However, for a tool requiring two undocumented identifiers, the description supplies no parameter meaning and no behavioral context to compensate for the absent annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for two required parameters (engagement_id, session_id), and the description never mentions either one. It does not explain the engagement/session identifier pairing or compensating syntax that would make up for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (inspect), resource (one live browser session), and enumerates what is surfaced (URL, title, network event count, interception rules). The word 'one' distinguishes it from websex_browser_list, but it does not disambiguate from websex_browser_state, which sounds like an overlapping read of the same session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative is named, despite obvious candidates among siblings (websex_browser_list to enumerate sessions, websex_browser_state or websex_browser_snapshot for state). The only guidance is the implied 'one' vs many contrast.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_browser_listB
List live browser sessions owned by this MCP process for one engagement.
| Name | Required | Description | Default |
|---|---|---|---|
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose meaningful scope: only 'live' sessions and only those 'owned by this MCP process' are returned, so the agent knows other-process or dead sessions are excluded. It says nothing about what happens when no sessions exist, ordering, or size limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, and the scope qualifiers are front-loaded after the verb-object core. Nothing is padded, though one clause of usage context would have fit without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the single-parameter surface is small. However, for a listing tool in a large browser-session family, the description omits the workflow relationship to browser_get/browser_close, leaving the agent to guess when this is the right entry point.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there is only one required parameter, so the schema gives the agent only the name 'engagement_id'. The phrase 'for one engagement' confirms the parameter scopes the listing, but adds no format, validation, or example beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (List) plus resource (live browser sessions) with two clear scope constraints: sessions owned by this MCP process and scoped to one engagement. It is distinguishable from websex_browser_get/close/create by the plural, enumeration framing, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives such as websex_browser_get (fetch one session) or websex_browser_state. The purpose implies a discovery step before operating on a session, but the agent must infer that routing itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_browser_network_logB
Return complete request/response metadata captured by a live browser session, optionally clearing the in-memory log afterward.
| Name | Required | Description | Default |
|---|---|---|---|
| clear | No | ||
| session_id | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden, and it does disclose two useful traits: the log is in-memory and the clear flag destroys it after reading. However, it says nothing about session/permission prerequisites, log retention or size limits, or behavior when no session exists, leaving meaningful gaps for a tool with a destructive side-effect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the core action and the optional side-effect are stated efficiently. It is appropriately sized, though it could have used a second sentence for the missing usage or parameter context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the description covers the read-plus-optional-clear contract. But with zero annotations, zero schema descriptions, and no usage routing, the definition is only minimally complete for a 3-parameter tool with a destructive option.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description is responsible for all three parameters. It only gestures at 'clear' via 'optionally clearing the in-memory log,' and leaves engagement_id and session_id entirely unexplained beyond their self-descriptive names, which does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb (return) and resource (complete request/response metadata captured by a live browser session), which is enough to distinguish it from the rules-mutating sibling websex_browser_network_rules. It stops short of explicitly naming that sibling or the related browser_snapshot/screenshot tools, so sibling differentiation is only implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to reach for this tool versus alternatives like browser_snapshot or packet_capture, nor any stated prerequisite such as an active navigated session. The only hint is the embedded 'live browser session' phrase, which the agent must infer usage from.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_browser_network_rulesC
Configure browser request interception with blocked URL patterns, URL replacements, and extra request headers.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | ||
| engagement_id | Yes | ||
| extra_headers | No | ||
| blocked_patterns | No | ||
| url_replacements | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It doesn't disclose whether rules are additive or replace existing ones, persistence across sessions, permission requirements, or any side effects. For a configuration tool that alters browser network behavior, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence that front-loads the core purpose and lists the key configurable elements. It could be expanded slightly for clarity without losing conciseness, but it is well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has five parameters at 0% schema description coverage and no annotations, and an output schema exists but the description doesn't leverage it. The description fails to explain required parameters, rule format, persistence, or interaction with other browser tools, making it incomplete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all five parameters. It only obliquely references three of them (blocked_patterns, url_replacements, extra_headers) in a single phrase, and says nothing about the required engagement_id and session_id or the format for URL patterns and replacements. This is far below the minimum needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: configuring browser request interception. It names three concrete capabilities (blocked URL patterns, URL replacements, extra request headers) that map directly to parameters. It lacks explicit differentiation from siblings like websex_browser_network_log or websex_browser_set_state, but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when or why to use this tool versus alternatives. It doesn't say whether this must be called before navigation, whether rules persist across sessions, or how it relates to websex_browser_network_log or websex_browser_set_state. The agent must infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_browser_screenshotC
Capture a browser screenshot into the selected engagement and return its relative artifact path.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| full_page | No | ||
| session_id | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose two useful traits beyond the structured fields: the capture is persisted as an artifact in the engagement, and the return value is a relative artifact path. It omits side-effect details such as overwrite behavior, whether 'path' controls output location, and whether the capture acts on the current page state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the core action and the return value come first. It is efficiently sized, though the brevity is partly why coverage gaps remain.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be re-explained, but with 4 undocumented parameters, zero schema descriptions, and no annotations, the definition leaves an agent guessing about required inputs and capture behavior. It is under-specified for a tool that persists artifacts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate and largely does not. It only vaguely alludes to the engagement context (engagement_id) and says nothing about session_id, path, or the full_page default of true.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Capture a browser screenshot') plus the destination scope ('into the selected engagement'), which is enough to identify the operation. It does not, however, distinguish itself from the close sibling websex_browser_snapshot, leaving the screenshot-vs-snapshot distinction to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no alternatives are named. The presence of websex_browser_snapshot in the sibling list makes the absence of any routing guidance a real gap, since an agent cannot tell which of the two to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_browser_set_stateC
Set cookies, localStorage, and sessionStorage in a live browser session.
| Name | Required | Description | Default |
|---|---|---|---|
| cookies | No | ||
| session_id | Yes | ||
| engagement_id | Yes | ||
| local_storage | No | ||
| session_storage | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden and does not meet it. It does not state whether existing cookies/storage are overwritten or merged, whether the session must already exist, what auth or permissions are required, or whether the change is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no padding, which is efficient. It is arguably too terse for a five-parameter mutation tool, but the sentence itself earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output-schema explanation needed (an output schema exists), and 0% parameter documentation, the single sentence is insufficient for a state-mutating tool. It omits prerequisites, overwrite semantics, and any failure behavior an agent would need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It names three of the five parameters semantically (cookies, localStorage, sessionStorage), which is useful, but leaves engagement_id and session_id completely undocumented in both the description and the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Set) and resources (cookies, localStorage, sessionStorage) in a live browser session, so the operation is unambiguous. It does not explicitly contrast itself with the sibling websex_browser_state (which presumably reads state), relying on the reader to infer the set-vs-read distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no mention of prerequisites (e.g. an existing live browser session does not obviously need to be created first), and no exclusions. The only implicit usage cue is the word 'live browser session'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_browser_snapshotC
Return the current page text and accessibility-oriented ARIA snapshot, with optional complete HTML.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | ||
| include_html | No | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that HTML is optional, but says nothing about side effects, session requirements, output size implications of include_html, or read-only nature. Significant gaps for a session-scoped browser tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the core return content front-loaded and the optional variant trailing. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be described. However, with no annotations and a session-dependent browser tool, the description omits any session/engagement context or usage conditions, leaving it minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It maps to include_html via 'optional complete HTML', but engagement_id and session_id are left entirely unexplained. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (return) and resource (current page text, ARIA snapshot, optional full HTML), which is clearly distinguishable from browser siblings like screenshot or evaluate. It doesn't explicitly name a sibling it differs from, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to use this versus websex_browser_state, browser_evaluate, or browser_screenshot, nor any prerequisite like an active session. It gives only implied usage from the content type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_browser_stateB
Read cookies, localStorage, and sessionStorage from a live browser session.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. The verb 'Read' does imply a non-mutating operation and 'live browser session' hints that an active session must exist, which is meaningful context. However it says nothing about permissions, failure modes when the session is inactive, or volume/limits of the returned data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler; the action and the exact resources read come first. Nothing in the sentence is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is legitimately absent. But with 0% parameter coverage and no annotations, the definition still leaves required parameters and session preconditions unexplained, making it only minimally complete for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description never mentions the two required parameters (engagement_id, session_id) or their format/relationship. The phrase 'live browser session' loosely gestures at session_id, but neither identifier's meaning or expected value is clarified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Read') and an explicit resource set ('cookies, localStorage, and sessionStorage'), scoped to 'a live browser session'. That clearly separates it from the obvious sibling websex_browser_set_state (which writes the same state) and from websex_browser_snapshot/evaluate, without needing to name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of alternatives (e.g., 'use instead of browser_evaluate for reading storage'), and no prerequisites such as requiring an already-created/navigated session. The reader must infer usage entirely from the purpose sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_bulk_extractorB
Run bulk extractor from the WebSex forensics toolkit. The container executes bulk_extractor directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the execution model (argv tokens passed directly, shell parsing never used) and the namespace/path semantics, which is genuine behavioral context. It does not cover output behavior, error handling, resource or time limits, or whether extraction can overwrite existing artifacts, so meaningful gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no filler, with the core action front-loaded before the execution-model and path-scoping details. Slightly terse relative to the disclosure burden but structurally sound.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. Against that, the tool has no annotations and 0% parameter description coverage, and the description leaves gaps on stdin, error/permission behavior, and selection relative to other extraction tools, making it only minimally complete for a forensics execution tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 4 parameters, so the description must compensate. It implies meaning for arguments (argv tokens), working_directory (relative paths within the engagement), and engagement_id (selected engagement namespace), but leaves stdin completely unexplained and gives no format details for the argv array.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (run bulk_extractor from the WebSex forensics toolkit), which is clearly distinguishable from generic siblings like websex_execute or websex_bash. However, it offers no differentiation from the closely related carving/forensics siblings such as websex_foremost, websex_scalpel, or websex_binwalk, so an agent cannot tell from the description alone why it should pick this one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational context (runs from the selected engagement namespace, use relative paths for engagement artifacts) but never states when to use this tool versus the many other forensics/extraction siblings. There is no when-not guidance and no named alternative, leaving selection entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_catalogA
Search every WebSex executable and native MCP tool by exact websex_* name, substring query, or category. An unfiltered call returns only counts; set include_all=true only when the complete catalog is genuinely required.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| query | No | ||
| category | No | ||
| include_all | No | ||
| missing_only | No | ||
| registered_only | No | ||
| include_contracts | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose one genuinely non-obvious trait — that an unfiltered call returns only counts rather than the catalog — which is valuable. However it says nothing about the effect of missing_only, registered_only, or include_contracts, nor about permissions or result size limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. The capability statement is front-loaded and the include_all caution follows immediately; every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. But for a 7-parameter tool with no annotations and no schema descriptions, leaving missing_only, registered_only, and include_contracts entirely unexplained is a real gap an agent must guess around.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, so the description must compensate. It does add real meaning for three inputs — name is exact-match on the `websex_*` pattern, query is substring, category is a facet — plus the semantics of include_all. The three remaining booleans are undocumented in both schema and description, leaving the coverage gap only partly filled.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search every WebSex executable and native MCP tool') and enumerates the three lookup modes (exact name, substring query, category). Against ~150 sibling execution tools, this is clearly the discovery/meta tool, so an agent can distinguish it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use guidance for the include_all flag ('only when the complete catalog is genuinely required') and warns that an unfiltered call returns only counts. It stops short of naming alternatives such as websex_recommend_tools or websex_exploit_search, so routing between discovery tools is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_censysB
Run censys from the WebSex enumeration toolkit. The container executes censys directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, but it does disclose meaningful traits: argv is passed directly with no shell parsing (implying no injection/escaping concerns) and execution is scoped to the engagement namespace. It omits key operational behavior such as authentication requirements (censys needs API credentials) and rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core action front-loaded. Every sentence adds operational detail without padding; only the namespace sentence borders on redundancy with 'engagement_id'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. For a 4-parameter tool with 0% schema coverage, the description covers invocation mechanics reasonably but leaves stdin undocumented and gives no auth/credential context for the underlying censys binary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies that 'arguments' are argv tokens (not a shell string) and that paths should be relative to the engagement namespace, covering the working_directory/engagement semantics. However, 'stdin' is never addressed and 'engagement_id' is only implied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and the exact binary being run ('Run censys'), plus its toolkit context (WebSex enumeration). 'censys' is a distinct resource among the siblings, so it is unlikely to be confused, though the description does not explicitly contrast it with alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how to invoke the tool (argv tokens, no shell parsing, relative paths) but gives no guidance on when to use censys versus other enumeration siblings or what conditions select it. The engagement-namespace note is invocation context, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_checkovB
Run checkov from the WebSex cloud container iac toolkit. The container executes checkov directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, but it does disclose meaningful execution traits: checkov is invoked with raw argv tokens and no shell parsing (an injection-relevant detail), and it runs scoped to the engagement namespace with relative artifact paths. It does not state side effects, permissions, or whether scan output is persisted, which matters for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core action front-loaded ('Run checkov...'), followed by execution model and scoping. No padding or repetition, though the engagement-namespace and relative-path clauses could be folded together.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. The description covers the execution model and working-directory behavior, which is the essential context for a CLI-wrapper tool. It still omits preconditions (e.g., whether an engagement must exist first) and stdin handling, leaving gaps for a 4-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implicitly covers three of four parameters: 'argv tokens' maps to arguments, 'engagement namespace' to engagement_id, and 'relative paths for engagement artifacts' to working_directory. The stdin parameter is never addressed, and no format or semantics are given for any of them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: run checkov from the WebSex container IaC toolkit. An agent understands this is an IaC scanning wrapper. However, it does not distinguish itself from sibling IaC/cloud scanners like websex_terrascan, websex_trivy, or websex_prowler, so differentiation is left to the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose checkov over the other IaC scanners (terrascan, trivy, prowler) or what inputs it expects. The line about running from the engagement namespace and using relative paths is operational setup, not a when/when-not directive. Usage must be inferred from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_checksecB
Run checksec from the WebSex binary toolkit. The container executes checksec directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden, and it does add genuine behavioral context: the container execs checksec directly with argv tokens and never invokes a shell, which tells the agent how arguments are passed. It still omits anything about failure modes, required engagement state, or permission constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action, and each adds a distinct operational fact. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values are covered, but with zero annotation coverage and four undocumented parameters the description should do more: stdin is unexplained and there is no note on the engagement_id format or how arguments should be shaped. Adequate but with evident gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implicitly maps 'supplied argv tokens' to arguments, 'engagement namespace' to engagement_id, and 'relative paths' to working_directory, but never names them and says nothing about the stdin parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Run) and resource (checksec from the WebSex binary toolkit), which is enough to identify it among the many binary-analysis siblings. It does not explain what checksec verifies (RELRO/canary/NX/PIE) nor explicitly contrast with siblings like websex_file or websex_objdump, but the named tool is distinctive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to reach for checksec versus the other binary-analysis tools (ghidra, objdump, strings, file). The only directives given are operational (engagement namespace, relative paths), not selection criteria or preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_cmdi_probeC
Command injection with echo canaries per separator variant; time-based sleep fallback with sampled medians. Confirmed only by canary output or reproducible delay.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | No | GET | |
| headers | No | ||
| parameter | Yes | ||
| max_requests | No | ||
| engagement_id | Yes | ||
| follow_redirects | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full load and does reasonably well: it discloses the detection method (per-separator echo canaries), the time-based sleep fallback with sampled medians, and the confirmation criteria (canary output or reproducible delay). It does not state intrusiveness, target impact, or auth requirements, but the technique disclosure is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences are front-loaded with the primary technique and its fallback, with no filler. Efficient, though the telegraphic style assumes reader familiarity with canary/median terminology.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, but for an 8-parameter active security probe with no annotations and zero schema coverage, the description leaves parameters, engagement scoping, and safety/rate context entirely unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description must compensate and does not. Nothing explains url, parameter, engagement_id, method, body, headers, max_requests, or follow_redirects; the mention of separators and medians is technique, not parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific vulnerability class ('Command injection') and the probe technique, which distinguishes it from siblings like websex_sqli_probe and websex_ssti_probe. It stops short of an explicit verb+resource framing, but an agent can tell what the tool targets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this probe over alternatives (e.g. websex_sqli_time_probe, websex_http_request, websex_http_repeater) or prerequisites such as an existing engagement. The detection methodology is described, but that is how it works, not when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_cors_probeC
CORS origin ladder: evil/null/suffix/prefix origins on actual + preflight requests; classification depends on ACAO reflection WITH credentials.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | No | GET | |
| headers | No | ||
| engagement_id | Yes | ||
| include_credentials | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real behavior: it fires both actual and preflight requests, cycles a ladder of origin types, and classifies based on ACAO reflection combined with credentials. That is meaningful method context, but it omits whether requests are sent to the live target, what the side effects are, and any rate/safety constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the technique front-loaded and no filler. It is terse to the point of being cryptic in places, but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, but with six parameters at 0% schema coverage and no annotations, the description leaves the invocation surface largely undocumented and gives no safety or prerequisite context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across six parameters, so the schema adds nothing and the description must compensate. It only indirectly touches include_credentials ("classification depends on ACAO reflection WITH credentials") while url, method, headers, body, and engagement_id remain unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific technique (CORS origin ladder) and the exact origin classes tested (evil/null/suffix/prefix) on both actual and preflight requests, which is enough to distinguish it from generic request tools like websex_http_request. It is clear but assumes CORS fluency, and it never explicitly names a sibling it replaces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this probe versus alternatives such as websex_http_request, websex_csrf_probe, or websex_host_header_probe, and no prerequisites or exclusions. Usage is only implied by the technique described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_csrf_probeA
CSRF posture: token anatomy of the form page, SameSite cookie posture, and foreign-Origin replay of the state-changing request against a live session (caller supplies session_headers).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | No | POST | |
| headers | No | ||
| content_type | No | application/x-www-form-urlencoded | |
| engagement_id | Yes | ||
| session_headers | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real behavioral traits: it actively replays a state-changing request cross-origin against a live session and inspects token/SameSite structure, making clear this is an active, potentially side-effectful probe requiring caller-supplied session state. It omits side-effect/rate-limit caveats, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, leading with the tool's purpose and progressing through the three checks. Dense but every clause earns its place; slightly packed for one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description conveys the core mechanism and the critical session requirement. For a 7-parameter active probe with zero schema coverage and no annotations, though, the description is not complete enough to guide correct invocation of most parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 7 parameters, so the description must compensate and largely does not. Only session_headers is given meaning ('caller supplies session_headers'); url, body, method, headers, content_type, and engagement_id are left entirely undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb/resource (CSRF posture probe) and enumerates its three concrete checks: token anatomy, SameSite cookie posture, and foreign-Origin replay. This clearly distinguishes it from adjacent siblings like cors_probe, ssrf_probe, and access_bypass_probe without needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage context by stating the replay runs 'against a live session (caller supplies session_headers)', which tells the agent a session is a prerequisite. However, it never states when to use this versus cors_probe/race_probe or when it is inapplicable (e.g., no state-changing endpoint), so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_curlB
Run curl from the WebSex web toolkit. The container executes curl directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that curl runs directly with argv tokens and that shell parsing is never used, plus the engagement namespace scoping. It omits auth requirements, rate limits, and error/failure behavior, leaving notable gaps for a command-execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the core action, then the execution model, then the working-directory convention. Little waste, though the namespace/path sentence could be tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But the description omits the stdin parameter and gives no tool-selection context against its many HTTP siblings, leaving the definition only minimally complete for a 4-parameter execution tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It conceptually maps 'arguments' (argv tokens), 'engagement_id' (engagement namespace), and 'working_directory' (relative paths), but says nothing about the 'stdin' parameter, so one of four parameters remains undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Run curl') and resource ('curl'), and clarifies it is the WebSex web toolkit variant. However, it does not differentiate itself from close siblings like websex_http_request or websex_httpie, which an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to prefer this over websex_http_request, websex_httpie, or websex_bash. The only guidance ('use relative paths for engagement artifacts') is a path convention, not a tool-selection rule, so the agent is left to infer the use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_cve_lookupC
Retrieve a CVE record from NVD without inventing intelligence.
| Name | Required | Description | Default |
|---|---|---|---|
| cve_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Without inventing intelligence' gestures at returning authoritative, non-hallucinated data but discloses nothing concrete about auth needs, rate limits, or lookup failures/misses for a network-backed NVD call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence naming the action and source. The trailing 'without inventing intelligence' clause is colorful but adds little operational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read tool with an output schema covering return values, the description is nearly sufficient. Its main gap is the absence of input format guidance and any behavioral caveats.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required cve_id parameter. The description does not specify the expected format (e.g., CVE-YYYY-NNNN), so it fails to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Retrieve) and resource (a CVE record from NVD), so the agent knows exactly what it returns. It does not explicitly differentiate itself from siblings like websex_exploit_search, though the 'from NVD' scoping hints at an authoritative-source lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, nor any preconditions or exclusions. The only guidance is the implied 'CVE lookup' purpose derived from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_dalfoxC
Run dalfox from the WebSex web toolkit. The container executes dalfox directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it does disclose genuinely useful behavior: dalfox is executed directly with argv tokens and shell parsing is never used, and it runs from the engagement namespace. These constrain how the agent should build the call. It stops short of describing permissions, output/return behavior, or runtime limits, so it is adequate but incomplete for a mutation-capable scan tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the action front-loaded and no filler. Slight deduction because the namespace/path sentence is more mechanical note than essential description, but overall well-sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the argv/no-shell detail covers the invocation model. But the tool's domain role is absent, so an agent cannot confidently choose it over websex_xsser or websex_xss_probe, and two of four parameters remain unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all four parameters. It only loosely addresses 'arguments' (argv tokens) and 'working_directory' (relative paths for engagement artifacts) and says nothing about 'engagement_id' or 'stdin', leaving half the parameters undocumented in both the schema and the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the binary it runs ('dalfox') and its origin (WebSex web toolkit), so the mechanical purpose is clear. However, it never states what dalfox actually does (XSS/parameter scanning), nor distinguishes it from siblings like websex_xsser, websex_xss_probe, or websex_wfuzz. An agent that doesn't already know dalfox must infer its role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of alternatives, despite a large sibling set containing multiple other XSS-oriented tools. The only usage notes are about the engagement namespace and relative paths, which are invocation mechanics rather than selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_dirbB
Run dirb from the WebSex web toolkit. The container executes dirb directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose meaningful execution semantics: raw argv tokens with no shell parsing (an injection-relevant trait) and execution from the selected engagement namespace. It omits permissions, resource limits, expected runtime, and output shape, so the disclosure is partial rather than complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no filler, and the core action plus execution model are front-loaded ahead of the namespace/path caveat. It is appropriately sized, though it spends a sentence on the toolkit framing rather than differentiating the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the execution model is covered. But for a 4-parameter, annotation-free tool sitting among many near-identical scanners, the absence of selection guidance and of `stdin` semantics leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate. It explains `arguments` as argv tokens and `working_directory` via the relative-path convention, and implies `engagement_id` selects the namespace, but leaves `stdin` completely unexplained and gives no format examples for the argv array.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Run dirb') and clarifies it executes the well-known directory brute-forcer via argv tokens. It does not, however, distinguish this from the many sibling content-discovery tools (gobuster, ffuf, feroxbuster, dirsearch, wfuzz), so an agent cannot tell from the text alone when dirb is the right pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no named alternative, despite ~5 direct siblings in the same directory-brute-force category. The engagement-relative-path note is a usage constraint, not a routing rule, so the agent is left to infer selection entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_dirsearchB
Run dirsearch from the WebSex web toolkit. The container executes dirsearch directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose one meaningful behavioral trait: the container executes dirsearch directly with argv tokens and never invokes a shell. But it says nothing about network impact on the target, rate limits, timeouts, or whether it writes files into the engagement namespace.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no filler, and the core identity ('Run dirsearch') is front-loaded. It stays appropriately short for a thin CLI wrapper.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and the execution model and namespace convention are covered. Still, for an arbitrary-argv wrapper the description omits the typical invocation pattern and any safety framing, leaving moderate gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate and only partially does. It clarifies that 'arguments' are argv tokens (no shell quoting needed), ties the namespace to 'engagement_id', and explains relative-path handling for 'working_directory', but the 'stdin' parameter is entirely unaddressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run dirsearch') and identifies it as part of the WebSex toolkit. However, it does not differentiate dirsearch from the many sibling content-discovery tools (gobuster, ffuf, feroxbuster, dirb, wfuzz), leaving the agent to infer the distinction from the binary name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational conventions ('runs from the selected engagement namespace', 'use relative paths') but no when-to-use or when-not-to-use guidance relative to the numerous sibling directory-brute-forcing tools. An agent gets no help choosing dirsearch over gobuster or ffuf.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_dnsenumB
Run dnsenum from the WebSex enumeration toolkit. The container executes dnsenum directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose meaningful traits: argv tokens are passed directly with no shell parsing (headline-and-injection-relevant), execution is scoped to the engagement namespace, and artifact paths are relative. It does not state whether the tool is read-only, whether it makes external network calls, expected runtimes, or how output/failures surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences with no filler, front-loaded on what is invoked and how the container executes it. Nothing is redundant, though there is room for one more sentence on scope/alternatives without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the execution-model and path details are covered. What is missing is the operational context for a 4-parameter recon tool: what the tool actually enumerates and how it relates to the large family of sibling DNS/recon tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it partially does: 'arguments' is characterized as argv tokens, 'working_directory' is implied by the relative-path guidance, and 'engagement_id' maps to the engagement namespace. The 'stdin' parameter is never addressed, and no format or example is given for the argv array.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and named resource ('Run dnsenum from the WebSex enumeration toolkit'), so an agent knows this executes the dnsenum binary rather than a generic shell. However, it never says what dnsenum accomplishes or distinguishes it from DNS/subdomain siblings like websex_fierce, websex_amass, or websex_subfinder, leaving the agent to supply that knowledge itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The guidance given ('runs from the selected engagement namespace; use relative paths for engagement artifacts') is about invocation mechanics, not about when to choose this tool. There is no mention of when to prefer dnsenum over fierce, amass, subfinder, or theharvester, and no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_docker_benchB
Run docker bench from the WebSex cloud container iac toolkit. The container executes docker-bench-security directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses behavioral traits: the container executes docker-bench-security 'directly with the supplied argv tokens' and 'shell parsing is never used', which is real execution-model context an agent can't get from the schema. It stops short of stating side effects, whether the run is read-only, or how failures/exit codes surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core action front-loaded ('Run docker bench ...') followed by execution detail and operational guidance. No filler, though the namespace/path sentence is slightly low-value relative to the undocumented parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. For a security-benchmark launcher with 2 required and 2 optional parameters at 0% schema coverage, the description covers the execution model but leaves parameter contracts and read-only/side-effect semantics under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate and largely does not. It obliquely explains 'argv tokens' (arguments) and relative paths for 'engagement artifacts' (working_directory), but leaves stdin and engagement_id completely undocumented as to format or meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Run docker bench', executing 'docker-bench-security') so the agent knows exactly what is invoked. It implicitly distinguishes from the k8s/cloud siblings (kube_bench, trivy, checkov) by calling out the docker-focused benchmark, but never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied rather than stated: it explains it runs from 'the selected engagement namespace' and that relative paths should be used for engagement artifacts, which orients the agent. However, there is no explicit when-to-use guidance versus the many scanning siblings (kube_bench, trivy, prowler, scout_suite), and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_dotdotpwnB
Run dotdotpwn from the WebSex web toolkit. The container executes dotdotpwn directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the container executes dotdotpwn directly with argv tokens and that shell parsing is never used, and that paths are resolved relative to the engagement namespace. It does not describe the actual operation, expected runtime, or any auth/safety profile beyond the no-shell behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the action front-loaded and no filler. The no-shell and relative-path notes earn their place; nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, but with zero annotations and a 4-param schema at 0% coverage, the description leaves the tool's actual purpose (traversal fuzzing methodology) implicit and doesn't fully compensate for the parameter documentation gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters. The description adds meaning for `arguments` ('supplied argv tokens'), `engagement_id` ('selected engagement namespace'), and `working_directory` ('relative paths for engagement artifacts'), but leaves `stdin` unexplained and gives no format or example for argv tokens.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Run dotdotpwn'. However, it does not explain what dotdotpwn is (a directory/file traversal fuzzer) nor distinguish it from sibling wrappers like websex_traversal_probe or websex_execute, so an agent must already know the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as websex_traversal_probe or a generic executor. It mentions running from the engagement namespace and using relative paths, but that is operational context, not a when/when-not/alternative rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_engagement_createC
Create a persistent engagement namespace and return its server-generated ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| targets | Yes | ||
| objective | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only discloses that the namespace is persistent and that the ID is server-generated; it does not cover permissions, duplicate-name behavior, target semantics, or side effects expected for a create mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. The essential action and result are stated immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create mutation with three parameters and zero schema descriptions, the description is too thin. Although an output schema exists, the required inputs and their expected content are left entirely unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description mentions none of the three parameters (name, targets, objective). It adds no semantic meaning beyond the bare schema property names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Create') and resource ('persistent engagement namespace'), and adds the return behavior. It clearly differs from list/get/plan siblings by the creation verb, but it does not explicitly name or reference alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, prerequisites, or alternatives are given. An agent cannot tell from the description alone when to call this instead of engagement_plan, engagement_get, or workspace tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_engagement_getB
Return metadata for one server-generated WebSex engagement ID.
| Name | Required | Description | Default |
|---|---|---|---|
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a read ("Return metadata") but says nothing about error behavior for unknown IDs, permission requirements, or whether the engagement is scoped to a workspace/session. An output schema exists, so return format is at least covered elsewhere.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the resource and the singular-scope qualifier front-loaded. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-id tool with an output schema covering return values, the description is minimally sufficient. The gaps are the missing provenance of the ID and the absence of any error/permission behavior, which matter more here because there are no annotations to fall back on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required engagement_id, so the description must compensate. It does add one meaningful semantic: the ID is "server-generated," signaling the agent cannot construct it and must source it from create/list. It does not describe the ID's format or where to find it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Return metadata") and resource ("one ... engagement ID"), and the singular "one" implicitly separates it from the plural websex_engagement_list and from websex_engagement_create. It stops short of explicitly naming those siblings, so it lands at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no reference to the sibling tools (create/list/plan) that would tell an agent how to obtain an engagement ID. Usage must be inferred from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_engagement_listB
List persistent WebSex engagements available for client-side selection.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. "List" implies a non-mutating read and "persistent" hints at data lifetime, but there is no disclosure of scoping, ordering, authentication, or whether all engagements are returned. Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted text. The trailing clause "available for client-side selection" is slightly jargon-heavy but does add some orientation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and with no parameters the input side is trivially complete. What is missing is any usage context relative to sibling engagement tools, leaving the definition adequate but thin for its role in the engagement workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate beyond the schema. Baseline 4 applies for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ("List ... WebSex engagements"), which distinguishes it from the singular websex_engagement_get and the write-oriented websex_engagement_create. It is clear but does not explicitly name those siblings, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"available for client-side selection" vaguely gestures at a downstream selection workflow but gives no condition for choosing this tool over engagement_get, and no when/when-not guidance. Effectively no actionable usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_engagement_planC
Create a deterministic WebSex engagement plan using catalog tool names.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| target | Yes | ||
| objective | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. It does not say whether a plan is persisted, whether it mutates engagement state, whether the output is a plan document or an execution, what authentication is required, or what happens on an unknown kind/target. The single word 'deterministic' is the only behavioral claim, and it is unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short sentence with no filler, which is structurally clean, but the brevity here reflects under-specification rather than economy — nothing in the sentence is wasted, yet almost nothing useful is present either.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value documentation is not required, but the definition is still incomplete for a 3-parameter composition tool: two required parameters are undefined, there is no annotation coverage for side effects, and the notion of a 'deterministic plan' is never elaborated. The description leaves the agent unable to call this correctly versus its engagement siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description supplies no parameter meaning at all. 'kind' is a required free-form string with no enum and no explanation of its allowed values, 'target' is similarly opaque, and 'objective' defaults to empty with no guidance on its effect. This is the critical gap: the agent cannot construct a valid call from either the schema or the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb and resource ('Create a ... engagement plan'), which is clearer than the bare name, but 'deterministic WebSex engagement plan' is not defined anywhere, and it does nothing to distinguish this from the sibling websex_engagement_create, websex_engagement_get, or websex_engagement_list tools. An agent cannot tell from this text how this differs from the other engagement tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites, and no mention of the obvious alternatives (websex_engagement_create, websex_attack_chain, websex_recommend_tools) despite the catalog containing several planning-adjacent siblings. The only hint is 'using catalog tool names', which implies a composition step but never says when that is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_enum4linuxB
Run enum4linux from the WebSex enumeration toolkit. The container executes enum4linux directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real behavioral mechanics: the container runs `enum4linux` directly with argv tokens and never uses shell parsing, and execution happens in the selected engagement namespace. That is genuinely useful invocation context. It omits the safety profile entirely (nothing says this is a read-only SMB/NetBIOS recon operation, no auth requirements, no timeout or resource notes), leaving meaningful gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, then execution semantics, then path guidance. No filler, though the middle clause about shell parsing could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the execution model is covered. What is missing for an enumeration tool is any indication of what enum4linux targets or what argument shapes are expected, plus the safety/read-only profile that annotations would normally supply.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate and only partially does. It clarifies that `arguments` are argv tokens passed without shell parsing, implies `working_directory` should be relative, and ties execution to `engagement_id`. The `stdin` parameter is never mentioned in either the schema or the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Run enum4linux from the WebSex enumeration toolkit.' That is unambiguous and identifies the exact underlying binary. It does not, however, distinguish this tool from the very similar sibling `websex_enum4linux_ng`, so the agent has no textual basis for choosing between the two.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use enum4linux versus alternatives such as enum4linux_ng, smbmap, netexec, or rpcclient, all of which appear as siblings. The only usage-adjacent statement is 'use relative paths for engagement artifacts,' which is an operational convention, not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_enum4linux_ngB
Run enum4linux ng from the WebSex enumeration toolkit. The container executes enum4linux-ng directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose meaningful execution behavior: argv tokens are passed directly with no shell parsing, and execution is scoped to the engagement namespace. It stops short of stating the operation's read-only/non-destructive nature, target requirements, or expected runtime/rate characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and free of filler. The execution-model detail is dense but relevant rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the execution model is covered. Still, an agent gets no description of what enum4linux-ng actually enumerates, and three of four parameters are undocumented in both schema and prose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, so the description must compensate. It clarifies that 'arguments' are raw argv tokens for enum4linux-ng, but says nothing about 'stdin', 'working_directory', or how 'engagement_id' selects the namespace beyond a passing mention.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run enum4linux ng'), and the '-ng' qualifier implicitly distinguishes it from the sibling websex_enum4linux. However, it never explicitly contrasts the two variants or says when the ng rewrite is preferred, so differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is operational ('runs from the selected engagement namespace; use relative paths for engagement artifacts'). There is no statement of when to reach for enum4linux-ng versus websex_enum4linux, smbmap, rpcclient, or netexec, nor any prerequisite or target context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_evil_winrmB
Run evil winrm from the WebSex credentials toolkit. The container executes evil-winrm directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it does add meaningful behavior: argv token passing with no shell parsing, namespace scoping, and relative-path expectations. It omits whether the tool opens an interactive WinRM session, auth requirements, and any destructive/rate-limit traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences with the core action (running evil-winrm) front-loaded, followed by the safety-relevant execution model and the path/namespace guidance. Little waste, though the relative-path sentence is somewhat buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and the execution model is reasonably covered. The gaps are the absence of any selection guidance against overlapping executor siblings and the undocumented stdin parameter, which leaves the definition only minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It partially does by explaining 'arguments' as argv tokens, implying the engagement scoping of engagement_id, and implying working_directory via 'use relative paths', but leaves stdin entirely unexplained and gives no format detail for any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb+resource ('Run evil winrm') and names the underlying binary being wrapped, so an agent knows exactly what executes. However, it offers no differentiation from closely related siblings such as websex_execute, websex_bash, or websex_netexec, which also run remote/attack tooling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance and no named alternatives, even though several sibling tools (websex_execute, websex_bash, websex_netexec) overlap in function. The only contextual hint is the passing remark about engagement namespace and relative paths, which is about execution environment rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_executeA
Dispatch one executable-backed catalog entry by its exact websex_* name returned by websex_catalog. This is primarily a compact-mode fallback; in full mode prefer the direct named tool. Use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | ||
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It reveals that it's executable-backed (implies running external binaries), that it relates to engagement artifacts, and that it's a fallback. It doesn't mention security/permission concerns, but for a dispatch tool this is adequate. The advice 'Use relative paths for engagement artifacts' adds practical context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action and parameter, followed by usage guidance and a path tip. No wasted words; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, return values need not be explained. The description covers purpose, usage, and key param hints, which is sufficient for a dispatch tool. It could mention that 'arguments' are passed to the underlying executable, but overall it's complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies the 'tool' parameter ('exact websex_* name returned by websex_catalog') and gives guidance for 'working_directory' ('Use relative paths for engagement artifacts'). It does not explain 'stdin', 'arguments', or 'engagement_id', but it adds significant meaning for key params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Dispatch one executable-backed catalog entry by its exact websex_* name returned by websex_catalog.' It clearly distinguishes itself from the direct named tools (the siblings) by explaining its role as a compact-mode fallback. An agent can immediately see this is a meta-invocation tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use it: 'This is primarily a compact-mode fallback; in full mode prefer the direct named tool.' This provides a clear condition for use vs. the direct tools. No explicit when-not or alternative for all cases, but the guidance is actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_exiftoolB
Run exiftool from the WebSex forensics toolkit. The container executes exiftool directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that exiftool executes directly with supplied argv tokens and that shell parsing is never used, plus the engagement-namespace execution context. However it omits what the tool actually does to files (metadata read, not mutation), any permission/auth requirements, and resource limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler, and the core action is front-loaded. The execution-model detail follows naturally and every sentence adds information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. The description covers the execution model, working-directory semantics, and engagement scoping; only stdin handling and any permission/side-effect notes are missing, which is a minor gap for a command wrapper.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It partially does: 'arguments' are argv tokens, 'working_directory' is implied by 'use relative paths', and engagement_id maps to the 'selected engagement namespace'. But 'stdin' is never explained, leaving a documented gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: run exiftool from the WebSex forensics toolkit. The tool's function (metadata extraction via exiftool) is clear from the resource name, though it does not explicitly contrast itself with sibling forensics tools like binwalk, strings, or xxd.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance, and no naming of alternatives among the many sibling forensics tools. The only usage hint is 'use relative paths for engagement artifacts', which is a constraint rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_exploit_searchB
Run exploit search from the WebSex exploitation toolkit. The container executes searchsploit directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral burden. It usefully discloses that argv tokens are passed directly with no shell parsing (a meaningful security/quoting trait) and that it runs from the engagement namespace. However, it says nothing about permissions, side effects on the filesystem, rate limits, or execution environment beyond namespace scoping.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no redundancy, and the core action is front-loaded ahead of execution details. Efficient prose that earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. But with 0% schema coverage and no annotations, the description leaves gaps around engagement_id/stdin handling and the safety profile of running an exploit tool. Adequate but not complete for a 4-param execution tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It clarifies that `arguments` are argv tokens (not a shell string) and that the working directory should use relative paths for engagement artifacts, implicitly touching two of the four params. `engagement_id` and `stdin` semantics are left unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: it runs an exploit search via `searchsploit` from the WebSex toolkit. This is identifiable and distinguishable from most siblings. It stops short of naming which catalog it queries or how it differs from websex_cve_lookup, so differentiation from the closest sibling is not explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (local exploit lookups against the searchsploit database within an engagement namespace) but gives no explicit when-to-use, when-not, or alternative routing. An agent must infer whether to pick this versus websex_cve_lookup or websex_metasploit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_extract_indicatorsA
Extract URLs, IPv4 addresses, CVEs, and common hashes from supplied text.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral burden. It does disclose the extracted indicator set, which is real behavior beyond the schema, but says nothing about side effects, deduplication, ordering, or whether anything is written to disk. The existence of an output schema covers the return shape, keeping this at a middling score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the verb first and zero filler. Every word contributes to defining scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter, read-only-style extraction utility with an output schema already documenting results, the description covers the core need: what gets extracted and from what. Only minor gaps remain, such as deduplication or handling of large inputs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter and 0% schema description coverage, the description must compensate. 'From supplied text' clarifies that the input string is the source corpus to be scanned, which is meaningful, but it says nothing about size limits, encoding expectations, or whether multi-line input is supported.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Extract') and enumerates the exact resource types (URLs, IPv4, CVEs, hashes). This is far more precise than a generic 'extract' tool. However, it does not differentiate itself from siblings that also extract artifacts from content, most notably websex_bulk_extractor, websex_grep, and websex_strings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'from supplied text' implies the usage context (raw text already in hand rather than a file or URL), but there is no explicit when-to-use, when-not-to-use, or named alternative. An agent must infer that this is the text-mode counterpart to file-oriented extractors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_feroxbusterC
Run feroxbuster from the WebSex web toolkit. The container executes feroxbuster directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real execution context: feroxbuster is invoked directly with argv tokens and shell parsing is never used, and it runs inside the engagement namespace. However it does not disclose what feroxbuster actually does to a target, whether requests are sent (network side effects), rate/aggressiveness characteristics, or permissions required.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no filler; the identity and execution model lead, and the path convention follows. Efficient and readable, though slightly terse relative to what it omits.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, but for a 4-parameter tool with zero schema coverage and no annotations, the definition leaves engagement_id and stdin undocumented, provides no usage context, and never describes what the tool does to the target. Not sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate. It adds meaning for 'arguments' (argv tokens, not a shell string) and 'working_directory' (relative paths resolve to engagement artifacts), but leaves 'engagement_id' and 'stdin' completely unexplained, so half the parameters remain opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: run feroxbuster from the WebSex web toolkit. It is clear what the tool does, but it offers no differentiation from the many sibling directory/URL fuzzing tools (gobuster, ffuf, dirb, dirsearch, wfuzz), so an agent can't tell from the text alone why it should pick feroxbuster over those.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational hints ('runs from the selected engagement namespace', 'use relative paths for engagement artifacts') but never says when to use this tool versus the sibling dir-busting alternatives, nor any preconditions such as needing a live target or wordlist. No when/when-not guidance at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_ffufB
Run ffuf from the WebSex web toolkit. The container executes ffuf directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior: the container executes ffuf directly with argv tokens and never uses shell parsing, which tells the agent not to rely on shell expansion. It still omits destructive potential, rate/performance traits, and any permission context for what is inherently an active fuzzing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences with the execution model front-loaded and no filler; each sentence adds operational value. Slightly more could be trimmed only at the cost of the useful argv detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and the execution model is covered. However, for a 4-param, zero-coverage active fuzzing wrapper with no annotations, the definition still lacks usage routing and a description of `stdin`, so it is only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds real meaning for three parameters by tying `arguments` to raw argv tokens, `working_directory` to relative engagement paths, and `engagement_id` to the namespace, but `stdin` is never explained, leaving one of four params undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ("Run ffuf") and clarifies it is the WebSex wrapper, so the agent knows exactly which binary is invoked. It does not, however, distinguish this tool from near-neighbors like websex_wfuzz, websex_gobuster, or websex_feroxbuster, leaving sibling selection to the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains operational mechanics (relative paths, engagement namespace) but gives no guidance on when to choose ffuf over the many other web-fuzzing/directory-brute-force siblings. There is no when-to-use, when-not-to-use, or named alternative, so routing is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_fierceB
Run fierce from the WebSex enumeration toolkit. The container executes fierce directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real behavioral traits: execution is argv-based with 'shell parsing is never used' (an injection-safety fact), and the process runs from the engagement namespace. It omits network egress implications, expected runtime, and what the tool targets. Useful context but incomplete for a command-execution tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the action front-loaded and no filler. Each sentence adds something (what runs, how it runs, where it runs). Slightly more could be said about the tool's purpose, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, which the description correctly omits. But for a 4-parameter tool with 0% schema coverage and no annotations, the description leaves engagement_id and stdin unexplained and gives no sense of what fierce enumerates, so it is only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate. It only implicitly touches two: 'supplied argv tokens' maps to arguments and 'relative paths for engagement artifacts' hints at working_directory. engagement_id and stdin are never addressed, leaving half the surface undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Run fierce from the WebSex enumeration toolkit.' An agent knows exactly which binary will execute. However, it never says what fierce actually does (DNS/subdomain reconnaissance) nor distinguishes it from siblings like websex_dnsenum, websex_amass, or websex_subfinder, so sibling differentiation is absent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is operational ('runs from the selected engagement namespace; use relative paths'), not selectional. It never says when to reach for fierce instead of dnsenum, amass, or theharvester, nor what conditions make it the right choice. No when/when-not/alternatives present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_fileB
Run file from the WebSex binary toolkit. The container executes file directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the binary is invoked with argv tokens and that shell parsing is never used, which is meaningful behavioral context. However, it omits auth requirements, error behavior, and execution constraints beyond the namespace scoping.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with what the tool runs before the operational caveats. No filler, though the middle clause on argv tokens slightly interrupts the flow of the scoping guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained. Still, for a 4-parameter execution tool with zero schema coverage and no annotations, the description should say more about the stdin parameter and why this differs from the generic execute siblings; what it has is adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for four undocumented parameters. It maps 'arguments' to argv tokens and implies working_directory via relative-path guidance, but says nothing about the 'stdin' parameter or the format expected by engagement_id, leaving real gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Run file from the WebSex binary toolkit,' and clarifies that the container executes `file` directly. An agent can infer this is the Unix file-identification utility, but the description never distinguishes it from the generic siblings websex_execute, websex_bash, or websex_python.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives environment context ('runs from the selected engagement namespace; use relative paths for engagement artifacts') but offers no when-to-use, when-not-to-use, or alternative guidance against the many execution siblings. The agent must guess why it should pick websex_file over websex_execute.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_file_hashesC
Calculate complete cryptographic hashes for a workspace file.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| algorithms | No | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It says hashes are calculated but does not state that the operation is read-only, whether the file is modified, what permissions are required, or how the optional algorithms parameter affects behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no wasted words. It is appropriately sized for a tool whose structured fields carry most operational detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not explain return values. However, with no annotations and 0% schema description coverage, the definition is incomplete: it omits parameter semantics, safety/read-only context, and algorithm handling that an agent needs to call the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needs to compensate for undocumented parameters. It implies a workspace file path and engagement context, but gives no meaning for the required engagement_id or the optional algorithms parameter, including defaults or supported values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'Calculate complete cryptographic hashes for a workspace file.' This is clearly distinct from generic file inspection or cracking tools, though it does not explicitly differentiate itself from sibling hash tools such as websex_hashpump or websex_hash_identifier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no when-to-use guidance, no prerequisites, and no alternatives. It does not help an agent decide between this tool and related sibling tools like websex_hashcat, websex_john, or websex_hash_identifier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_finding_reportC
Write a structured Markdown security finding inside the engagement workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| title | Yes | ||
| target | Yes | ||
| summary | Yes | ||
| evidence | Yes | ||
| severity | Yes | ||
| remediation | No | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a write/mutation but never discloses whether an existing finding is overwritten, what 'path' refers to, permission requirements, or side effects. Only the output schema partially covers the return.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, which is structurally clean. But its brevity reflects under-specification rather than purposeful conciseness for an 8-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 params at 0% coverage, no annotations, and no usage context, the definition is not complete enough. The presence of an output schema excuses explaining return values, but the input contract remains essentially undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters (7 required), so the description must compensate and does not. Ambiguous fields like 'path', 'target', 'severity', and 'evidence' are never explained, leaving the agent to guess their format and meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (write) and resource (structured Markdown security finding) scoped to the engagement workspace, so an agent understands the action. It does not, however, distinguish itself from the closely related websex_workspace_write sibling, which could also write content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is given. The description never states prerequisites such as needing an existing engagement (engagement_id is required) or how this differs from websex_workspace_write for persisting content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_foremostC
Run foremost from the WebSex forensics toolkit. The container executes foremost directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses execution behavior: it runs foremost directly with supplied argv tokens and never uses shell parsing, and it runs from the engagement namespace. However, it doesn't describe outputs, permissions, or destructive effects, despite having an output schema. Adds some value but incomplete for a no-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and execution semantics. No obvious filler, though the namespace/paths sentence is a bit terse and could be clearer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param, no-annotation tool with 0% schema description coverage and no parameter documentation, the description is insufficient. It omits what each parameter does, what output is produced (despite having an output schema), and how the tool differs from sibling carvers. It would be hard to invoke correctly without experimenting.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and no parameter descriptions are provided anywhere. The description adds no meaning for any of the four parameters (stdin, arguments, engagement_id, working_directory) beyond generic words like 'relative paths'. With zero coverage, the description must compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Run foremost from the WebSex forensics toolkit'. An agent can tell this invokes the foremost file-carving tool. It does not explicitly differentiate from the many other forensics siblings (scalpel, binwalk, bulk_extractor, zsteg), but the named tool itself provides reasonable separation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says it 'Runs from the selected engagement namespace; use relative paths for engagement artifacts', which implies when/how to use the tool (inside an engagement with relative paths). However, it gives no guidance on when to prefer foremost over sibling carvers like scalpel or bulk_extractor. Implied usage only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_gauC
Run gau from the WebSex web toolkit. The container executes gau directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that gau is executed directly with argv tokens and that shell parsing is never used, and it notes the engagement namespace context. However, it omits permissions, network behavior, output format details, rate limits, and failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences, front-loads the command name, and contains no obvious filler. It is appropriately compact for a command-wrapper tool, though the opening sentence could be more informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a four-parameter command wrapper with no annotations and 0% schema description coverage, the description is incomplete. It covers execution mode and path context but leaves stdin, argument semantics, and tool-selection context unexplained. An output schema exists, so return values need not be described, but the input-side gaps remain significant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning. It clarifies that arguments are argv tokens and that working directories should be relative to engagement artifacts, but it does not explain the stdin parameter or give argument syntax examples. Three of four parameters receive only indirect or no semantic help.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool name: 'Run gau from the WebSex web toolkit.' It does not say what gau does or how it differs from sibling command wrappers such as websex_execute or websex_bash. The remaining sentences describe execution mechanics, not purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no when-not-to-use guidance, and no named alternative. The only usage-related note is about namespace and relative paths, which does not help an agent decide when this tool should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_gdbB
Run gdb from the WebSex binary toolkit. The container executes gdb directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses that gdb runs directly with supplied argv tokens and that shell parsing is never used (important safety context), plus the namespace scoping. It says nothing about interactivity/timeouts, stdin handling, or output behavior for what is an interactive debugger wrapper.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences that each carry information (tool identity, execution semantics, namespace/path constraint) with no filler. Slightly could be tightened but is well-sized and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be described, and the description covers the key execution semantics and namespace scoping. But for a command-execution tool with no annotations and an undeclared 'stdin' parameter, it leaves gaps around input handling and process behavior that an agent would need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so four parameters are undocumented in structured data. The description loosely maps 'arguments' to 'argv tokens' and hints at working_directory via 'relative paths', but the 'stdin' parameter is never addressed and no format/syntax detail is added. This is insufficient compensation for a total schema coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Run gdb from the WebSex binary toolkit") with enough precision to tell it apart from debugger/analysis siblings like ghidra, radare2, and objdump. It clarifies the execution mode (direct argv tokens, no shell parsing), though it never names a sibling explicitly for differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Offers implied usage (". Runs from the selected engagement namespace; use relative paths for engagement artifacts"), which is a useful operational hint. However, it gives no explicit when-to-use-vs-alternatives guidance despite a large family of overlapping binary analysis tools (radare2, ghidra, objdump, ropper).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_ghidraB
Run ghidra from the WebSex binary toolkit. The container executes ghidra directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that argv tokens are passed directly without shell parsing (an important invocation-safety trait) and that it runs from the engagement namespace, but it says nothing about side effects, permissions, or what happens on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and the safety-relevant argv detail. No padding or repetition of the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the argv/namespace notes are helpful. But for a tool that runs an arbitrary external binary, the description omits permission expectations and how stdin/working_directory interact with the engagement scope, leaving it only minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate and largely does not. It clarifies that 'arguments' are argv tokens and hints at the engagement namespace and working directory via relative paths, but it never addresses the 'stdin' parameter, leaving a required input path undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run ghidra from the WebSex binary toolkit'), so an agent knows it invokes the Ghidra reverse-engineering tool. However it offers no differentiation from closely related siblings such as websex_radare2, websex_objdump, or websex_angr_analyze, leaving tool selection ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to prefer Ghidra over radare2, objdump, or the other analysis siblings, and states no prerequisites. The only usage-adjacent hint is 'use relative paths for engagement artifacts,' which is about path handling, not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_gobusterB
Run gobuster from the WebSex web toolkit. The container executes gobuster directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does add two useful facts: argv tokens are passed directly with no shell parsing (so quoting/escaping behavior is predictable), and execution is scoped to the selected engagement namespace. It does not disclose whether gobuster makes outbound network traffic, whether it writes artifacts, or what the resource/auth profile looks like, which is a meaningful gap for a scanner.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and followed by the execution semantics. The first sentence is somewhat redundant with the tool name, but there is no padding or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be narrated. For a four-parameter wrapper with zero schema description coverage and no annotations, though, the definition stops short: parameter meaning and selection guidance versus sibling bruteforcers are both missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, so the description must compensate and largely does not. It maps only obliquely onto two of them ('supplied argv tokens' implies the arguments array; 'use relative paths for engagement artifacts' implies working_directory), leaving stdin and engagement_id completely unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Run gobuster from the WebSex web toolkit'), which is unambiguous about what will execute. However it offers no differentiation from the many overlapping directory/content bruteforce siblings (websex_ffuf, websex_feroxbuster, websex_dirb, websex_dirsearch, websex_wfuzz), so an agent cannot tell why it should pick gobuster over them from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of alternatives among the brute-force siblings. The only procedural note is the namespace/relative-path hint, which is operational context rather than tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_graphql_auditB
Assess a GraphQL endpoint using introspection evidence and enumerate query/mutation fields. Results are persisted and do not claim vulnerabilities without response evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| headers | No | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it does disclose two real traits: results are persisted, and findings are not asserted without response evidence. It omits auth/permission needs, request volume, and whether it mutates the target, so the disclosure is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient, front-loaded sentences with no filler; the core action leads. The second sentence bundles persistence and the evidence caveat, which slightly dilutes focus but is still compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the persistence note is useful. However, for a three-parameter audit tool it omits key context such as introspection preconditions, authentication expectations, and the distinction from graphql_request.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters (url, headers, engagement_id), and the description mentions none of them. It adds no meaning about what headers accepts, what an engagement_id is, or how url is used, so the coverage gap is not compensated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Assess a GraphQL endpoint') plus the concrete output ('enumerate query/mutation fields'). It is distinguishable from the sibling websex_graphql_request, which performs raw requests rather than a full audit, though it never names that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisite (e.g. introspection must be enabled), and no routing to alternatives like websex_graphql_request or websex_openapi_audit. The mention of 'introspection evidence' hints at a precondition but is not stated as one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_graphql_requestC
Send a GraphQL query and return the full server response.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| query | Yes | ||
| headers | No | ||
| variables | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It states only that the full response is returned; it says nothing about authentication handling, whether the endpoint is expected to be pre-authenticated, mutation/introspection capabilities, error propagation, redirects, or rate limiting — meaningful gaps for a raw request tool that can perform writes via GraphQL mutations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero padding; the action and result are stated immediately. It is efficiently sized, though its brevity reflects under-specification rather than disciplined conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the return values need not be described. However, for a four-parameter, zero-annotation tool with 0% schema coverage, the description is inadequate: it gives no hint about how headers or variables are used, what authentication model is assumed, or how failures surface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for all four parameters. The description vaguely implies a 'query' payload and a target URL but says nothing about the headers object (e.g., auth/CONTENT-TYPE expectations) or the variables object (GraphQL variable substitution), leaving half the parameters completely unexplained in both schema and prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource — 'Send a GraphQL query' — plus the return behavior ('full server response'), so the agent knows this is a raw GraphQL executor rather than an analyzer. It does not, however, differentiate itself from siblings such as websex_graphql_audit or the generic websex_http_request, both of which could plausibly be confused with it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose this over websex_graphql_audit (structured GraphQL security testing) or websex_http_request/curl (generic HTTP). No mention of prerequisites, authentication needs, or whether it is appropriate for one-off queries versus an audit workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_grepB
Search text files inside the selected engagement with GNU grep. Prefer websex_jq for structured JSON and websex_python for custom parsing. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the execution context ('runs from the selected engagement namespace; use relative paths') but says nothing about whether this is a read-only operation, how the arguments array is interpreted by grep, or the safety implications of passing raw arguments to a shell tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, purpose front-loaded, with the routing guidance following. Every sentence carries information and none is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, for a 4-parameter execution tool with zero annotation coverage and 0% schema description coverage, the description leaves the entire parameter surface and the tool's safety profile unexplained, which is a substantial gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters (stdin, arguments, engagement_id, working_directory), and the description explains none of them. The only partial hint, 'use relative paths', loosely touches working_directory but leaves engagement_id, arguments, and stdin entirely undocumented in both schema and prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search text files ... with GNU grep') plus a clear scope ('inside the selected engagement'). It also names the sibling tools it is not (websex_jq, websex_python), so an agent can route without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent to alternatives: prefer websex_jq for structured JSON and websex_python for custom parsing. This is clear when-to-use-which guidance, though it stops short of stating hard exclusions (e.g. binary files, non-text input).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_hakrawlerC
Run hakrawler from the WebSex web toolkit. The container executes hakrawler directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does add genuinely useful context: arguments are passed as raw argv tokens with no shell parsing, and execution is scoped to the selected engagement namespace. It still omits whether the tool makes outbound network requests, typical target/output behavior, or any rate/timeout characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the action first and no filler; every sentence carries information. Structure could be improved by leading with functional purpose rather than the runner mechanics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a passthrough argv executor the agent needs to know hakrawler's own CLI semantics, which are absent. Combined with zero annotation coverage, zero parameter-description coverage, and no sibling differentiation, the definition leaves significant gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 4 parameters, so the description must compensate. It meaningfully clarifies 'arguments' (raw argv tokens, no shell) and hints at 'working_directory' via 'use relative paths', but 'engagement_id' is only obliquely referenced as 'the selected engagement namespace' and 'stdin' is never mentioned at all.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and named binary ('Run hakrawler'), so an agent that already knows hakrawler understands it. However, it never explains what the tool actually does functionally (crawl a target for URLs/JS endpoints), so it does not distinguish itself from the many crawling/URL-gathering siblings (katana, gau, urlfinder, feroxbuster). The purpose is opaque to any agent unfamiliar with the CLI by name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives working-directory conventions ('relative paths for engagement artifacts') but no guidance about when to choose hakrawler over sibling crawlers, what input it expects first, or any exclusions. An agent is left to infer usage entirely from the bare tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_hashcatB
Run hashcat from the WebSex credentials toolkit. The container executes hashcat directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the whole behavioral burden. It usefully discloses that hashcat is invoked directly with argv tokens and that shell parsing is never used — a security-relevant execution guarantee — plus the engagement-namespace working context. It omits anything about resource intensity, runtime duration, potfile/session side effects, or failure behavior for such a compute-heavy tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with what the tool is, then the execution semantics, then the path convention. Little waste; each sentence adds information rather than restating the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the execution model is covered. What is missing for an arbitrary-argv wrapper around a heavy cracking binary is guidance on when it is the right tool relative to its siblings, and any warning about cost/duration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate. It explains that 'arguments' are raw argv tokens and that 'working_directory' accepts relative paths in the engagement namespace, covering two of four params, but 'stdin' and 'engagement_id' get no explicit semantics beyond the general namespace remark.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — run hashcat — and situates it in the WebSex credentials toolkit, so the agent knows exactly what binary will execute. It does not distinguish itself from close siblings like websex_john, websex_ophcrack, or websex_hash_identifier, but the purpose itself is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational context (runs from the selected engagement namespace, use relative paths for artifacts) but never says when to reach for hashcat versus the sibling crackers john/ophcrack or the identifier tool. Usage is only implied by the 'credentials toolkit' framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_hash_identifierC
Run hash identifier from the WebSex credentials toolkit. The container executes hash-identifier directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but does deliver real behavioral context: it clarifies that the container executes hash-identifier directly with argv tokens and that shell parsing is never used (a security-relevant execution detail), and that it runs from the selected engagement namespace. It omits failure behavior, stdin handling, and error/output semantics, so it is useful but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with the purpose front-loaded, followed by execution and namespace details. It is appropriately sized with little waste, though the middle clause about shell parsing is somewhat incidental to tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the execution/namespace notes cover part of an otherwise unannotated tool. However, with 4 undocumented parameters at 0% coverage - notably 'stdin' and the fully opaque 'arguments' array - the description is not complete enough for an agent to invoke it confidently in all cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate. It maps loosely to 'arguments' (argv tokens), 'engagement_id' (selected engagement namespace), and 'working_directory' (relative paths for artifacts), but it says nothing about 'stdin' and gives no format or value expectations for arguments, leaving a substantial gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific tool ('hash-identifier' from a 'credentials toolkit') and a verb ('Run'), but it largely restates the tool name rather than explaining what hash identification actually does or when its output would be useful. It offers no differentiation from adjacent credentials siblings like websex_hashcat, websex_john, websex_hashpump, or websex_file_hashes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites or alternatives among the many hash and credential tools in the sibling set. The only routing hint is 'use relative paths for engagement artifacts', which is a path convention, not usage selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_hashpumpC
Run hashpump from the WebSex forensics toolkit. The container executes hashpump directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that argv tokens are passed directly and shell parsing is never used, and that execution occurs in the engagement namespace, which tells the agent about injection semantics and path resolution. However it says nothing about whether the operation is read-only, resource limits, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences with the execution guarantee front-loaded and no filler. Nothing is repeated from the schema and every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the execution model is covered. The remaining gap is substantive: the tool's actual analytical purpose and its relationship to the other hashing tools are absent, and with no annotations the safety profile is only partially implied by the no-shell note.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate. It adds real meaning for two of them — "argv tokens" clarifies that arguments is a token array not a shell string, and "use relative paths" clarifies working_directory semantics — but says nothing about stdin or the engagement_id format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb and resource ("Run hashpump from the WebSex forensics toolkit"), which is accurate at the wrapper level, but never explains what hashpump actually accomplishes (hash length-extension attacks). With siblings like websex_hashcat, websex_john and websex_hash_identifier, an agent cannot infer the distinct purpose from this text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance. The only scoping information is environmental (engagement namespace, relative paths), which does not tell the agent when this tool is the right choice over the other hashing/cracking siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_header_injection_probeC
CRLF / response splitting via encoded CR/LF variants; confirmed when injected headers or Set-Cookie appear that the baseline did not have.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | No | GET | |
| headers | No | ||
| parameter | Yes | ||
| max_requests | No | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does add genuine behavioral value by disclosing the detection method (compare against a baseline response and look for newly appearing headers or Set-Cookie), but it omits whether the tool mutates state, whether it requires an established session/engagement, and any request-volume or rate-limit behavior for an active injection probe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states the technique first and the confirmation signal second, with no filler. It is efficient, though the confirmation clause could be terser without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, but for a 7-parameter active probe with zero schema documentation the description should cover parameter roles and operational prerequisites. It covers neither, so an agent still lacks what it needs to invoke this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, and the description explains none of them. The phrase 'encoded CR/LF variants' hints at how the injection is delivered but does not clarify what 'parameter' means, how method/body/headers are used, or the role of max_requests, leaving the schema to be guessed at.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific vulnerability class (CRLF / response splitting via encoded CR/LF variants) and states the confirmation condition, so an agent knows exactly what this probe tests. It stops short of explicitly contrasting with adjacent siblings such as host_header_probe or access_bypass_probe, leaving some differentiation to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no prerequisites (e.g., a baseline request must exist or headers must be reflected), and no named alternatives. The only implied usage is that this is a web header-injection probe, which the name already conveys.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_hibp_password_checkB
Check a password against HIBP using its k-anonymity range API.
| Name | Required | Description | Default |
|---|---|---|---|
| password | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose something genuinely useful: the k-anonymity range API means the check is privacy-preserving rather than sending the full password. However, it says nothing about network egress, whether results are cached, rate limits, or the write/read nature of the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with the action front-loaded and no filler. It is arguably too terse for a credential-handling tool, but nothing in it is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the tool has only one parameter and low complexity. Still, the definition omits the input format expectation and any behavioral caveats for a tool that handles a secret, leaving it minimally viable rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single "password" parameter, so the description must compensate. "Check a password" implies a plaintext string is accepted, which is the useful signal, but it never clarifies plaintext versus hash, even though sibling tools in this suite operate on hashes and confusion is plausible.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ("Check a password against HIBP") plus the mechanism ("k-anonymity range API"), which is enough to identify the tool at a glance. It does not explicitly differentiate itself from other credential-related siblings (e.g., hash_identifier, john), but no sibling performs breach lookups, so the gap is minor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or prerequisite information. The mention of the k-anonymity API is a mechanism detail, not guidance about when this tool is the right choice versus a local hash lookup. The agent must infer the trigger condition entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_host_header_probeC
Host / X-Forwarded-Host trust: whether absolute URLs (and optionally password-reset responses) rebuild from an attacker host.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| headers | No | ||
| evil_host | No | websex-host.invalid | |
| reset_body | No | ||
| engagement_id | Yes | ||
| password_reset_shape | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the detection model beyond a bare label — attacker-supplied Host/XFH, absolute-URL rebuilding, and an optional password-reset response mode — but says nothing about what requests are issued, whether the target is actively mutated, required authorization, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the tested condition front-loaded and zero filler. It is dense to the point of being telegraphic, but nothing wastes space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter active probe with no annotations and 0% schema coverage, the description is too thin: it never explains what is sent, how success is recognized, or how the optional reset mode is triggered. The existence of an output schema spares it from explaining return values, but parameter and usage gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for six parameters. The description obliquely explains evil_host ('attacker host') and the optional password-reset path (mapping to password_reset_shape/reset_body), but headers, url, and engagement_id are left entirely to bare schema names, so most parameters gain no meaning from the text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific test target (Host / X-Forwarded-Host trust) and the observable it checks — whether absolute URLs or password-reset responses rebuild from an attacker-controlled host. That is far more concrete than a generic 'probe', though it is phrased as a terse colon-fragment with no verb and does not distinguish itself from nearby siblings like websex_header_injection_probe or websex_ssrf_probe.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use statement, no prerequisites, and no mention of alternative sibling probes the agent might pick instead. The agent must infer the use case entirely from the tested condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_http_historyB
Read the complete persisted request/response history for one engagement HTTP workbench session.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It adds useful context by stating the operation is a read of complete, persisted request/response history, which implies a safe read-only action and clarifies data scope, but it does not mention permissions, rate limits, or other operational constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It immediately states the operation and the target resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, with no annotations and 0% schema description coverage, the description is minimal: it omits usage guidance, parameter details, and operational constraints needed for a fully self-contained definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the two required parameters. It does add a semantic relationship by saying the history belongs to one engagement session, implying both engagement_id and session_id are needed together, but it does not explain the format or individual meaning of either parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a clear verb (Read) and a specific resource (complete persisted request/response history for one session). It distinguishes itself from session-list and session-get siblings by emphasizing per-session request/response history, but it does not explicitly name or contrast with those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus related siblings such as websex_http_session_get or websex_http_request. The description implies you need a specific session, but it states no prerequisites, exclusions, or alternative-selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_httpieB
Run httpie from the WebSex web toolkit. The container executes http directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose genuinely useful behavior: argv tokens are executed directly and shell parsing is never used, which tells the agent that pipes, redirects, and metacharacters will not work. It also states the execution context (engagement namespace) and working-directory convention. It does not mention permissions, network egress constraints, or whether requests are logged/recorded.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with what the tool is and how execution works, then the scoping/path guidance. No filler, though the namespace/path sentence could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, for a request-emitting tool with zero annotation coverage, the description omits auth/credential handling, network constraints, and the meaning of the undocumented stdin parameter, leaving gaps an agent may need to guess at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate. It clarifies 'arguments' (raw argv tokens, not a shell string) and implicitly the engagement namespace and relative working directory, but the 'stdin' parameter and the exact form of engagement_id are never addressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific tool (httpie/http) and a specific runtime (the WebSex web toolkit container), so the agent knows this is a CLI wrapper rather than a native HTTP client. It is less explicit about how it differs from siblings like websex_curl or websex_http_request, but the 'runs `http` directly with argv tokens' phrasing is distinctive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives operational hints ('use relative paths for engagement artifacts', 'runs from the selected engagement namespace') but never states when to choose httpie over websex_curl, websex_http_request, or websex_bash. No prerequisites or exclusions are given, so routing among the many HTTP-capable siblings is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_http_intruderC
Run caller-bounded sniper-style payload iteration through an HTTP workbench session against one query, header, body, or path location.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | Yes | ||
| headers | No | ||
| location | Yes | ||
| payloads | Yes | ||
| parameter | Yes | ||
| session_id | Yes | ||
| max_requests | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full disclosure burden. It hints at boundedness ('caller-bounded') and a single insertion point ('sniper-style'), but says nothing about auth/session prerequisites, side effects, rate limits, or whether requests are recorded in the session. For a tool that fires many outbound HTTP requests, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Its only weakness is that the terseness is underspecification rather than genuine economy given the ten-parameter surface.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, but the tool still requires 8 of 10 params with zero documentation and no annotations. The description is too thin for an agent to safely wire up an intruder run against a session.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 10 parameters, so the description must compensate and largely does not. It loosely maps to 'location'/'parameter' ('one query, header, body, or path location') and 'max_requests' ('caller-bounded'), but leaves engagement_id, session_id, method, url, headers, body, and payloads entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'run sniper-style payload iteration through an HTTP workbench session' and names the injection targets ('query, header, body, or path location'). An agent can grasp the core operation, but the description never distinguishes it from close siblings like websex_ffuf, websex_wfuzz, or websex_api_fuzz.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given, and no alternative is named despite several near-equivalent fuzzing/intruder siblings. The word 'sniper-style' implies a single-position insertion, but the description never tells the agent why to pick this over websex_ffuf or websex_http_repeater.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_http_repeaterA
Replay one crafted HTTP request through an engagement workbench session, enforcing scope and applying persisted headers, cookies, and match/replace rules. Complete evidence is retained.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | Yes | ||
| headers | No | ||
| session_id | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that scope is enforced, that persisted headers/cookies/match-replace rules are applied, and that evidence is retained — real behavioral context. It omits side-effect/mutation risk, prerequisites (e.g. session must already exist), and rate/authorization constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, zero filler; the core action is front-loaded and each clause earns its place by adding scope, persistence, and evidence information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. The description covers the operation's behavior and session/scope model adequately, but with 0% schema coverage and 6 parameters, it could say more about how the required engagement_id/session_id relate and what happens on scope rejection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 6 parameters, so the description must compensate. It clarifies the engagement/session relationship and the request parts (method, url, headers, body) conceptually, but gives no format, default, or constraint detail for any individual parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and scope: 'Replay one crafted HTTP request through an engagement workbench session.' An agent can tell this is a single-request replay rather than a bulk/fuzz tool, but the description never names or contrasts with WebSiblings like websex_http_request or websex_http_intruder.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'one crafted HTTP request' within a session, hinting at single-shot manual replay versus an intruder's many-request fuzzing. However there is no explicit when-to-use, when-not-to-use, or alternative-tool guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_http_requestC
Send a complete HTTP request and return the full response without truncation.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | Yes | ||
| headers | No | ||
| follow_redirects | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses one trait (responses are returned without truncation), but says nothing about authentication requirements, rate limits, redirect behavior (despite a follow_redirects param defaulting true), or side effects of the request.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler, which is appropriately sized and wastes nothing. It is arguably too terse given the missing information, but the sentence itself earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for a 5-parameter HTTP client with no annotations and zero schema descriptions, the definition is under-specified on how to construct requests, what methods are expected, or how body/headers interact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters, and the description adds no meaning for any of them (method, url, body, headers, follow_redirects). With required params undocumented and no compensating prose, the agent gets no help beyond the raw JSON types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (send) and resource (HTTP request) and adds a distinguishing behavioral claim ('complete', 'full response without truncation'). It is clear what the tool does, but it never names or contrasts against obvious siblings like websex_curl, websex_httpie, or websex_http_repeater, so an agent cannot easily tell which HTTP tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no mention of alternatives such as curl/httpie for CLI-style requests or http_repeater/http_intruder for session-based work. The agent is left to infer selection from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_http_session_createC
Create a persistent engagement-scoped HTTP workbench session with declared target scope, default headers, cookies, TLS, and redirect behavior.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| base_url | Yes | ||
| verify_tls | No | ||
| scope_hosts | No | ||
| engagement_id | Yes | ||
| default_headers | No | ||
| follow_redirects | No | ||
| include_subdomains | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It adds useful context ('persistent', 'engagement-scoped', 'declared target scope'), but says nothing about authentication needs, whether sessions can be reused concurrently, or lifecycle/destruction behavior. Return values are covered by the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no filler, leading with the verb and resource. Efficient, though it is terse for an 8-parameter tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 8 undocumented parameters, no annotations, and no title, a one-sentence description is thin. The output schema covers return values, but when-to-use context and parameter meaning are left to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 8 parameters, so the description must compensate. It maps loosely to scope_hosts, default_headers, verify_tls and follow_redirects, but omits name, base_url, engagement_id and include_subdomains, and references 'cookies' for which no parameter exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Create a persistent engagement-scoped HTTP workbench session') and enumerates the configurable dimensions (scope, headers, TLS, redirects). The 'create' verb clearly separates it from session_list/get/update siblings, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It conveys that the session is persistent and engagement-scoped, but gives no guidance on when to create a session versus using websex_http_request, websex_http_repeater, or the browser tools directly. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_http_session_getB
Inspect one engagement-scoped HTTP workbench session and its history count.
| Name | Required | Description | Default |
|---|---|---|---|
| session_id | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden, and 'Inspect' only weakly signals a read-only operation. It does add one behavioral detail beyond the schema by disclosing that a history count is returned, but says nothing about permissions, missing-session behavior, or whether the operation has 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, and the key qualifiers ('one', 'engagement-scoped') are front-loaded. It is appropriately sized for a simple getter, though the terseness borders on under-specification rather than pure economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and this is a low-risk read operation. Still, with zero schema description coverage and no annotations, the definition leaves the agent guessing about parameter formats and error conditions for a two-parameter lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both required parameters, so the description must compensate and largely does not. 'Engagement-scoped' hints that engagement_id narrows the lookup, but session_id's format and origin are never explained, leaving half the parameter surface undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Inspect') and resource ('one engagement-scoped HTTP workbench session') with a singular scope, which implicitly separates it from the plural websex_http_session_list. It does not name any sibling explicitly, but the resource and cardinality are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'one ... session' implies retrieval of a single session by ID rather than a listing, which is enough to infer the split from websex_http_session_list. However, it never states when to prefer this over the list, nor any prerequisites for obtaining a valid session_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_http_session_listC
List persistent HTTP workbench sessions in one engagement.
| Name | Required | Description | Default |
|---|---|---|---|
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does not state that this is a read-only operation, nor whether results are paginated, filtered, or ordered, and it gives no auth or rate-limit context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb and scope appear immediately and nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and the tool is a simple one-parameter list. However, with zero annotation coverage and 0% parameter documentation, the description leaves open basic behavioral questions (read-only nature, empty results, session scoping) that an agent would want answered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single required engagement_id parameter, so the description must compensate. 'In one engagement' loosely implies the parameter scopes the listing, but it does not explain the expected identifier format or behavior when the engagement is invalid or has no sessions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (persistent HTTP workbench sessions) scoped to one engagement. It is clearly distinguishable from siblings like websex_http_session_get or websex_http_session_create, though it does not explicitly name or contrast with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and no mention of alternatives such as websex_http_session_get for a single session. The only hint is the 'in one engagement' scope, which is implied rather than stated as a usage rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_http_session_updateC
Update an HTTP workbench session's scope, headers, cookies, match/replace rules, TLS verification, or redirect behavior.
| Name | Required | Description | Default |
|---|---|---|---|
| rules | No | ||
| cookies | No | ||
| session_id | Yes | ||
| verify_tls | No | ||
| scope_hosts | No | ||
| engagement_id | Yes | ||
| default_headers | No | ||
| follow_redirects | No | ||
| include_subdomains | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It never states whether this is a partial merge or a full replacement of prior settings, what happens to fields omitted from the call, whether the referenced session must exist, or any permission/engagement requirement. For a mutation tool with zero annotation coverage 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence enumerating the updatable facets with no filler. Efficient and easy to scan, though it could have spent a clause on update semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But with 9 parameters, 2 required, and no annotations, the description leaves the update/replace semantics, required-parameter meaning, and the omitted include_subdomains facet unaddressed, making it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It names most of the mutable fields (scope, headers, cookies, rules, TLS verification, redirects), mapping roughly to scope_hosts, default_headers, cookies, rules, verify_tls, and follow_redirects. However, it omits include_subdomains and says nothing about the required engagement_id/session_id or the expected value formats.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb (Update) and resource (HTTP workbench session) and enumerates the mutable facets (scope, headers, cookies, rules, TLS, redirects). It distinguishes itself functionally from session_create/session_get by listing what can be changed, though it does not name sibling tools explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives such as websex_http_session_create, websex_http_session_get, or websex_http_session_list. An agent must infer that this is the mutation counterpart to the other session tools purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_httpxB
Run httpx from the WebSex web toolkit. The container executes httpx directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full behavioral burden. It adds genuinely useful execution semantics: direct argv invocation with no shell parsing, execution from an engagement namespace, and relative-path artifact handling. It still omits permissions, network side effects, and any safety or destructiveness profile, so the disclosure is only partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and followed by execution and path details. Each sentence contributes operational information, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. The description covers the execution model and path/namespace behavior, but for a four-parameter command-wrapper tool with no annotations it still omits stdin semantics and any usage context. It is minimally adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implicitly maps arguments to argv tokens, engagement_id to the engagement namespace, and working_directory to relative-path behavior, but it never mentions the stdin parameter and gives no format or detailed semantics for engagement_id. Partial compensation is adequate but leaves a clear gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Run httpx from the WebSex web toolkit,' and clarifies that it is a CLI wrapper executing the httpx binary. However, it never explains what httpx is for (e.g., HTTP probing) and does not distinguish it from sibling HTTP tools such as websex_curl, websex_httpie, or websex_http_request.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, nor any exclusions. The note about running from the selected engagement namespace and using relative paths is operational mechanics, not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_hydraB
Run hydra from the WebSex credentials toolkit. The container executes hydra directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does disclose real execution semantics: hydra is invoked directly with argv tokens and never through a shell, runs from the engagement namespace, and expects relative artifact paths. It omits meaningful traits for a credential-attack tool such as account-lockout risk, target scope, or whether output is persisted, so it adds value without being complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core action front-loaded and no filler. It could be trimmed slightly, but every sentence carries execution-model information rather than restating metadata.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the description covers the invocation model adequately. For a credential-attack tool with zero annotations and zero schema coverage, however, it is still missing guidance on targets, blast radius, and argument conventions that an agent would need to call it safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It loosely maps three parameters (arguments as argv tokens, engagement_id via the engagement namespace, working_directory via relative paths) but leaves stdin entirely unexplained and gives no constraints on the arguments array itself, which is the core payload.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (run) and resource (hydra) and frames it as part of the WebSex credentials toolkit, so the agent knows this invokes the hydra binary. However, it never distinguishes hydra from closely related siblings such as websex_medusa or websex_patator, which cover overlapping credential-attack territory.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of alternatives, even though medusa and patator are direct sibling overlaps. The only usage-adjacent content is the mechanics (argv tokens, relative paths, engagement namespace), which is not the same as telling the agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_idor_probeB
Object-level authorization: replay one object URL as owner, other low-privilege user, and anonymous; fires on identical cross-identity success or inverted authz.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | No | GET | |
| anon_headers | No | ||
| max_requests | No | ||
| engagement_id | Yes | ||
| mutate_marker | No | ||
| other_headers | No | ||
| primary_headers | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses the core behavior (three-identity replay and the firing condition), which is valuable, but omits whether it is read-only, that it actively sends requests, request-volume/rate considerations (max_requests defaults to 40), and any authorization requirements for the engagement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense, front-loaded sentence with no filler. It is efficient, though the compressed jargon-heavy phrasing and lack of any structural breakdown make it slightly harder to parse than it needs to be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. Still, for a 9-parameter tool with nested header objects and zero schema description coverage, the single-sentence description is thin on parameter and behavioral context that an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 9 parameters, so the description must compensate, yet it only indirectly implies the url. It never explains the distinction between primary_headers, other_headers, and anon_headers, nor the roles of body, method, mutate_marker, max_requests, or engagement_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific technique (object-level authorization probe) and the exact mechanism: replay one object URL as owner, low-privilege user, and anonymous. The word 'one' implicitly distinguishes it from the sibling websex_idor_sweep_probe, but no sibling is named, so the differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The detection trigger ('fires on identical cross-identity success or inverted authz') tells the agent what the tool is looking for, which implies when to reach for it. However, there is no explicit when-to-use vs the closely related idor_sweep_probe, access_bypass_probe, or bfla_probe, and no stated prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_idor_sweep_probeA
Sweep object ids through a {id} template under one identity to build a status/shape oracle, then replay hits with websex_idor_probe.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | ||
| method | No | GET | |
| headers | Yes | ||
| max_requests | No | ||
| url_template | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that all requests go out 'under one identity' and that output is a lightweight status/shape oracle rather than full bodies, but says nothing about safety, request volume/rate behavior, or what happens on errors/hits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with the analysis step front-loaded and the follow-up action last; nothing is wasted. The 'status/shape oracle' phrasing is slightly jargon-heavy but earns its place by describing the output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value documentation is not required, and the workflow role is clear. However, for a 6-parameter, nested-object probe with zero schema coverage, the description is thin on the parameters needed to actually invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 6 parameters, so the description must compensate. It explains the {id} placeholder semantics of url_template and the single-identity constraint, but leaves method, headers, ids, max_requests, and engagement_id completely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (sweep) and resource (object ids through a {id} template) and frames the tool as the enumeration step that feeds websex_idor_probe. This lets an agent distinguish it from the sibling idor_probe without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly sequences the workflow: sweep under one identity first, then 'replay hits with websex_idor_probe'. That is real when-to-use guidance naming the alternative, though no exclusions or preconditions (e.g., when to skip the sweep) are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_jaelesC
Run jaeles from the WebSex web toolkit. The container executes jaeles directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses the execution model ('executes jaeles directly with the supplied argv tokens; shell parsing is never used'), which is meaningful behavioral context for a security tool. However, it says nothing about resource usage, whether scans are destructive/active against targets, or what the output looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences with the core action front-loaded and no wasted filler. It is well-sized, though it spends a sentence on shell-parsing mechanics while omitting what the tool actually does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But with no annotations and 0% schema coverage on a 4-param tool, the description leaves stdin unexplained and never describes jaeles' purpose or scanning behavior, which an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 params, so the description must compensate. It partially does: 'argv tokens' clarifies the arguments array, 'engagement namespace' maps to engagement_id, and 'relative paths for engagement artifacts' hints at working_directory. The stdin parameter is entirely undocumented, leaving a real gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a clear verb+resource ('Run jaeles') and names the toolkit, but never states what jaeles actually does (a web-application vulnerability scanner). With dozens of sibling web scanners (nuclei, nikto, wfuzz, dalfox, etc.) present, an agent gets no basis to distinguish this tool's purpose from theirs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It notes that jaeles runs from the selected engagement namespace and to use relative paths for artifacts, which is operational context. But there is no when-to-use guidance, no prerequisites, and no indication of when to prefer jaeles over nuclei or other scanning siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_johnB
Run john from the WebSex credentials toolkit. The container executes john directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that john is executed directly with argv tokens and no shell parsing, and that it runs from the engagement namespace with relative paths. However, it omits operational details such as expected resource usage, execution duration, output behavior, or safety considerations for a potentially long-running cracking process.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences and front-loads the primary action. The execution detail and path guidance are useful, and there is no filler. It could be slightly more structured by grouping parameter-related guidance, but it is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (arbitrary binary execution via argv) and the existence of an output schema, the description does not need to explain return values. However, with 0% schema description coverage and no annotations, it should say more about stdin, working directory semantics, and when an agent should choose this over sibling credential tools. It provides useful execution context but is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies that 'arguments' are argv tokens passed directly to john, that 'engagement_id' selects the engagement namespace, and that relative paths should be used for artifacts. It does not explain the 'stdin' parameter or the exact role of 'working_directory' beyond the path guidance, leaving gaps for two of four parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Run john from the WebSex credentials toolkit.' It is clear that this executes the John the Ripper password cracker, but it does not explicitly differentiate itself from sibling credential tools like websex_hashcat, websex_hydra, or websex_ophcrack.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as hashcat or hydra. The mention of the credentials toolkit implies a domain, but there are no explicit conditions, prerequisites, or exclusions to help an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_jqB
Parse, query, transform, and validate JSON inside the selected engagement with jq. Use this instead of brittle regular expressions for JSON and OpenAPI documents. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses operational context (execution namespace, relative paths for artifacts), which is genuinely useful, but says nothing about whether the operation is read-only, how errors surface, or output handling. Adequate but incomplete for a parameterized execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core purpose front-loaded, followed by usage guidance and execution context. No filler, though the final sentence is slightly redundant with the namespace mention.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. For a 4-parameter tool with 0% schema description coverage, the definition covers purpose and usage well but leaves parameter semantics largely unaddressed, which is the main completeness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it largely does not. It never explains engagement_id, the arguments array (jq filter/options), stdin (the input JSON), or working_directory; the closest it comes is the 'relative paths for engagement artifacts' hint tied loosely to working_directory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb set (parse, query, transform, validate) against a specific resource (JSON via jq), and frames the scope as the selected engagement. It implies the sibling distinction by contrasting with 'brittle regular expressions,' though it never names websex_grep or websex_openapi_inspect directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear when-to-use guidance: prefer this over regex for JSON and OpenAPI documents. It also adds operational context (runs from the engagement namespace, use relative paths for artifacts). It stops short of stating exclusions or naming an alternative tool explicitly, so it isn't a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_jwt_auditB
Audit JWT structure and claims for evidence-backed review items such as alg=none, missing expiry, issuer mismatch, and audience mismatch. Signature verification is never implied.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | ||
| engagement_id | Yes | ||
| expected_issuer | No | ||
| expected_audience | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it usefully discloses a scope limitation: 'Signature verification is never implied,' which prevents an agent from over-trusting results. However, it omits auth requirements, whether the token is transmitted/stored, and any rate or side-effect information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with zero filler; the finding list is front-loaded and the caveat is appended efficiently. Nothing needs trimming.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. The description covers what is checked and the signature caveat, but with no annotations and 0% parameter coverage it leaves gaps around the required engagement_id/token semantics and any safety profile for a security tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters. The description's mention of issuer and audience mismatch implicitly maps to expected_issuer and expected_audience, but it gives no format or meaning for the required engagement_id and token, nor how the expected_* fields drive the audit. Compensation is partial at best.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Audit) and resource (JWT structure and claims) and enumerates concrete findings (alg=none, missing expiry, issuer/audience mismatch). It does not, however, differentiate itself from the sibling tools websex_jwt_decode or websex_jwt_deep_probe, leaving the agent to guess which JWT tool applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the audit looks for but never states when to reach for this tool versus websex_jwt_decode or websex_jwt_deep_probe, nor any prerequisites. Usage must be inferred from the security-review framing alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_jwt_decodeB
Decode JWT header and payload fields without claiming signature verification.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose one genuinely important trait: it does not verify signatures, which prevents the agent from over-trusting output. It does not cover error behavior on malformed tokens or the scope of decoded fields, though an output schema exists to carry return-value detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the key caveat about signature verification is placed immediately after the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter decode tool with an output schema, the description covers the essential caveat an agent needs to avoid misinterpreting results. It could still note routing to the audit siblings, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter (token) with 0% schema description coverage, so the description technically adds the only semantic context by naming 'JWT header and payload'. The parameter is self-evident from the tool name, so this is minimally adequate rather than rich.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Decode) and resource (JWT header and payload fields), and the trailing clause carves out scope versus a full verifier. It does not explicitly name the sibling tools (websex_jwt_audit, websex_jwt_deep_probe), so differentiation is left partly to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit statement of when to use this versus websex_jwt_audit or websex_jwt_deep_probe, nor any prerequisites. The 'without claiming signature verification' clause hints at a lightweight, non-verifying decode, but the agent must infer that this is the simple decoding option.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_jwt_deep_probeB
Live-oracle JWT audit: alg=none acceptance, RS256->HS256 confusion via JWKS, weak HS256 secret cracking against a bundled + payload-derived wordlist, claim tampering, kid leads. Calibrates with a valid token control request first.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | ||
| method | No | GET | |
| headers | No | ||
| probe_url | Yes | ||
| crack_secret | No | ||
| max_requests | No | ||
| engagement_id | Yes | ||
| expected_issuer | No | ||
| auth_header_name | No | Authorization | |
| expected_audience | No | ||
| auth_header_template | No | Bearer {token} |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real behavior: the probing methodology and the fact that it issues a valid-token control request first to calibrate. It still omits authorization/permission requirements, request-rate or side-effect implications (max_requests defaults to 12), and whether it mutates target state.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that is front-loaded with the core purpose and then enumerates scope; nearly every clause carries information. The trailing calibration note is slightly abrupt but still earns its place as a workflow detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, but for a complex live-attack tool with 11 undocumented parameters and no annotations, the description leaves too much unspecified. It conveys the attack surface well but not enough for correct invocation of the many configuration parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 11 parameters, so the description must compensate, yet it explains only a few concepts indirectly (wordlist for crack_secret, JWKS for the confusion attack, claim tampering hinting at expected_issuer/audience). Core params like token, probe_url, engagement_id, method, headers, auth_header_name, and auth_header_template receive no added meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('JWT audit') and enumerates the exact attack classes covered: alg=none, RS256->HS256 confusion via JWKS, HS256 secret cracking, claim tampering, and kid leads. This is far more specific than a generic audit label, but it never names the sibling tools (websex_jwt_decode, websex_jwt_audit) to differentiate itself, so an agent must infer which JWT tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Live-oracle' implicitly signals that a reachable target is required, distinguishing it from offline decoding, and the calibration note implies an active probe workflow. However, it gives no explicit when-to-use vs when-not, and does not point to websex_jwt_decode or websex_jwt_audit as the lighter alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_katanaC
Run katana from the WebSex web toolkit. The container executes katana directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full behavioral burden. It does add real value by disclosing that the binary is invoked with argv tokens and that shell parsing is never used, plus the namespace/path convention. It says nothing about runtime expectations, network requirements, output location, or how stdin is consumed, which are meaningful gaps for a raw-binary wrapper.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the core action front-loaded and no filler. The argv/no-shell sentence and the namespace sentence each carry usable information. Slightly more compact framing could fold the two trailing sentences together, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described here, and the description correctly focuses on invocation semantics. However, for a generic binary-runner sitting in a very dense sibling set of overlapping recon/crawl tools, the absence of any what-it-does or when-to-use content leaves the definition short of complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It partially does: "arguments" are clarified as argv tokens (not a shell string), and "working_directory" is clarified as relative to the engagement namespace. "engagement_id" is only gestured at as a namespace and "stdin" is left entirely unexplained, so half the parameters remain opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names a concrete verb and the binary it wraps ("Run katana") and ties it to the WebSex toolkit, so it is not a tautology. But it never says what katana actually does (web crawling/spidering), leaving an agent to rely on outside knowledge of the binary. With several crawl-like siblings (websex_hakrawler, websex_gau, websex_urlfinder) nothing in the description distinguishes this tool from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to reach for katana versus the other content-discovery tools, nor any precondition or exclusion. The only guidance is operational (engagement namespace, relative paths), which tells the agent how it runs, not when to pick it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_kismetB
Run kismet from the WebSex wireless toolkit. The container executes kismet directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it usefully discloses invocation semantics: kismet is executed directly with argv tokens and shell parsing is never used, which tells the agent about argument handling and injection safety. It omits operationally important traits for a wireless sniffer — monitor-mode/privilege requirements, that it is likely long-running, and how output is produced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the purpose before the execution detail and path guidance. No filler, though the namespace/path sentences could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But for a wireless-sniffing CLI wrapper with no annotations anywhere, the description should mention prerequisites like monitor mode or privileges and the long-running nature of capture — omissions that materially affect correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 4 parameters, so the description must compensate. It partially does: 'supplied argv tokens' clarifies that arguments are raw CLI tokens and 'use relative paths' addresses working_directory. But stdin and engagement_id are left completely unexplained, so two of four parameters remain ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Run kismet from the WebSex wireless toolkit,' making the operation unambiguous. However, it does not distinguish kismet from the many other wireless siblings (aircrack, airodump, aireplay, airmon), so an agent has no criteria for choosing it over them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides some usage context — it runs from the selected engagement namespace and engagement artifacts should use relative paths. But it gives no when-to-use versus alternatives (e.g. kismet vs airodump for wireless capture), which is where the real selection ambiguity lies among the wireless siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_kube_benchB
Run kube bench from the WebSex cloud container iac toolkit. The container executes kube-bench directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that kube-bench runs via direct argv tokens with no shell parsing (a real safety/injection property) and the namespace/relative-path behavior. It omits cluster access requirements, whether it reads or alters cluster state, and rate/scope limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action and followed by execution and path semantics. No filler or redundancy, though it is slightly terse given the surrounding gaps.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. However, for an execution-wrapper tool with two required parameters and zero schema coverage, the description leaves required-input handling and execution constraints under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate. It only hints at 'arguments' (argv tokens) and working_directory (relative paths); 'engagement_id' and 'stdin' receive no explanation, leaving half the parameters undocumented in both the schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Run kube bench') and names the execution context (container IaC toolkit). It is clear what the tool does, but it does not differentiate itself from close siblings like websex_kube_hunter or websex_docker_bench, so an agent must already know kube-bench's role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative routing (e.g., kube-hunter vs docker-bench vs kube-bench). The only context offered is 'Runs from the selected engagement namespace' and 'use relative paths', which describe mechanics rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_kube_hunterC
Run kube hunter from the WebSex cloud container iac toolkit. The container executes kube-hunter directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose genuinely useful behavior: kube-hunter is executed directly with argv tokens and shell parsing is never used, and it runs from the engagement namespace. However, it says nothing about permissions/auth needs, whether the scan is active/intrusive against the target cluster, rate limits, or side effects — significant gaps for a security scanning tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the execution model, and no filler. It is appropriately sized for a wrapper tool, though the third clause (relative paths) is a little tacked-on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. But for a 4-param tool with 0% schema coverage and no annotations, the description leaves the agent without the tool's actual purpose, the meaning of engagement_id, or any selection guidance against near-identical siblings. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters. The description gestures at two of them obliquely ('supplied argv tokens' → arguments, 'use relative paths for engagement artifacts' → working_directory) but never explains engagement_id or stdin, and gives no format, constraints, or defaults. It only partially compensates for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Run kube hunter" mostly restates the tool name and adds only the container/toolkit location; it never states what kube-hunter actually does (hunt for security weaknesses in a Kubernetes cluster) nor how it differs from the adjacent websex_kube_bench sibling. The operational framing ('WebSex cloud container iac toolkit') adds a little context but also arguably mislabels a k8s pentest tool as IaC tooling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternatives named, despite a crowded field of overlapping siblings (kube_bench, docker_bench, trivy, checkov, terrascan). The only conditional content is about relative paths for artifacts, which is a usage constraint, not tool selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_logic_probeC
Business logic values: negative/zero/overflow/discount/status-forced patches against fields present in the base body; fires when illegal values are accepted and reflected.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| fields | No | ||
| method | No | POST | |
| headers | No | ||
| base_body | No | ||
| content_type | No | application/json | |
| max_requests | No | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses payload classes and the fire condition, which is useful, but omits whether the 'patches' mutate server state, any authorization/scope requirement, rate-limit or request-budget behavior, and the safety profile of a tool that can issue up to 28 requests with modified values.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence with no filler and the payload taxonomy front-loaded before the detection signal. It reads as telegraphic rather than padded, though the semicolon-clause style is slightly compressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter mutation-capable probe with no annotations, the description explains the probe logic but leaves parameter usage and safety/behavioral context to inference. An output schema exists, so return values need not be described, but the rest of the obligation is unmet.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description must compensate and largely does not. It hints at base_body and fields ('fields present in the base body') but says nothing about url, method, headers, content_type, max_requests, or engagement_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (business logic values) and the exact payload classes it injects (negative/zero/overflow/discount/status-forced), plus the detection condition 'fires when illegal values are accepted and reflected'. This differentiates it from injection probes like sqli_probe or cmdi_probe, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Only an implicit prerequisite is given ('against fields present in the base body'), implying a base_body/fields must be supplied. There is no statement of when to choose this over mass_assignment_probe, api_fuzz, or http_intruder, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_mass_assignment_probeC
Over-posting: inject sensitive fields (role/admin/balance/flags) into create/update and verify persistence by re-reading the object. High-confidence on persisted sentinels.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| fields | No | ||
| method | No | POST | |
| headers | Yes | ||
| base_body | No | ||
| content_type | No | application/json | |
| max_requests | No | ||
| engagement_id | Yes | ||
| sentinel_values | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It does disclose the mechanism (inject fields, re-read to confirm persistence) and hints at confidence scoring ('high-confidence on persisted sentinels'), but omits authorization prerequisites, that it actively mutates target state, rate/request limits implied by max_requests, and failure behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the technique and followed by the verification/confidence claim. No filler, though it is arguably too terse given the parameter surface it must cover.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, but for a mutating 9-parameter probe with zero annotation and zero schema-description coverage, the description is far too thin on prerequisites, request semantics, and safety context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 9 parameters, so the description must compensate and largely fails to. It loosely maps to 'fields' (role/admin/balance/flags) and 'method' (create/update), but url, headers, engagement_id, base_body, content_type, max_requests, and sentinel_values remain undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific technique (over-posting / mass assignment), the exact action (inject sensitive fields into create/update), and the verification method (re-read the object). This distinguishes it reasonably from generic siblings like api_fuzz or http_repeater, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the probe does but gives no guidance on when to reach for it versus adjacent probes (bfla_probe, idor_probe, logic_probe, api_fuzz) or raw http_request. No preconditions, no when-not-to-use, no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_masscanB
Run masscan from the WebSex network toolkit. The container executes masscan directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that masscan is executed directly with argv tokens and that shell parsing is never used, plus namespace and path behavior. However, it omits safety profile, rate limits, destructive potential, and authorization requirements for a network scanner.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with the core action and followed by essential execution context. No wasted words; every sentence adds relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. Yet with no annotations and 0% schema description coverage, the description should explain more about stdin, working_directory defaults, argument structure, and when to select masscan versus other scanners. It is adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It hints that 'arguments' are argv tokens and that 'engagement_id' selects the namespace, and 'relative paths' relates to working_directory. But it does not explain stdin, the array-of-strings format, or the default working directory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Run masscan from the WebSex network toolkit.' An agent can tell it runs masscan, but the description does not differentiate it from sibling network scanners such as websex_nmap or websex_rustscan.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides execution constraints ('Runs from the selected engagement namespace; use relative paths for engagement artifacts') but no guidance on when to choose masscan over alternatives like nmap or rustscan. There are no when-to-use or when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_medusaB
Run medusa from the WebSex credentials toolkit. The container executes medusa directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but does add genuinely useful execution semantics: medusa runs directly with argv tokens and no shell parsing, and artifacts are resolved via relative paths in the engagement namespace. It stops short of stating permissions, expected runtime, or side effects of a credential attack.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and followed by execution details, with no filler. Slightly compact given the amount an agent needs to know about a 4-param process-execution tool, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, for a tool with 4 undocumented parameters and zero annotation coverage, the description should specify argument/engagement_id expectations and any safety caveats; it covers execution mechanics but not the parameter contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate. It hints at 'arguments' (argv tokens) and 'working_directory' (relative paths) but says nothing about 'stdin' or 'engagement_id', leaving half the parameters undocumented in either schema or prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Run medusa') and identifies it as part of the WebSex credentials toolkit, clarifying it is a credential-attack tool. It does not, however, differentiate it from siblings like websex_hydra, websex_patator, or websex_john that serve overlapping purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes it runs from the selected engagement namespace and to use relative paths, which is invocation context rather than tool selection guidance. It never says when to prefer medusa over hydra/patator or what preconditions (target host, credential lists) are needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_metasploitB
Run metasploit from the WebSex exploitation toolkit. The container executes msfconsole directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose useful execution semantics: argv tokens are passed directly to msfconsole with no shell parsing, and execution is namespaced to the selected engagement. It says nothing about destructive potential, authorization/scope requirements, runtime duration, or interaction patterns for an exploitation tool, which is a notable gap given zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with purpose front-loaded, then invocation mechanics, then path convention. No filler; each sentence contributes. Not quite a 5 only because the invocation details could be grouped more crisply.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. For a 4-parameter, un-annotated exploitation tool, however, the definition leaves `stdin` undocumented and omits any statement of scope, blocking behavior, or safety expectations — an agent could call it correctly at the mechanical level but not with full awareness of consequences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for 4 parameters, so the description must compensate. It clarifies the semantics of `arguments` (raw argv tokens, no shell parsing), implicitly the engagement namespace for `engagement_id`, and gives guidance for `working_directory` (relative paths for engagement artifacts). The `stdin` parameter is never addressed, and no formats or constraints are given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: running Metasploit's `msfconsole` via the WebSex toolkit, with the argv-token invocation model named explicitly. It is distinguishable from `websex_msfvenom` and `websex_exploit_search`, though it doesn't say how it differs from generic executors like `websex_execute` or `websex_bash`.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this over `websex_exploit_search`, `websex_msfvenom`, or the generic `websex_execute`. The only guidance is mechanical ('use relative paths'), not selection-oriented, so an agent gets no help choosing between the many execution/exploitation siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_msfvenomB
Run msfvenom from the WebSex exploitation toolkit. The container executes msfvenom directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real value: it discloses that the container executes msfvenom directly with argv tokens and that shell parsing is never used, plus the engagement-namespace scoping. However it omits that this produces payload artifacts on disk, where they land, and any permission or rate-limit context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the verb and the execution model. No filler and every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. Still, for a mutation tool that writes artifacts with 0% parameter coverage and no annotations, the description leaves gaps: stdin semantics and the artifact/output destination are not addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description should compensate. It partially does: 'arguments' are clarified as argv tokens, 'engagement_id' maps to the selected namespace, and 'working_directory' is implied by the relative-path guidance. The 'stdin' parameter is entirely unexplained in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run msfvenom'), naming the exact binary and toolkit. It is distinguishable from most siblings by naming msfvenom, though it never explicitly contrasts itself with the closer alternatives like websex_payload_encode or websex_metasploit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational hints (relative paths for engagement artifacts) but no guidance on when to use this tool versus the many payload/exploit siblings (payload_encode, exploit_search, metasploit). The agent is left to infer the selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_netbios_scanB
Run netbios scan from the WebSex network toolkit. The container executes nbtscan directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses useful execution details: the container runs `nbtscan` directly with argv tokens and never uses shell parsing, and it runs from the selected engagement namespace using relative paths. However, it does not state whether the scan is read-only/non-destructive, what permissions or network impact it has, or expected runtime, leaving key behavioral traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, leading with the tool's purpose and then briefly covering execution and namespace/path behavior. Every sentence carries relevant information, though it could be slightly more explicit about parameter semantics without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a scan-execution tool with no annotations, no schema descriptions, and four parameters, the description is incomplete. It omits parameter-level details, safety/impact information, and when-to-use guidance against sibling tools. The output schema exists, so return value explanation is not required, but the description remains insufficient for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for four parameters, so the description must explain the parameters. It only indirectly references `arguments` via 'supplied argv tokens', `engagement_id` via 'selected engagement namespace', and `working_directory` via 'relative paths'. The `stdin` parameter is never mentioned, and no parameter format or syntax is clarified. Compensation is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Run netbios scan' using the `nbtscan` tool. This clearly distinguishes it from broad network scanners like nmap or rustscan, and from SMB enumeration siblings. An agent can identify the tool's core purpose immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as enum4linux, nmap, or smbmap. It only states that it runs from the engagement namespace and to use relative paths, which is operational context rather than selection guidance. No prerequisites or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_netexecC
Run netexec from the WebSex enumeration toolkit. The container executes nxc directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description still discloses meaningful execution semantics: argv tokens are passed directly, shell parsing is never used, execution occurs in the engagement namespace, and relative paths are expected. However, it omits critical behavioral context such as destructive potential, required permissions, or output handling for a powerful network execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action. No filler, and the execution constraints are presented efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that runs arbitrary netexec commands with 4 parameters and no schema descriptions, the definition is too sparse. It lacks parameter semantics, usage scenarios, and safety profile, leaving the agent with insufficient context to invoke it confidently despite the presence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are 4 parameters, so the description must carry the load. It only indirectly hints at arguments (argv tokens) and working_directory (relative paths) but does not explain engagement_id, stdin, or the expected format/content of arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Run) and resource (netexec) and notes the execution toolkit. It is distinguishable from most siblings by naming a concrete tool, but it does not explain what netexec does or how it differs from other execution tools like websex_bash or websex_execute.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no conditions for selecting netexec over alternatives such as hydra, medusa, or evil_winrm. The only usage-adjacent sentence is about relative paths for engagement artifacts, not about when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_network_mapperB
Run network mapper from the WebSex network toolkit. The container executes netdiscover directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose meaningful behavior: the container executes netdiscover directly with argv tokens and never uses shell parsing, which tells the agent about injection safety and argument handling. It omits privilege/root requirements, expected runtime, and whether the scan is disruptive on the target network.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with what the tool is, followed by the execution model and path convention. No filler, though the mid-sentence execution detail could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. For a containerized network scanner with zero annotation coverage and an undocumented 4-parameter schema, the description covers the execution model but leaves privilege requirements and operational expectations unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It partly does: 'arguments' are clarified as argv tokens passed without shell parsing, and 'working_directory' is addressed via the relative-paths guidance. 'stdin' and the engagement namespace binding are never explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb (run) plus the specific underlying resource (netdiscover network mapper), which distinguishes it from the other scanners in the namespace (nmap, arp_scan, netbios_scan). It stops short of an explicit contrast with those siblings, but the tool identity is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Naming netdiscover implies the reconnaissance context, and 'use relative paths for engagement artifacts' gives an operational cue. However, there is no explicit when-to-use versus the many sibling scanners (nmap, arp_scan, masscan) and no when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_niktoB
Run nikto from the WebSex web toolkit. The container executes nikto directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the execution model (argv tokens passed directly, shell parsing never used, so metacharacters are not interpreted) and that it runs inside the engagement namespace. It omits failure/timeout behavior, permissions, and output characteristics for a command-execution wrapper.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core purpose and free of filler. Each sentence adds distinct operational context (execution model, namespace, paths).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. The execution environment is covered, but the description never says what nikto actually does or when to reach for it, leaving the agent to infer the tool's role among dozens of sibling scanners.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning to three of four parameters: arguments as raw argv tokens, engagement_id as the namespace it runs from, and working_directory as the relative-path base. The stdin parameter is never mentioned and no argument format/syntax is given, so compensation is partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Run nikto from the WebSex web toolkit"), so the agent knows this executes the nikto scanner. It does not differentiate from sibling web scanners (nuclei, whatweb, zap), so an agent cannot tell from the description alone why it would pick nikto over them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use nikto versus the many sibling web-scanning tools. The only usage context given ("use relative paths for engagement artifacts") is about path handling, not tool selection or preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_nmapB
Run nmap from the WebSex network toolkit. The container executes nmap directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full burden. It does disclose real behavioral context: argv tokens are passed without shell parsing (a meaningful safety/execution trait), the command runs from the selected engagement namespace, and artifacts should use relative paths. It omits permissions, intrusive-scan implications, and rate/output behavior, so it is partial rather than rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences that front-load the core action and immediately follow with the execution-model constraint. No filler, though the namespace/path sentence could be compressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be described. However, with no annotations and 0% parameter coverage, an agent still lacks routing guidance against the scanner siblings and the expected shape of the argv tokens, leaving meaningful gaps for a raw-command-execution tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% with four parameters, so the description must compensate. It only loosely covers 'arguments' (as argv tokens) and hints at working_directory via the relative-path note, leaving stdin and engagement_id essentially unexplained and providing no argument-format example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Run nmap') and resource (nmap from the WebSex toolkit), and clarifies the execution model ('container executes nmap directly with the supplied argv tokens'). It doesn't differentiate itself from close siblings like websex_rustscan, websex_masscan, or websex_autorecon, so it lands at 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to prefer nmap over the many sibling scanners (rustscan, masscan, autorecon). The mention of the engagement namespace implies a context but does not state when or why an agent should select this tool over the alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_nucleiB
Run nuclei from the WebSex web toolkit. The container executes nuclei directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the container executes nuclei directly with argv tokens and that shell parsing is never used, plus the engagement-namespace scoping. But it says nothing about network access, side effects, scope/authorization requirements, or intrusive-scan behavior, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the purpose front-loaded and the exec-model detail following. No wasted words, though the closing sentence mixes usage and path conventions in a slightly compressed way.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the description covers the core exec model. Still, for a command-execution tool with zero annotation and schema-description coverage it omits stdin handling and any side-effect/scope context, so it is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It implicitly maps 'supplied argv tokens' to arguments, 'engagement namespace' to engagement_id, and 'relative paths for engagement artifacts' to working_directory, but it never mentions the stdin parameter or clarifies the arguments format. Partial compensation only.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Run nuclei from the WebSex web toolkit.' An agent immediately knows this executes the nuclei scanner. However, it offers no differentiation from the many other scanning siblings (nikto, nmap, trivy, etc.), so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an operational hint ('runs from the selected engagement namespace; use relative paths for engagement artifacts') but never states when to choose nuclei over alternative scanners or any preconditions/exclusions. It is execution guidance, not usage guidance, so it falls below the minimum-viable 3.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_objdumpB
Run objdump from the WebSex binary toolkit. The container executes objdump directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It valuably discloses that objdump is executed directly with argv tokens and that shell parsing is never used, plus the engagement namespace context. However, it omits safety profile, whether the operation is read-only or destructive, permission requirements, and rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three compact sentences with the core purpose front-loaded. Each sentence adds operational context without filler, though it could be slightly tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return values, so the description need not explain them. It gives enough execution context for a simple wrapper, but it leaves parameter semantics incomplete and gives no alternative-tool routing, making it only adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for four undocumented parameters. It only partially helps: 'argv tokens' clarifies the arguments array, 'selected engagement namespace' implies engagement_id, and 'relative paths' relates to working_directory. The stdin parameter is entirely unaddressed and the expected argument format is not described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific executable (objdump) and its toolkit (WebSex binary toolkit), so an agent can identify the action and resource. It does not explicitly distinguish this tool from sibling binary analysis tools such as ghidra, radare2, or ropper, but 'Run objdump' is still clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides operational context about engagement namespaces and relative paths, but it never states when to use objdump rather than alternatives like ghidra, radare2, or strings. There is no when-to-use or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_one_gadgetC
Run one gadget from the WebSex binary toolkit. The container executes one_gadget directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real behavior: the container execs the binary with argv tokens and never uses shell parsing, and it runs in the selected engagement namespace. That is useful and security-relevant, but it omits anything about sandboxing, side effects, resource limits, or failure behavior for an executing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the execution model stated early and no redundant restatement of the schema. Minor filler in 'from the WebSex binary toolkit', which adds branding rather than information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, the description never explains what one_gadget is or what it yields, so an agent lacking prior knowledge of the tool cannot judge whether this invocation is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate and it only partially does: 'argv tokens' maps to arguments, 'selected engagement namespace' to engagement_id, and 'relative paths for engagement artifacts' to working_directory. The stdin parameter is never mentioned, and there is no explanation of expected argument format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It names a verb and an artifact ('Run one gadget from the WebSex binary toolkit') and the execution mechanism, but 'one gadget' is ambiguous as a resource and the description never says what the tool actually produces (one-gadget RCE offsets in a libc/binary). It also fails to distinguish itself from the closely related siblings websex_ropgadget and websex_ropper.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no comparison to the obvious alternatives (ropgadget, ropper, pwntools). The only operative instruction is 'use relative paths for engagement artifacts', which is a calling convention, not a selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_openapi_auditB
Audit an OpenAPI JSON document from a URL or engagement-relative path for operation inventory, declared authentication coverage, path-parameter consistency, sensitive fields, and transport review items. Results are evidence-backed leads and are persisted in the engagement.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does usefully disclose that results are 'evidence-backed leads' (not confirmed findings) and that they are persisted in the engagement, which tells the agent about side effects. However, it says nothing about authentication requirements, rate limiting, error handling for unreachable URLs, or whether the invocation is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads the action and enumerates the audit scope. No wasted words within the sentence, though the enumeration makes it slightly long. Structure is clear and the tool's domain is immediately obvious.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is unnecessary. However, with no annotations and 0% parameter coverage, the description leaves key behavioral questions unanswered: required auth, side effects beyond persistence, and how to disambiguate from websex_openapi_inspect. The description is minimally viable but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both parameters. The description mentions 'a URL or engagement-relative path' which loosely maps to the 'source' parameter, but provides no format guidance, no distinction of when to use each form, and says nothing about 'engagement_id' (though the persistence note implies its role). With two undocumented params, the description does not adequately compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (audit) and resource (OpenAPI JSON document) and enumerates the concrete audit dimensions: operation inventory, auth coverage, path-parameter consistency, sensitive fields, and transport review. This is specific enough to distinguish from generic siblings like websex_http_request, though it does not explicitly call out its closest sibling websex_openapi_inspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Critically, the sibling list includes websex_openapi_inspect, which by name appears to serve a closely related purpose, yet the description gives no criteria for choosing between them. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_openapi_inspectA
Extract operations from a JSON OpenAPI document at a URL or engagement-relative path. Prefer this over grep, jq, or Python when the task is OpenAPI operation inventory.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, yet it only says what is extracted, not how. It never states that this is a read-only/network-fetching operation, whether the source is fetched or resolved locally, or any auth/limit behavior, which matters for a tool that takes a URL.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences, front-loaded with the action and resource followed by the routing guidance. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the source-routing detail is present. Still missing is any behavioral framing (read-only, fetch vs local, failure modes) and the meaning of engagement_id, leaving a gap for a two-required-param tool with zero annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It clarifies that 'source' accepts either a URL or an engagement-relative path, which is genuinely useful, but leaves 'engagement_id' and its scoping role entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Extract operations from a JSON OpenAPI document'. The scope (operation inventory) is clear. However, it never distinguishes itself from its closest sibling websex_openapi_audit, so an agent cannot tell inspect vs audit apart from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Prefer this over grep, jq, or Python when the task is OpenAPI operation inventory' gives an explicit condition and names concrete alternatives. It stops short of the 5-bar because it does not address when NOT to use it or how it relates to the sibling audit tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_open_redirect_probeB
Open redirect via scheme/host confusion matrix (@-authority, backslash, encoded slashes, allowlist suffix tricks); confirmed by Location/refresh pointing at the canary host. Also flags javascript:/data: Location values.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | No | GET | |
| headers | No | ||
| parameter | Yes | ||
| max_requests | No | ||
| engagement_id | Yes | ||
| follow_redirects | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully explains the attack matrix, that confirmation requires Location/refresh pointing at the canary host, and that javascript:/data: Location values are flagged. However, it omits operational traits such as request volume, redirect-following behavior, and authentication or engagement requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the vulnerability and technique, and uses only two sentences with no filler. The parenthetical technique list is dense but each item earns its place by scoping the probe's matrix.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no annotations and 0% schema description coverage, the description should compensate more than it does. It covers the attack concept and confirmation logic, but not how to invoke the tool or what the parameters control. Since an output schema exists, return values need not be explained, but input semantics and usage context remain missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description must compensate. It does not define any input parameter (url, parameter, body, method, headers, max_requests, engagement_id, follow_redirects) or map the technique list to the inputs an agent must supply.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action (probe) and vulnerability resource (open redirect), and scopes the technique matrix and confirmation signal. The vulnerability class distinguishes it from the many sibling probes such as traversal, SSRF, and host-header probes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name and vulnerability class, but the description never states when to choose this over other redirect-related or generic HTTP tools. It also does not mention prerequisites like an engagement context or target parameter suitability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_ophcrackA
Run ophcrack from the WebSex credentials toolkit. The container executes ophcrack directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real execution semantics: the container runs `ophcrack` directly with argv tokens and shell parsing is never used (a meaningful command-injection safety note), plus the namespace/path scoping behavior. It stops short of stating timeout, resource cost, or whether artifacts are modified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, then execution semantics, then scoping. No filler, though it could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. For a 4-parameter exec wrapper the description covers purpose, argv handling, and engagement scoping, but omits stdin semantics and any invocation constraints, leaving a modest gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it partially does: it clarifies `arguments` as argv tokens (no shell interpretation) and ties `working_directory` to relative engagement paths. It says nothing about `stdin` or the exact role of `engagement_id`, leaving one of four parameters unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb+resource (\"Run ophcrack...\") and it is a uniquely named tool, so an agent knows exactly which binary is invoked. However it gives no differentiation from sibling password crackers such as websex_john, websex_hashcat, or websex_hash_identifier, so the agent cannot tell why ophcrack rather than one of those.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides operational context (runs from the selected engagement namespace, use relative paths for engagement artifacts) but never states when to choose this over the other credential-cracking siblings. Usage is implied by the tool name rather than argued.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_packet_analysisB
Run packet analysis from the WebSex network toolkit. The container executes tshark directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so the description carries the full burden. It usefully discloses that tshark is executed directly with argv tokens and that shell parsing is never used (important for quoting behavior), plus namespace scoping. It omits side effects, timeouts, permission requirements, and whether output is captured or streamed, leaving material gaps for a command-execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with purpose front-loaded ahead of execution mechanics and scoping. No filler, though the relative-paths sentence could be folded more tightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. The description covers the execution model and path handling but leaves engagement_id semantics, timeout behavior, and mutation/read-only implications unexplained for an unannotated command runner.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 4 parameters. The description maps 'arguments' to argv tokens passed to tshark, and 'working_directory' implicitly via relative paths, but never explains stdin or the required engagement_id. Two of four parameters remain undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: runs packet analysis via tshark from the network toolkit. Naming tshark and the direct-argv execution model lets an agent distinguish it from capture-oriented siblings like websex_packet_capture. It stops short of explicitly contrasting with those siblings, but the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives operating context ('Runs from the selected engagement namespace; use relative paths for engagement artifacts') that helps invocation. However, it never says when to use this over websex_packet_capture or websex_network_mapper, nor any when-not or prerequisite conditions. Usage is implied rather than enumerated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_packet_captureA
Run packet capture from the WebSex network toolkit. The container executes tcpdump directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It helpfully discloses that tcpdump is executed directly with argv with no shell parsing (important for security and quoting), and that it runs from the engagement namespace. However, it does not disclose required privileges (CAP_NET_RAW/root) or that captures may be written to disk and where.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loading what the tool does. It is appropriately sized but could more clearly separate the intended use from the tcpdump execution detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four undocumented parameters, no annotations, and a mutation-ish operation that may require elevated privileges, the description is only partially complete. It covers how commands are executed but misses prerequisites, capture output location, and parameter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only adds indirect guidance that argv tokens are passed to tcpdump and that relative paths are for engagement artifacts, but does not explain engagement_id, stdin, working_directory, or the expected format of the arguments array beyond raw tcpdump flags.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (run packet capture) and the underlying tool (tcpdump) with supplied argv tokens. Clearly distinguishes from siblings like websex_packet_analysis or websex_nmap by being a raw capture primitive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use within a WebSex engagement namespace and for relative artifact paths, but does not state when to use this over websex_packet_analysis or websex_bash. No explicit alternatives or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_paramspiderB
Run paramspider from the WebSex web toolkit. The container executes paramspider directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden, but it does disclose the key execution semantics: argv tokens passed directly with no shell parsing (relevant for injection/reliability) and the engagement-namespace working context. It omits output format, timeout/error behavior, and any network or permission implications of running the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, and the argv/no-shell clarification earns its space. Slight redundancy between the namespace sentence and the relative-paths clause, but no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained. However, for a command-execution wrapper whose parameters have zero schema documentation and no annotations, the definition leaves stdin unexplained and provides no example invocation, making correct first-call usage partly guesswork.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It loosely addresses three of four parameters ('supplied argv tokens' for arguments, 'selected engagement namespace' for engagement_id, 'relative paths' for working_directory) but never mentions stdin and gives no argv format examples or syntax guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Run paramspider from the WebSex web toolkit'), so an agent knows exactly what binary is executed. It does not explain what paramspider actually does (parameter discovery from archived/URL sources) or differentiate it from the many other web-enumeration wrappers in the sibling list (gobuster, ffuf, gau, urlfinder).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Only operational pathing guidance is given ('use relative paths for engagement artifacts'), with no statement of when to choose paramspider over siblings like gau, urlfinder, or arjun. No preconditions, no exclusions, no alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_patatorB
Run patator from the WebSex credentials toolkit. The container executes patator directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful execution semantics: argv tokens are passed directly and shell parsing is never used (so no pipes/redirects/globbing), plus namespace and path scoping. It omits the risk profile entirely — nothing about this being an aggressive credential brute-forcer, lockout/rate-limit implications, or required authorization.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the purpose, and the execution caveat follows immediately. No filler, though the sentence on relative paths is slightly operational housekeeping rather than tool identity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation. For a no-annotation execution wrapper with 0% parameter coverage, the description covers execution mechanics adequately but leaves the tool's offensive nature, target protocols, and argument conventions unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate. It maps loosely to arguments ("argv tokens"), working_directory ("relative paths"), and engagement_id (namespace scoping), but says nothing about the stdin parameter and gives no format detail for the required argument vector.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Run patator") and places it in the credentials toolkit, so the agent knows it is executing the patator binary. However, it never distinguishes it from the many sibling credential tools (hydra, medusa, john, hashcat) that an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives call-site mechanics ("use relative paths for engagement artifacts", runs from the engagement namespace) but no when-to-use or when-not-to-use guidance, and no routing between patator and its credential-tool siblings. Usage context is implied at best.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_payload_encodeB
Encode text as base64, base64url, hex, URL, or form data.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| encoding | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden, but for a pure stateless transformation there is little to reveal. It does not state that the operation is side-effect-free or whether it requires input format constraints, leaving those implied rather than stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler; every word earns its place while conveying the verb and the encoding set.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be described, and for a simple two-param encoder the core is covered. However, the absence of any when-to-use guidance and of exact encoding token values leaves the definition thin for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% with two required params, so the description must compensate. It names the encoding options (base64, base64url, hex, URL, form data) which maps to the undocumented 'encoding' param, but it gives no exact token values or validation rules, and 'data' remains unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (encode) and resource (text) and enumerates the output encodings (base64, base64url, hex, URL, form data). The purpose is unambiguous, though it does nothing to distinguish itself from other transformation tools in the large sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only says what the tool does, not when to reach for it or what alternatives exist (e.g., xxd, jwt_decode). No context or exclusions are provided, so the agent must infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_process_snapshotB
Return the container process table and active network connections.
| Name | Required | Description | Default |
|---|---|---|---|
| include_connections | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It implies a read-only snapshot but does not state permission requirements, whether it runs inside a container or against the host, side effects, or any rate/safety constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that states exactly what is returned with zero filler. Appropriately sized for a simple snapshot operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the scope (process table + connections) is clear. However, with no annotations and no usage context, the definition is only minimally sufficient for an agent to decide when and why to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single boolean 'include_connections' parameter. The description's mention of 'active network connections' hints at what the flag toggles, giving marginal added value, but it never explains the default-on behavior or what happens when set to false.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Return') and resource ('container process table and active network connections'), which is concrete and self-explanatory. It does not, however, differentiate itself from any sibling or clarify its niche within the large security-tooling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to, or what alternatives exist. An agent gets no signal about what scenario this snapshot is meant to serve (e.g., container escape recon vs. host triage).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_prowlerB
Run prowler from the WebSex cloud container iac toolkit. The container executes prowler directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful execution traits: argv tokens are passed directly, shell parsing is never used, execution is scoped to the engagement namespace, and artifact paths should be relative. It omits output format, permission/credential requirements, and side effects of the scan.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and followed by execution mechanics and path rules. No filler, though slightly dense for the amount of information conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a no-annotation execution tool with 0% schema coverage, the description should say more about required credentials/engagement state and what the scan produces or mutates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies that 'arguments' are raw argv tokens (not a shell string), that 'working_directory' semantics are relative-to-engagement, and that execution occurs in the selected engagement namespace ('engagement_id'). 'stdin' is never mentioned, so compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a concrete verb and resource ('Run prowler') and situates it in the cloud/IaC toolkit container, so the agent knows it triggers a cloud-security audit. It does not distinguish itself from sibling scanners like websex_trivy, websex_checkov, or websex_terrascan, which is the only gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, no prerequisites (credentials, engagement state), and no routing to alternatives such as checkov/terrascan for IaC. Usage is only implied by 'iac toolkit'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_pwninitC
Run pwninit from the WebSex binary toolkit. The container executes pwninit directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full burden. It usefully discloses the execution model ('executes `pwninit` directly with the supplied argv tokens; shell parsing is never used') and the namespace/working-dir behavior, but omits key behavioral facts: pwninit mutates/writes patched binaries, typically requires a libc/loader argument, and there is no statement about permissions 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and execution detail, with no filler. Efficient, though the sentences could be tightened further given how little functional information they carry.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, for a 4-parameter tool with no annotations and 0% schema coverage, the description should do more: it never explains pwninit's actual effect on files or what a valid invocation looks like, leaving the agent with execution mechanics but not tool semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning for 'arguments' (argv tokens, no shell parsing), 'engagement_id' (selected engagement namespace), and 'working_directory' (relative paths for artifacts), but leaves 'stdin' entirely unexplained and gives no format guidance for the argv tokens pwninit expects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Run pwninit') and identifies it as part of a binary toolkit, but 'Run pwninit' largely restates the tool name and never explains what pwninit actually does (e.g. patching ELF binaries against a supplied libc/loader). An agent unfamiliar with pwninit cannot distinguish it functionally from siblings like websex_pwntools or websex_checksec.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives environmental context (engagement namespace, relative paths) but no when-to-use or when-not-to-use guidance, and never contrasts pwninit with the many other binary/reversing siblings. Nothing tells the agent which situation selects this tool over websex_pwntools or websex_ropgadget.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_pwntoolsB
Run pwntools from the WebSex binary toolkit. The container executes pwn directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose meaningful behavior: the container runs `pwn` directly, shell parsing is never used, execution occurs in the selected engagement namespace, and relative paths resolve to engagement artifacts. It omits auth/permission needs, timeouts, exit/error behavior, and output handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with what runs and the key execution contract. Every sentence carries information; the trailing namespace/path sentence could be tightened but nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. For an execution tool with zero annotation coverage and 0% schema descriptions, the definition covers the shell-safety contract and namespace/path behavior well but leaves out timeouts, error surfaces, and permission expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It meaningfully clarifies `arguments` (supplied argv tokens, not shell-parsed), `engagement_id` (executes in the selected engagement namespace), and `working_directory` (use relative paths for engagement artifacts), but says nothing about `stdin`, and gives no format details for any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: running pwntools' `pwn` from the WebSex binary toolkit as a containerized argv invocation. It implicitly differentiates from generic executors (websex_python, websex_bash, websex_execute) via the no-shell-parsing contract, though it never names an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by naming pwntools and the argv/no-shell constraint, which signals binary-exploitation scripting. There is no explicit when-to-use guidance, no exclusion of sibling tools that overlap (e.g. websex_python, websex_one_gadget), and no prerequisites stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_pythonB
Run inline Python source or an engagement-relative Python file inside the WebSex container. Provide exactly one of source or path. Execution uses the WebSex Python environment and is asynchronous and client-cancellable.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| stdin | No | ||
| source | No | ||
| environment | No | ||
| engagement_id | Yes | ||
| script_arguments | No | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose three useful traits: the execution environment, asynchronous execution, and client-cancellability. It omits permissions/authorization needs, timeout behavior, and side effects, so it is helpful but incomplete for a code-execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the primary action and the exclusivity rule, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the async/cancellable note covers execution behavior. However, for a 7-parameter code-execution tool with zero annotation coverage, the description leaves most parameters and the authorization model unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 7 parameters, so the description must compensate, and it only covers source, path, and their mutual exclusivity. The remaining parameters (stdin, environment, script_arguments, working_directory, engagement_id) carry only bare titles with no meaning added anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Run inline Python source or an engagement-relative Python file.' The Python-specific framing distinguishes it from generic siblings like websex_bash and websex_execute, though it never names them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one concrete invocation rule ('Provide exactly one of source or path'), which is real guidance, but it never says when to reach for this over websex_bash or websex_execute, nor when not to use it. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_qsreplaceC
Run qsreplace from the WebSex web toolkit. The container executes qsreplace directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that arguments are passed directly as argv tokens with no shell parsing and that execution is scoped to the engagement namespace, but it omits output behavior, stdin handling, permissions, and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences and front-loads the executable context. It is efficient, though the second sentence is the only one adding substantive invocation detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. The description covers execution mode and path scoping, but it is incomplete for tool selection because it omits qsreplace's purpose and does not clarify the stdin parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters. The description loosely maps `arguments` to argv tokens and `working_directory` to relative engagement paths, but it never explains `stdin` or the required `engagement_id` beyond a vague namespace reference, leaving key parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the executable (`qsreplace`) and toolkit, which is specific enough to identify the tool. However, it never states what qsreplace actually does or what problem it solves, so an agent unfamiliar with the binary cannot distinguish its function from the many other web-tool siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives execution context (engagement namespace, relative paths) but no guidance on when to choose qsreplace over alternatives such as other web probing or URL-processing tools. There are no when-not conditions or recommended alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_race_probeB
Race condition: N simultaneous requests per round against a single-use flow; fires when more than one request succeeds where the flow allows 1. Caller supplies the exact legitimate request.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | No | POST | |
| rounds | No | ||
| headers | No | ||
| workers | No | ||
| engagement_id | Yes | ||
| success_statuses | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It helpfully discloses the detection heuristic ('fires when more than one request succeeds where the flow allows 1') and the concurrency model, but it never states that this is a live, potentially state-mutating attack that sends real concurrent requests, nor any auth/side-effect/rate considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence pair, front-loaded with the technique name and detection criterion, with no filler. It is information-dense rather than padded, though the caller-obligation clause is slightly compressed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a live exploitation probe with 8 params, no annotations, and zero schema coverage, the description is thin. An output schema exists so return values needn't be explained, but the missing parameter semantics and unstated destructive/live-fire nature leave real gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description must compensate and largely does not. It gestures at 'rounds' and the worker count ('N simultaneous requests per round'), but says nothing about success_statuses, method, body, headers, or engagement_id, leaving half the surface undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific technique (race condition) and the exact mechanism: N simultaneous requests per round against a single-use flow, firing when more than one succeeds where only one should. This is far more specific than a tautology. It does not, however, name or contrast itself with adjacent probe siblings (logic_probe, idor_probe, http_intruder), so differentiation is left to the agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'against a single-use flow' and 'Caller supplies the exact legitimate request' imply the precondition for use, which is a useful cue. But there is no explicit when-to-use/when-not guidance, no mention of the alternative tools (e.g. http_repeater or http_intruder for sequential replay, logic_probe for non-concurrent logic flaws), and no stated prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_radare2B
Run radare2 from the WebSex binary toolkit. The container executes radare2 directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It usefully discloses the execution model ('executes radare2 directly with the supplied argv tokens; shell parsing is never used') and namespace scoping, but is silent on whether radare2 can mutate the target binary, permission requirements, or timeout/resource limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and followed by execution semantics and path guidance. Nothing is wasted, though the third sentence ('Runs from the selected engagement namespace') is slightly redundant with the relative-path advice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. Given four undocumented parameters and no annotations, an agent still lacks per-parameter detail and any safety/mutation warning for a tool that can modify binaries.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the schema explains nothing. The description adds some meaning: 'arguments' are argv tokens (no shell parsing) and working_directory context is relative to the engagement namespace. But stdin is entirely undocumented and engagement_id's role is only implied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run radare2 from the WebSex binary toolkit') and clarifies the invocation model (argv tokens, no shell). It does not distinguish itself from RE siblings like websex_ghidra, websex_objdump, websex_ropper, so a sibling-selection cue is missing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides path-handling guidance ('use relative paths for engagement artifacts') and notes it runs in the selected engagement namespace. However, it never says when to prefer radare2 over ghidra/objdump/ropper or what kind of task it suits, leaving usage implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_recommend_toolsC
Recommend WebSex tools using deterministic objective matching.
| Name | Required | Description | Default |
|---|---|---|---|
| objective | Yes | ||
| target_type | No | web |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only that matching is 'deterministic' (no LLM/randomness), but says nothing about return shape, whether it mutates anything, permission needs, or how 'objective' drives outcomes. Some signal ('deterministic') but far from adequate for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence, front-loaded and waste-free. It is concise, though at the cost of substance rather than because it says a lot efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained. But with 0% param coverage, no annotations, and no usage routing, an agent cannot confidently form the 'objective' string or know the target_type enum. In a 150-tool namespace, this is under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and neither parameter is explained. 'objective' is the core control but its expected wording/granularity is unknown; 'target_type' defaults to 'web' but the allowed values are undefined. The description adds no parameter meaning beyond the schema, well below the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a verb and resource ('Recommend WebSex tools') which is clear enough on its own, but it gives no hint of scope or domain relative to ~150 siblings. 'Deterministic objective matching' hints at the mechanism but not what recommendations look like or which tools could come back, so it barely distinguishes itself from catalog/engagement_plan siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or named alternatives. Siblings like websex_catalog and websex_engagement_plan plausibly overlap with tool discovery/planning, yet the description never says when this is preferred. The agent must guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_recon_ngB
Run recon ng from the WebSex enumeration toolkit. The container executes recon-ng directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the behavioral burden. It usefully discloses that argv tokens are passed directly and 'shell parsing is never used' (relevant injection/safety context) and that execution is scoped to the engagement namespace. It omits permissions, timeouts, side effects of modules that write artifacts, and failure behavior for a command-execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the what and the execution model, then the scoping rule. Zero filler; each sentence carries actionable content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. Still, for a shell-adjacent execution tool with zero annotations and 0% schema coverage across four parameters, the description should at least note timeout/error behavior and what 'stdin' is for. It is adequate but leaves clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies that 'arguments' are argv tokens and that 'working_directory' should be relative within the engagement namespace, which adds real meaning beyond the bare schema. It says nothing about 'stdin' or how 'engagement_id' is validated/used, leaving one of four params fully undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Run recon ng from the WebSex enumeration toolkit'), so an agent knows exactly which binary is invoked. However, it offers no differentiation from the many overlapping recon siblings (theharvester, spiderfoot, amass, subfinder, fierce), so the agent cannot tell when recon-ng is the right choice over them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description covers operating context ('runs from the selected engagement namespace', 'use relative paths for engagement artifacts') but says nothing about when to prefer recon-ng over the other enumeration siblings or what prerequisites (workspace setup, module install) are needed. No exclusions or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_responderB
Run responder from the WebSex enumeration toolkit. The container executes responder directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose real behavioral traits: the container executes `responder` directly with argv tokens and never uses shell parsing (an important injection/quoting note), plus the working-directory/namespace behavior. It omits significant context for a network poisoning/credential-capture tool, such as privilege requirements, network binding, and whether it blocks or times out.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences with no filler, and the core action ('Run responder...') is front-loaded. The execution-safety detail is placed second, which is reasonable, though the namespace/path sentence could be merged without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But with no annotations and zero parameter descriptions, the description is the only source of behavioral and parameter information, and it leaves gaps around what responder actually does, its privilege/network requirements, and the stdin parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It maps meaning onto `arguments` (argv tokens), `engagement_id` (engagement namespace), and `working_directory` (relative artifact paths), but says nothing about the `stdin` parameter, leaving one of four parameters entirely undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (run) and resource (responder from the WebSex enumeration toolkit), which is clear enough to distinguish it from unrelated siblings. However, it never distinguishes itself from the generic execution siblings (websex_execute, websex_bash, websex_python), so an agent cannot tell from the description why it should pick this wrapper over a generic shell runner.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides some operational context: it runs from the selected engagement namespace and relative paths should be used for engagement artifacts. There is no explicit when-to-use versus the generic execute/bash siblings and no when-not-to-use guidance, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_ropgadgetB
Run ropgadget from the WebSex binary toolkit. The container executes ROPgadget directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose a genuinely useful execution trait: argv tokens are passed directly and shell parsing is never used, which tells the agent quoting/escaping is irrelevant. However it says nothing about output volume, timeouts, failure modes, or permissions, so the disclosure is partial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no filler, and the core action is front-loaded ahead of the execution and path details. Nothing is redundant, though the sentences are more operational notes than a structured definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. But with zero annotation coverage, 0% parameter documentation, and a required engagement_id, the definition is only minimally sufficient for an agent to invoke this correctly beyond guessing at the argument format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate and largely does not. 'argv tokens' loosely maps to arguments and 'relative paths' gestures at working_directory, but engagement_id and stdin are never explained, and no format, default, or constraint is added for any of them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (run) and resource (ROPgadget from the WebSex binary toolkit), so an agent knows it is a wrapper that executes an external binary. It does not distinguish itself from the closely related siblings websex_ropper and websex_one_gadget, which is its only real gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational context ('runs from the selected engagement namespace; use relative paths for engagement artifacts') which implies when it fits, but it never states when to prefer this over ropper or one_gadget, nor any prerequisites beyond the engagement scope. Usage is implied rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_ropperB
Run ropper from the WebSex binary toolkit. The container executes ropper directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose meaningful execution behavior: argv tokens are passed directly and shell parsing is never used, and it runs within the engagement namespace. It does not state permissions, resource intensity, or what the analysis produces beyond what the output schema covers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the core action and no filler. Slightly more operational detail than strictly needed, but every sentence is relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. Still, with zero annotation coverage, fully undocumented parameters, and a terse description that never explains what ropper is for, the definition is only minimally complete for an agent unfamiliar with the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for four parameters. The description partially compensates for 'arguments' (supplied as argv tokens) and 'working_directory' (relative paths for engagement artifacts), but says nothing about 'engagement_id' or 'stdin', leaving half the parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Run ropper from the WebSex binary toolkit.' An agent knows it invokes the ropper binary. However, it never distinguishes itself from the very similar siblings websex_ropgadget and websex_one_gadget, which are also gadget-finding tools, so routing among them is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no reference to the alternative gadget tools (ropgadget, one_gadget). The only usage hints are operational ('runs from the selected engagement namespace; use relative paths'), which describe execution context rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_rpcclientB
Run rpcclient from the WebSex enumeration toolkit. The container executes rpcclient directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that shell parsing is never used (argv tokens only, implying no shell-injection surface) and that execution is scoped to an engagement namespace with relative-path resolution. However, it omits auth/permission requirements, network reachability expectations, and failure/timeout behavior, which matter for a remote enumeration tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no filler, and the core action (running rpcclient with argv tokens) is front-loaded. Nothing extraneous, though it is terse relative to the gaps it leaves.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. For a generic command-runner with 0% schema coverage and no annotations, the description covers execution model and path scoping but leaves auth context, stdin usage, and argument conventions unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It maps 'arguments' to argv tokens, 'engagement_id' to the engagement namespace, and 'working_directory' to relative artifact paths, but never addresses the 'stdin' parameter or argument formatting conventions. Partial compensation for a four-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Run rpcclient from the WebSex enumeration toolkit,' and clarifies it executes argv tokens directly. It is clear what the tool does, but it does not differentiate itself from the many adjacent SMB/RPC enumeration siblings (enum4linux, smbmap, netexec, rpcclient-like tools), leaving the agent to infer when this is preferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives operational context ('Runs from the selected engagement namespace; use relative paths for engagement artifacts') but no when-to-use guidance, no preconditions (e.g., credentials/domain needed for rpcclient), and no explicit alternatives. Usage is only implied by the rpcclient name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_rustscanB
Run rustscan from the WebSex network toolkit. The container executes rustscan directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It usefully explains that the container executes rustscan directly with argv tokens and never uses shell parsing, and that it runs from an engagement namespace with relative paths. It omits operational safety details such as intrusiveness, permissions, or side effects 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences with the purpose front-loaded and no wasted words. It is appropriately sized for the tool and delivers execution details efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, for a command-execution tool with four parameters and 0% schema description coverage, the description leaves engagement_id and stdin unexplained and omits safety or side-effect context. It is adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for four undocumented parameters. It partially does: 'supplied argv tokens' clarifies the arguments array, 'relative paths' relates to working_directory, and 'engagement namespace' hints at engagement_id. It never mentions stdin or fully specifies any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Run rustscan from the WebSex network toolkit.' This clearly identifies the tool's action and the underlying binary. However, it does not differentiate rustscan from sibling scanners such as nmap, masscan, or autorecon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance, no alternatives, and no exclusions. It mentions running from an engagement namespace and using relative paths, but that is execution context rather than guidance on when this tool is appropriate versus its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_scalpelC
Run scalpel from the WebSex forensics toolkit. The container executes scalpel directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that scalpel is invoked directly with argv tokens and that shell parsing is never used, which tells the agent how to pass arguments safely (no quoting/escaping needed). It does not disclose that carving writes output files, where they land, permission needs, or any rate/scope limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and invocation model, with no filler. It is appropriately sized, though the content budget could have been spent on more informative material.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, but for a no-annotation tool with 0% parameter coverage the description still leaves too much unresolved: it doesn't say what scalpel produces, what the engagement_id/stdin parameters do, or where carved artifacts end up.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, so the description must compensate and largely does not. It hints at 'argv tokens' for arguments and relative paths for the engagement namespace, but says nothing about engagement_id or the stdin parameter, leaving half the signature unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the underlying binary ('scalpel') and its toolkit context, but never states what scalpel actually does (file carving/recovery from disk images), and gives no differentiation from carving siblings like websex_foremost or websex_bulk_extractor. An agent knows the verb is 'run' but not the resource's effect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only context given is that it runs from the selected engagement namespace and to use relative paths. There is no when-to-use guidance, no exclusions, and no routing to alternative carving/extraction tools among the many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_scan_summaryD
Summarize complete WebSex tool results without discarding their output.
| Name | Required | Description | Default |
|---|---|---|---|
| results | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It says only that it summarizes 'without discarding their output' but doesn't explain permissions, limits, return shape, or side effects. It provides essentially no behavioral information beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, but it is under-specified rather than concise. Front-loading is absent because there is no real content to front-load.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an output schema but no annotations and a completely undescribed parameter, the description is inadequate. It does not explain what gets summarized, how results are aggregated, or what the summary will contain, leaving critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter 'results' is an array of unrestricted objects. The description does not clarify the expected structure, required fields, or size limits of the results argument, leaving the agent with no useful semantic guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The name websex_scan_summary and the description 'Summarize complete WebSex tool results' only loosely restate the tool's resource. It doesn't state what kind of results (e.g., HTTP responses, scan artifacts) or what a summary contains, and it does not distinguish the tool from other WebSex summary utilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as directly inspecting results. An agent cannot tell when this summarization is appropriate versus using raw tool output.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_scout_suiteB
Run scout suite from the WebSex cloud container iac toolkit. The container executes scout directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full burden, and it usefully discloses the execution model: scout runs directly with supplied argv tokens and shell parsing is never used, which tells the agent argument handling is safe from shell metacharacters. It does not cover output format, timeouts, permissions, or what state changes occur, leaving meaningful behavioral gaps for a command-execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and immediately followed by the execution semantics and namespace/path constraint. No filler, though the phrasing "cloud container iac toolkit" is slightly redundant with context already implied by the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the description does address execution and path scoping. However, for a 4-parameter command-runner at 0% schema coverage, it omits what stdin does and how engagement_id selects the namespace, which an agent needs before calling it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 4 parameters, so the description must compensate. It partially does: "supplied argv tokens" maps to arguments and "use relative paths" speaks to working_directory, but engagement_id and especially stdin (which streams input) are never explained, leaving half the parameters undocumented anywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Run") and resource ("scout suite") and situates it in the WebSex cloud container IaC toolkit, so an agent knows this executes the Scout Suite cloud-audit binary. It does not differentiate from close siblings like websex_prowler, websex_checkov, or websex_terrascan, which also serve cloud/IaC security auditing, so selection still requires outside knowledge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives invocation context ("runs from the selected engagement namespace", "use relative paths for engagement artifacts") but no when-to-use guidance and no comparison to the numerous alternative scanners in the sibling list. There is nothing telling the agent when to pick this over prowler or checkov.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_sherlockC
Run sherlock from the WebSex enumeration toolkit. The container executes sherlock directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that argv tokens are executed directly without shell parsing and that relative paths apply within an engagement namespace, but it omits whether the tool is read-only, what network activity it performs, and what its output contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three tight sentences and front-loads the core action ('Run sherlock'). It avoids filler, though the final sentence about relative paths is somewhat redundant with the earlier namespace sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, for a four-parameter tool with zero schema description coverage and no annotations, the description should explain the tool's actual enumeration purpose and parameter usage; it leaves too much for the agent to infer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, so the description must compensate but largely does not. It clarifies that 'arguments' are raw argv tokens and hints at relative paths for engagement artifacts, yet never explains engagement_id, stdin, working_directory, or the expected argument format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific executable ('sherlock') and states its source toolkit, giving a clear verb-plus-resource purpose. However, it does not explain what sherlock actually enumerates (e.g., usernames across social networks), so an agent unfamiliar with the tool learns little beyond the binary name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use sherlock versus the many sibling enumeration tools, nor any conditions or exclusions for its use. It only states operational context about the engagement namespace and relative paths, not selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_shodanB
Run shodan from the WebSex enumeration toolkit. The container executes shodan directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it usefully discloses that argv tokens are passed directly with no shell parsing and that execution is scoped to an engagement namespace. However, it omits critical behavior for a shodan client: the required API key/auth, network egress implications, and any rate limits or read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core purpose followed by behavioral and path-scoping details; minimal waste. No redundancy with the schema, though it could be tightened slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, and the invocation mechanics are covered. But for a 4-param, unannotated CLI wrapper, the missing stdin parameter documentation and absent authentication/egress requirements leave meaningful gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It implicitly covers three params by naming 'argv tokens' (arguments), the engagement namespace (engagement_id), and relative artifact paths (working_directory), but it never mentions the 'stdin' parameter and gives no format details for any of them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Run shodan from the WebSex enumeration toolkit'), making clear it wraps the shodan CLI. It does not explicitly differentiate from similar sibling recon tools such as websex_censys or websex_amass, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives operational context ('Runs from the selected engagement namespace; use relative paths for engagement artifacts') but never says when to choose this tool over alternatives like censys or the harvester. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_sleuthkit_flsC
Run sleuthkit fls from the WebSex forensics toolkit. The container executes fls directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and partially meets it: it discloses that argv tokens are passed directly with no shell parsing, and that execution happens from the engagement namespace. However it never states that this is a read-only listing operation, says nothing about permissions, and gives no sense of output volume or runtime characteristics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action and no filler. Each sentence conveys something distinct (what runs, how it executes, where it runs), though the opening sentence is close to redundant with the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. Still, for a forensics wrapper with a 0%-documented schema, the description omits what the tool produces conceptually and leaves two parameters unexplained, making it only minimally sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so all four parameters rely on the description. 'argv tokens' loosely explains `arguments` and 'selected engagement namespace' loosely explains `engagement_id`, but `stdin` and `working_directory` are never addressed, and no format for the argument array (e.g. flags, image path) is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it runs `sleuthkit fls`, which is essentially a restatement of the tool name plus the toolkit it belongs to. It never explains what fls actually does (list files in a filesystem image) nor distinguishes it from the close sibling websex_sleuthkit_icat, so an agent unfamiliar with Sleuth Kit must infer the purpose from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to reach for fls versus icat or the other forensic siblings (binwalk, foremost, scalpel, bulk_extractor). The only operational hint is 'use relative paths for engagement artifacts', which is a usage constraint rather than a selection guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_sleuthkit_icatC
Run sleuthkit icat from the WebSex forensics toolkit. The container executes icat directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It usefully discloses that argv tokens are passed directly with no shell parsing and that execution is scoped to the engagement namespace, which tells the agent about injection semantics and path resolution. It stops short of describing mutation/reversibility or any behavioral caveats of the icat binary itself.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the tool identity and execution model. No filler, though the namespace/path sentence could arguably be folded together.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not needed, and the execution model is conveyed. However, for a forensics binary wrapped as an argv passthrough, the definition omits what icat produces or when it is the right tool against its sibling fls, leaving a real gap for an agent without sleuthkit domain knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies that 'arguments' are raw argv tokens and that 'working_directory' paths are relative engagement artifacts, covering roughly half the parameters. The 'stdin' parameter is never mentioned, so the compensation is partial rather than complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Run sleuthkit icat") and situates it in the WebSex toolkit, but never explains what icat actually does (recover file contents by inode). With a close sibling (websex_sleuthkit_fls) present, the definition does nothing to distinguish the two, leaving the agent to rely on prior sleuthkit knowledge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is operational ("Runs from the selected engagement namespace; use relative paths for engagement artifacts"). There is no statement of when to reach for icat versus fls or other extraction tools, no prerequisites, and no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_smbmapB
Run smbmap from the WebSex enumeration toolkit. The container executes smbmap directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does disclose important execution semantics: direct argv tokens and no shell parsing. However, it omits whether smbmap is read-only, whether credentials are required, and what general risk/intrusiveness to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action. Every sentence adds operational information, though the toolkit name is marginally redundant with the namespace context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter command-wrapper tool with no annotations and 0% schema coverage, the description covers execution safety and path scoping but leaves the agent without SMB enumeration context, selection guidance, or complete parameter definitions. The output schema exists, so return values need not be described.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies that arguments are supplied as argv tokens, that working paths should be relative, and that execution occurs in the engagement namespace, but it does not explain stdin or fully specify engagement_id semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: running smbmap from the WebSex enumeration toolkit. It clearly identifies the underlying tool, but does not explain what smbmap does or distinguish it from SMB enumeration siblings such as enum4linux, netexec, or rpcclient.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives operational context (engagement namespace, relative paths) but no guidance on when to choose smbmap over alternatives or when not to use it. An agent must infer its appropriateness from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_socatB
Run socat from the WebSex network toolkit. The container executes socat directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose two meaningful traits: shell parsing is never used (args passed as raw tokens) and execution is scoped to the engagement namespace. It omits side-effect warnings (socat can open listening sockets), blocking/timeout behavior, and permission requirements, which are significant for an arbitrary CLI passthrough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, no filler. Slightly dense with operational asides but every sentence contributes context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be described, and the execution mechanics are covered. However, for a tool that wraps an arbitrary network binary with no annotations, the description is thin on safety, side effects, and timeouts that an agent would need to invoke it responsibly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It loosely maps to three of four params ('argv tokens' -> arguments, 'relative paths for engagement artifacts' -> working_directory, 'engagement namespace' -> engagement_id) but says nothing about stdin and never ties terms to the schema field names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Run socat') and clarifies it is executed directly with argv tokens rather than through a shell. This differentiates it conceptually from shell-based siblings like websex_bash, though it never names an alternative. Purpose is clear but not explicitly positioned against siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose socat over the many related siblings (bash, python, curl, nmap, etc.), nor any when-not or prerequisite statement. The only operational hint is 'use relative paths for engagement artifacts,' which describes how rather than when to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_spiderfootC
Run spiderfoot from the WebSex enumeration toolkit. The container executes spiderfoot directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose important behavior: the container executes spiderfoot directly with supplied argv tokens and never uses shell parsing. This adds useful safety and execution context. However, it does not mention permissions, network activity, destructiveness, or output behavior, leaving significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences and front-loads the primary action. It avoids repetition and each sentence adds some value, though the final sentence about relative paths is slightly ambiguous without schema context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four parameters, 0% schema description coverage, no annotations, and an output schema that handles return values, the description should explain more about argument construction, stdin, and working_directory. It covers execution mechanics and namespace context but leaves too much unspecified for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all four parameters. It implies arguments are argv tokens and that engagement context is selected, but it never mentions stdin, explains the arguments array format, or clarifies working_directory semantics. The parameter explanation is therefore substantially incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Run spiderfoot from the WebSex enumeration toolkit.' It is clear what tool is being invoked, though it does not differentiate from other enumeration siblings like amass or subfinder or explain what SpiderFoot is for.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. The description provides execution context such as running from the selected engagement namespace and using relative paths, but it does not state when SpiderFoot is appropriate or when another enumeration tool should be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_sqli_probeB
Boolean differential SQLi oracle on one parameter with true/false/control payload triplets — fires only when true matches baseline, false diverges, and control behaves like false.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | No | GET | |
| headers | No | ||
| parameter | Yes | ||
| max_requests | No | ||
| engagement_id | Yes | ||
| follow_redirects | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose meaningful behavior: the oracle fires only when true matches baseline, false diverges, and control behaves like false. That reduces false positives. However, it says nothing about request volume implied by max_requests, auth/engagement scoping, follow_redirects effects, or whether the probe is otherwise passive/safe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense, front-loaded sentence with no filler — the detection mechanism and its trigger condition come immediately. It is compact, though the heavy em-dash clause compresses several ideas into a single run-on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The existence of an output schema relieves the description of explaining results, and the core oracle logic is captured. But for an 8-parameter request-shaping tool with an engagement scoping field and zero parameter documentation, the definition is too thin to tell an agent how to configure the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the description must compensate — and it does not. It clarifies only that a single parameter is targeted; url, method, body, headers, engagement_id, max_requests, and follow_redirects all remain undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific technique and resource: a Boolean-differential SQLi oracle targeting one parameter, which distinguishes it from the time-based sibling websex_sqli_time_probe. The mechanism (true/false/control triplets) makes the purpose unambiguous, though it never names an alternative tool directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the firing logic but gives no when-to-use guidance — nothing about preferring this over sqlmap, sqli_time_probe, or api_fuzz, and no prerequisites (e.g., needing a stable baseline response). An agent must infer applicability entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_sqli_time_probeC
Time-based SQLi oracle: N baseline vs N sleep-payload samples, median ratio comparison across dialects (MySQL/MSSQL/Postgres/Oracle).
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | No | GET | |
| headers | No | ||
| samples | No | ||
| parameter | Yes | ||
| delay_seconds | No | ||
| engagement_id | Yes | ||
| follow_redirects | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies active requests to a target with sleep payloads but does not state authorization requirements, that the target will actually execute SLEEP/WAITFOR calls, or how the median ratio is classified as positive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense sentence with no waste, front-loaded on the technique. Slight telegraphic style ("N baseline vs N sleep-payload samples") risks ambiguity, hence not a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter injection tool with no annotations and 0% param coverage, the description omits how evidence is judged, what a positive/negative looks like, and how to configure the payload probe. The output schema covers returns, but the invocation surface remains underexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 9 parameters, with only titles and defaults. The description mentions N samples and a delay but does not map these to the 'samples' or 'delay_seconds' parameters, nor explain 'parameter', 'engagement_id', redirects, or headers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific technique (time-based SQLi oracle) and the mechanism (N baseline vs N sleep-payload samples, median ratio comparison across named dialects). An agent can distinguish this from websex_sqli_probe and websex_sqlmap without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to prefer this over websex_sqli_probe, websex_sqlmap, or websex_race_probe, and no guidance on exclusion conditions (e.g., when timing noise makes it unreliable). The dialect list implies scope but not selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_sqlmapB
Run sqlmap from the WebSex web toolkit. The container executes sqlmap directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose useful behavior: argv tokens are passed directly, shell parsing is never used, and it runs from the selected engagement namespace. It still omits side-effect/intrusiveness context (sqlmap is an active injection tool that may alter target data) and any permission or rate-limit notes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core action front-loaded and no filler. It is efficiently sized, though the second and third sentences mix invocation mechanics with path guidance without clear structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the description adequately covers the execution model. But with four undocumented parameters and no annotations, gaps remain around stdin, engagement_id validity, and the tool's intrusive nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain all four parameters, but it never names them explicitly. It only implicitly alludes to arguments ('supplied argv tokens'), engagement_id ('selected engagement namespace'), and working_directory ('relative paths'), and says nothing about the stdin parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Run sqlmap from the WebSex web toolkit.' An agent immediately knows this invokes the sqlmap tool. However, it does not distinguish this from close siblings like websex_sqli_probe or websex_sqli_time_probe, leaving the agent to infer which SQLi tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no mention of the SQLi alternatives in the sibling list. The only usage hints ('use relative paths', argv tokens) describe invocation mechanics rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_ssrf_probeC
SSRF probe with optional oob_canary_host (webhook.site) for content-read proof, metadata markers, internal-vs-dead-host differential, and blind timing fallback.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | No | GET | |
| headers | No | ||
| parameter | Yes | ||
| max_requests | No | ||
| engagement_id | Yes | ||
| oob_canary_host | No | ||
| follow_redirects | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description partially discloses methodology: it explains the optional out-of-band canary for content-read proof, metadata markers, differential testing, and blind timing fallback. However, it omits critical behavioral traits such as whether requests are safe, read-only, require specific permissions, possible rate limits, or side effects, leaving significant gaps for a high-risk probe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence front-loads the tool purpose and technique list without filler, making it efficient. However, the heavy technical jargon might benefit from slight restructuring for readability, but it is appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given high complexity (9 parameters, no annotations, 0% schema coverage, output schema present), the description is insufficient. It lacks usage guidance, parameter explanations, and safety context, making it inadequate for an agent to confidently invoke the tool beyond recognizing its SSRF focus.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and there are 9 parameters, yet the description only elaborates on oob_canary_host (noting webhook.site usage). The other eight parameters—engagement_id, url, parameter, body, method, headers, max_requests, follow_redirects—receive no semantic explanation, so the description fails to compensate for the absent schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific tool type (SSRF probe) and enumerates its probing techniques: content-read proof via oob_canary_host, metadata markers, internal-vs-dead-host differential, and blind timing fallback. This clearly distinguishes it from other probe siblings like sqli_probe or cmdi_probe. However, it does not explicitly differentiate from generic HTTP tools such as websex_http_request.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies SSRF testing but gives no explicit when-to-use guidance, no exclusions, and no mention of prerequisites such as engagement_id or required authorization. An agent must infer that this tool is for SSRF assessment rather than being routed clearly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_ssti_probeC
Server-side template injection via inert math canaries ({{7*74311}} family) with engine identification from error fingerprints. High-confidence only on evaluated literals.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | No | GET | |
| headers | No | ||
| parameter | Yes | ||
| max_requests | No | ||
| engagement_id | Yes | ||
| follow_redirects | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It discloses the probing method ('inert math canaries') and a confidence characteristic ('High-confidence only on evaluated literals'), which are useful. However, it omits operational details such as request volume, auth requirements, potential side effects, and what happens on non-evaluated responses, leaving meaningful gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no wasted words. It front-loads the core technique and follows with the confidence caveat, making it easy to scan and extract the key idea.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter probe tool with zero schema descriptions and no annotations, the description is too thin. While an output schema exists (so return values need not be explained), the agent receives no guidance on parameter usage, prerequisites, or when this tool is preferable to sibling probes, making correct invocation difficult.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for all 8 parameters, and the description provides no parameter-level information whatsoever. It does not explain url, parameter, engagement_id, method, body, headers, max_requests, or follow_redirects, so it fails entirely to compensate for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific security technique: 'Server-side template injection via inert math canaries ({{7*74311}} family) with engine identification from error fingerprints.' This tells the agent it probes for SSTI using a particular payload family and attempts engine fingerprinting. It does not explicitly differentiate from sibling probes (e.g., sqli_probe, cmdi_probe), but the technique and name make the purpose clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of prerequisites, and no routing to alternative tools. The only guidance-like statement is a confidence caveat ('High-confidence only on evaluated literals'), which describes result reliability rather than when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_steghideB
Run steghide from the WebSex forensics toolkit. The container executes steghide directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden, and it does disclose two meaningful traits: argv is passed directly with no shell parsing (a security-relevant execution guarantee) and execution happens in the engagement namespace. It omits key traits such as whether steghide prompts for a passphrase, whether embedding overwrites existing files, and how stdin is consumed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the action, and no filler. Slightly under-specified rather than bloated, which is the safer failure mode for a CLI-wrapper tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the argv/path mechanics are covered. But with zero annotation coverage, four parameters, and 0% schema descriptions, the definition leaves an agent guessing about passphrase handling, overwrite risk, and when this beats its steganography sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It clarifies the `arguments` parameter (raw argv tokens, no shell interpretation) and `working_directory` (relative paths resolve inside the engagement namespace), but says nothing about `stdin` — notable since steghide commonly needs a passphrase, and stdin is the obvious channel — nor about engagement_id scoping semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: it runs the `steghide` binary from the toolkit. However, it never says what steghide is for (embedding/extracting data in JPEG/BMP/WAV/AU files), so an agent unfamiliar with the binary gets no functional signal, and nothing distinguishes it from the sibling websex_zsteg beyond the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer this over websex_zsteg or websex_binwalk, and no stated prerequisites (e.g. a passphrase or an existing carrier file). The only contextual hint is the relative-path instruction, which is a mechanics note rather than usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_stringsB
Run strings from the WebSex binary toolkit. The container executes strings directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses execution semantics: argv tokens are passed directly, shell parsing never happens, and it runs from the selected engagement namespace with relative paths for artifacts. These are meaningful behavioral facts, but it never states whether the operation is read-only or what happens on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action, then execution safety, then path context. No redundancy, though the namespace/path sentence slightly overlaps the working-directory concept.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. For a shell-free command wrapper with zero annotations, the description covers execution context and path conventions but omits failure behavior, permission requirements, and any statement of read-only safety.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains 'supplied argv tokens' (arguments), the selected engagement namespace (engagement_id), and relative paths for artifacts (working_directory), covering three of the four parameters. The stdin parameter is left entirely unexplained, so it only partially fills the gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run strings from the WebSex binary toolkit') and names the underlying utility, so an agent knows this wraps the standard strings extractor. It does not explicitly differentiate from sibling binary tools like objdump or xxd, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to reach for strings versus other binary-inspection siblings, nor any stated preconditions or exclusions. The only contextual hints are the engagement-namespace and relative-path notes, which describe mechanics rather than selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_subfinderB
Run subfinder from the WebSex enumeration toolkit. The container executes subfinder directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does add real value: it discloses that argv tokens are passed directly with no shell parsing (relevant for quoting/injection behavior) and that execution happens in the selected engagement namespace with relative artifact paths. It omits safety/network profile (read-only vs. state-changing), rate/timeout behavior, and failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the core action (run subfinder) followed by execution semantics. No filler or repetition, though the three sentences are somewhat heterogeneous in topic rather than tight to one purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the execution model is covered. However, for a four-parameter wrapper with zero schema coverage and no annotations, the description leaves parameters and the safety profile underspecified; it is minimally adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, and the description only indirectly gestures at them: 'supplied argv tokens' hints at arguments, 'selected engagement namespace' at engagement_id, and 'relative paths for engagement artifacts' at working_directory. The stdin parameter is entirely undocumented in both schema and description, leaving a real gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Run subfinder') and identifies it as part of the WebSex enumeration toolkit, so an agent knows it invokes the subfinder binary rather than a sibling. It does not, however, differentiate the tool from near-neighbors like websex_amass or websex_fierce, and it never states what subfinder actually produces (subdomain enumeration), relying on the agent's prior knowledge of the binary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational context (engagement namespace, relative paths) but no when-to-use/when-not-to-use guidance and no mention of alternatives, despite many siblings in the same subdomain/DNS enumeration space (amass, fierce, dnsenum, theharvester, subzy). The agent must infer selection criteria on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_subzyC
Run subzy from the WebSex web toolkit. The container executes subzy directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the container executes subzy directly with argv tokens and never uses shell parsing (a meaningful safety/injection trait), and that it runs scoped to an engagement namespace. However, it says nothing about network access, expected runtime, or side effects of the underlying tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences with no filler, and the execution model is front-loaded. The wording is efficient, though it spends space on shell-parsing mechanics rather than the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But with no annotations and 0% schema description coverage, the description should compensate more than it does: it omits what subzy does, its network behavior, and the stdin parameter, leaving an agent able to invoke it mechanically but not to judge when it is the right tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain the 4 parameters. It hints at the argv list ("supplied argv tokens"), the engagement scope ("engagement namespace"), and relative working paths, but the stdin parameter is never addressed and no parameter is named or typed. It compensates only partially.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Run subzy from the WebSex web toolkit" essentially restates the tool name without saying what subzy does (subdomain takeover detection) or what domain it targets. An agent unfamiliar with subzy cannot tell from this text what the tool accomplishes or how it differs from siblings like websex_subfinder or websex_amass.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling recon/subdomain tools. The only usage-adjacent instruction is "use relative paths for engagement artifacts," which is an operational constraint, not a selection rationale.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_technology_hintsB
Detect deterministic technology hints in supplied HTTP headers and body text.
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | ||
| headers | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With zero annotations the description carries the full burden. Calling the hints 'deterministic' usefully signals no heuristics/guessing, but nothing is said about required permissions, how missing/empty body or null headers are treated, or rate/safety characteristics. Two parameters default to empty/null and the description never mentions that behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler. The core action and its two input sources are stated immediately, which is exactly what an agent scanning tool lists needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a tool with no annotations, 0% parameter coverage, and multiple overlapping siblings, the description is thin: it omits input format expectations and any routing context against the alternative fingerprinting tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does map its two inputs ('HTTP headers and body text') to the two parameters, but gives no format detail such as how header keys/values should be structured or what body content is expected, leaving half the semantics to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Detect' plus resource 'technology hints' scoped to HTTP headers and body text. It is clear what the tool does, but it never distinguishes itself from the many sibling fingerprinting tools (websex_whatweb, websex_httpx, websex_wafw00f), so an agent must infer which to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no named alternatives. The agent is told what it detects but not when to prefer it over websex_whatweb or websex_httpx, nor when it is inappropriate (e.g. passive analysis of already-captured data vs live requests).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_terrascanB
Run terrascan from the WebSex cloud container iac toolkit. The container executes terrascan directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It usefully discloses execution mechanics ('executes terrascan directly with the supplied argv tokens; shell parsing is never used'), which tells the agent arguments are passed verbatim rather than through a shell, and notes the working namespace. It does not address permissions, whether the scan writes artifacts, network/policy-fetch behavior, or anything about 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, no filler, with the core action front-loaded and the exec/path caveats following. Every sentence carries information; only the namespace/path sentence could be slightly tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. For a CLI-wrapping tool with zero schema coverage and no annotations, the agent still lacks semantics for engagement_id and stdin, and gets no guidance on sibling scanner selection. Adequate but with real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, so the description must compensate. It partially does: 'supplied argv tokens' clarifies that `arguments` is a token array with no shell interpretation, and 'use relative paths' speaks to `working_directory`. However, `engagement_id` and `stdin` are never explained, leaving half the parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Run terrascan from the WebSex cloud container iac toolkit.' An agent immediately knows this wraps the terrascan IaC scanner, not a generic executor. It does not, however, differentiate itself from the IaC/cloud scanner siblings such as websex_checkov, websex_trivy, or websex_prowler.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides operational context — 'Runs from the selected engagement namespace; use relative paths for engagement artifacts' — which implies the tool should be used inside an engagement context. But it never says when to prefer terrascan over the overlapping checkov/trivy/prowler scanners, nor any prerequisites. Usage is implied, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_testdiskB
Run testdisk from the WebSex forensics toolkit. The container executes testdisk directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses the execution model — direct exec of argv tokens with no shell parsing — and the namespace context, which is real value. However it omits any mention of privilege requirements or the fact that testdisk can modify partitions/disks, a material risk for a mutation-capable tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the purpose before execution details. Little waste, though the last sentence's operational notes could be denser.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be described, and the execution model is covered. But with zero schema description coverage and no annotations, the undocumented parameters and the undisclosed destructive potential leave meaningful gaps for a forensics-execution tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 4 parameters, so the description must compensate. It clarifies 'arguments' as raw argv tokens with no shell interpretation, and maps working_directory via 'use relative paths', but leaves engagement_id and stdin entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run testdisk') and names the toolkit it belongs to, so an agent knows this is a thin wrapper around the testdisk binary rather than a general script runner. It never says what testdisk actually does (partition/file recovery), so an agent unfamiliar with the tool gets no functional orientation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational constraints ('runs from the selected engagement namespace', 'use relative paths for engagement artifacts') but offers no when-to-use guidance and no routing against the many sibling forensics tools (binwalk, foremost, sleuthkit_fls). An agent has no basis for choosing this over adjacent recovery tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_theharvesterB
Run theharvester from the WebSex enumeration toolkit. The container executes theHarvester directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose two meaningful behaviors: the container executes theHarvester directly with supplied argv tokens and 'shell parsing is never used' (an injection-relevant safety trait), plus the engagement-namespace scoping. It stops short of stating network access, rate/scope limits, or output side effects, so it is useful but incomplete for an execution wrapper.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action, then execution semantics, then scoping. No filler. Slightly terse given the 4 undocumented parameters, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the description covers execution mode and namespace scoping. But for a no-annotation shell-execution wrapper with 0% parameter coverage, an agent still lacks argument examples/format and any statement of network or permission requirements. Adequate, not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies that 'arguments' are argv tokens passed verbatim (not a shell string), that paths are relative to the engagement namespace (implying engagement_id/working_directory semantics), but it never mentions the 'stdin' parameter at all. Partial compensation for 3 of 4 params.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Run theharvester from the WebSex enumeration toolkit.' An agent knows exactly what gets executed. However, it never distinguishes theHarvester from the many OSINT/recon siblings (amass, subfinder, fierce, dnsenum, spiderfoot), so the 'why this one' is left to outside knowledge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives operational context — 'Runs from the selected engagement namespace; use relative paths for engagement artifacts' — which tells the agent how to scope the invocation, but no when-to-use/when-not guidance and no alternative tool named. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_traversal_probeB
Path traversal / LFI against a target system file with depth-varied and encoded traversal prefixes; confirmed by target-file content absent from baseline.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | No | GET | |
| headers | No | ||
| parameter | Yes | ||
| target_file | No | /etc/hostname | |
| max_requests | No | ||
| engagement_id | Yes | ||
| follow_redirects | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It does disclose real behavior: depth-varied and encoded prefixes, and a baseline-differential confirmation heuristic. However it says nothing about authorization/engagement scoping, request volume safety (max_requests defaults to 24), or redirect handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the technique and resource, with no filler. Every clause – depth-varied prefixes, encoding, baseline confirmation – carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values are covered, but for a 9-parameter, 0%-coverage injection tool the description is too thin. It never defines engagement_id, the injection point (parameter), or the request-shaping fields, which an agent needs in order to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% across 9 parameters. The description touches only the target file and the traversal-prefix concept, leaving url, parameter, method, headers, body, engagement_id, max_requests and follow_redirects entirely unexplained beyond their bare titles, so it does not compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific technique (path traversal / LFI), a concrete target (a system file), and the method used (depth-varied and encoded traversal prefixes). It is far more specific than a tautology, but it never names its nearest sibling (websex_dotdotpwn) or otherwise explicitly distinguishes itself within the large probe family.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The methodology and the confirmation criterion ('target-file content absent from baseline') imply this is the tool for differential LFI verification rather than generic fuzzing, but there is no explicit when-to-use, when-not-to-use, prerequisite, or alternative (e.g. dotdotpwn) guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_trivyB
Run trivy from the WebSex cloud container iac toolkit. The container executes trivy directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose two meaningful traits: argv tokens are passed directly with no shell parsing, and execution occurs in the selected engagement namespace. It omits permissions/auth requirements, failure behavior, and whether anything is written to disk, which is thin for a mutation-capable scanner executed via a container.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action, then security-relevant execution semantics, then path guidance. No filler, though the phrase 'from the WebSex cloud container iac toolkit' is slightly redundant with the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the argv/no-shell and namespace behaviors are covered. However, for a 4-parameter tool with 0% schema coverage and no annotations, more detail on stdin, path resolution relative to the engagement, and expected scan targets would be needed to call it complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it partially does: 'supplied argv tokens' maps to arguments and 'relative paths' maps to working_directory/engagement namespace. The stdin parameter is never explained and the engagement_id concept is only hinted at via 'namespace', leaving real gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Run) and resource (trivy) scoped to the 'iac toolkit', which distinguishes it from sibling IaC scanners like checkov and terrascan that live in the same list. It does not explicitly contrast itself with those siblings, so it falls short of 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage via 'iac toolkit' and gives one practical directive ('use relative paths for engagement artifacts'), but never says when to pick trivy over checkov, terrascan, or kube_bench, nor states prerequisites like needing an existing engagement namespace.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_urlfinderC
Run urlfinder from the WebSex web toolkit. The container executes urlfinder directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the container executes `urlfinder` directly with argv tokens and never uses shell parsing, and that execution occurs from the selected engagement namespace. However, it does not explain what the tool does, whether it is safe/read-only, what side effects exist, or what the agent should expect operationally beyond the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences with no wasted words and is reasonably front-loaded. The execution mechanics are stated efficiently. It could be slightly stronger if the first sentence described the tool's actual purpose instead of only naming it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The presence of an output schema means return values need not be explained, but the description still lacks the most important context: what `urlfinder` is and when to invoke it. With no annotations and zero schema coverage, the definition leaves an agent unable to confidently select or parameterize this tool beyond the generic execution mechanics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It gives meaningful context for `arguments` ('supplied argv tokens'), `engagement_id` ('selected engagement namespace'), and `working_directory` ('use relative paths for engagement artifacts'), but it completely omits `stdin`, leaving one of four parameters without any semantic explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool name: it says to run `urlfinder` but never states what `urlfinder` actually does. An agent cannot tell from this text whether it extracts URLs, discovers endpoints, or performs some other web-recon function, and there is no differentiation from the many sibling web tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is provided. The description does not mention alternatives such as gau, katana, or hakrawler, nor does it explain when this tool is preferable or when it should not be used. The only usage-like note is about relative paths, which is parameter guidance rather than tool selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_uroC
Run uro from the WebSex web toolkit. The container executes uro directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does add real value: it discloses that argv tokens are executed directly with no shell parsing (a meaningful safety/behavior trait) and that execution is scoped to the engagement namespace with relative artifact paths. However, it says nothing about permissions, whether the operation is read-only, rate limits, or what a run produces.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and followed by execution-model detail. Every sentence carries information; only the tool-specific capability is missing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be explained, and the execution model is covered. Still, for a 4-parameter CLI wrapper at 0% schema coverage, the absence of what uro does and of stdin semantics leaves the definition short of complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies that "arguments" are raw argv tokens, that engagement_id selects the namespace, and that working_directory should use relative artifact paths — but it omits the stdin parameter entirely and adds no format or example detail for arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ("Run uro from the WebSex web toolkit") and makes the execution model clear, but it never says what uro actually does functionally (URL deduplication/extraction), so an agent cannot distinguish its purpose from siblings like websex_ffuf or websex_gau without outside knowledge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of alternatives, and no preconditions beyond "runs from the selected engagement namespace." The agent is left to infer that this is the right tool for URL-list processing purely from the binary name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_volatilityB
Run volatility from the WebSex forensics toolkit. The container executes vol directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses execution semantics: `vol` is invoked directly and shell parsing is never used, which tells the agent about argv handling and injection behavior. It omits permission requirements, side effects on the engagement namespace, and other behavioral traits, so it is adequate but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core action front-loaded and no filler. Nothing is redundant, though it spends its limited space on execution mechanics rather than the parameter details that are missing elsewhere.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described. However, with zero schema coverage and no annotations, the description should compensate more for parameter meaning and behavioral context; it covers the execution model but leaves key gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate and largely does not. It indirectly clarifies `arguments` (passed as raw argv tokens) and `working_directory` (use relative paths for engagement artifacts), but `stdin` and `engagement_id` are left entirely undocumented in both schema and description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: run Volatility from the forensics toolkit. Volatility (memory forensics) is reasonably distinguishable from the other forensics siblings like binwalk, foremost, or scalpel. It never names those siblings, but the resource is specific enough that an agent can identify the tool's domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to choose this tool over alternatives, and no prerequisites or exclusions. The only usage-flavored instruction is functional (run from the engagement namespace, use relative paths), not selective. An agent gets no help deciding when this applies versus the rest of the forensics family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_wafw00fC
Run wafw00f from the WebSex web toolkit. The container executes wafw00f directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose genuinely useful behavior: execution bypasses shell parsing and takes argv tokens directly, and it runs from the engagement namespace with relative artifact paths. However, it omits the salient behavioral facts for a no-annotation tool — that this actively probes a remote target over the network and what the safety/egress implications are.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no padding, and the identification/execution model is front-loaded. Slightly repetitive between 'run wafw00f' and 'executes wafw00f directly', but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. For a wrapper tool the description covers execution mechanics and namespace context adequately, but with zero annotation coverage it should also convey the tool's actual function and its active-network nature, which it does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It partly does: 'supplied argv tokens' clarifies that `arguments` is a token array rather than a shell string, and 'engagement namespace'/'relative paths' gesture at `engagement_id` and `working_directory`. `stdin` is left entirely undocumented, so the compensation is incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool name: 'Run wafw00f from the WebSex web toolkit.' It never states what wafw00f actually accomplishes (web application firewall detection/fingerprinting), so an agent that doesn't already know the upstream tool cannot tell this apart from siblings like websex_whatweb or websex_nikto.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is given, and no alternative sibling is named. The only routing hint is environmental ('runs from the selected engagement namespace'), which does not help an agent decide between this and other web-recon tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_wfuzzB
Run wfuzz from the WebSex web toolkit. The container executes wfuzz directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose meaningful behavior: argv is executed directly with no shell parsing, and execution happens inside the selected engagement namespace. It says nothing about permissions/auth, expected runtime, output capture (beyond the output schema), or failure behavior for a long-running fuzzing process.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and then the two execution constraints. Nothing is redundant, though the namespace/path sentence could be folded more crisply.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the direct-argv detail is valuable for a command-execution tool. Still, with no annotations and 0% schema coverage, an agent gets no sense of runtime, resource cost, or failure modes for a fuzzing invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It explains that `arguments` are raw argv tokens and that `working_directory` should be engagement-relative, which covers two of four parameters, but `stdin` is never mentioned and `engagement_id` only indirectly via 'selected engagement namespace'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run wfuzz') plus the containing toolkit, so the agent knows exactly what executes. It does not, however, differentiate from the many sibling fuzzing/dir-busting tools (ffuf, gobuster, feroxbuster, dirb, dirsearch, x8), leaving the agent to guess which fuzzer to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives execution mechanics ('use relative paths for engagement artifacts') but no when-to-use guidance, no conditions for preferring wfuzz over the sibling fuzzers, and no indication of prerequisites or limits. Usage must be inferred from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_whatwebC
Run whatweb from the WebSex web toolkit. The container executes whatweb directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It discloses that shell parsing is never used (argv tokens) and that it runs from the selected engagement namespace with relative paths for artifacts. However, it doesn't describe output format, rate limiting, or authentication requirements beyond the engagement context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each serving a clear purpose: stating the action, clarifying execution mechanics, and noting working directory context. It is front-loaded with the core action and avoids unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, with 4 parameters, 0% schema coverage, and no annotations, the description is incomplete: it doesn't clarify the required 'arguments' array format, the optional 'stdin' behavior, or defaults for 'working_directory'. For a tool that executes an external binary, more context is needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description must compensate significantly. It mentions 'argv tokens' which maps to the 'arguments' parameter and 'engagement namespace' mapping to 'engagement_id', but does not explain stdin, working_directory defaults, or the expected format of arguments, leaving critical parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb+resource combination: running whatweb from the WebSex web toolkit. It distinguishes this tool from generic execute/bash tools by clarifying it executes whatweb directly with argv tokens. However, it does not explicitly compare to sibling reconnaissance tools like nikto or httpx that might also fingerprint web technologies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives. A reader might infer it's for web fingerprinting based on the name, but the description doesn't say when to choose whatweb over nikto, nuclei, or httpx, nor does it state any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_workspace_deleteC
Delete one file or empty directory inside the WebSex engagement workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It hints that non-empty directories are not deletable, but says nothing about irreversibility, whether deletion prompts for confirmation, required permissions, or error behavior on a missing path — significant gaps for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the verb and scope appear immediately. Nothing in it is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, but for a destructive tool with zero annotations and 0% parameter coverage, the description should disclose irreversibility, directory semantics, and parameter formats. It does not, so it is incomplete for the operation's risk level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and both parameters (path, engagement_id) lack any documentation. The phrase 'inside the WebSex engagement workspace' loosely implies path is workspace-relative, but the description does not specify path format (absolute vs relative, separators) or what engagement_id scopes, leaving both parameters under-explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (delete) and resource (one file or empty directory inside the workspace), which cleanly separates it from websex_workspace_read, websex_workspace_write, and websex_workspace_list. The 'one file or empty directory' scope qualifier is a useful precision point, but no sibling tool is named for contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus deleting via websex_bash or websex_execute, nor on prerequisites such as needing a valid engagement_id. The only implicit usage hint is the 'empty directory' restriction, which is a constraint rather than when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_workspace_listC
List files within the WebSex engagement workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | . | |
| recursive | No | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full behavioral burden. 'List' weakly implies a read-only operation, but the description says nothing about permissions, whether results are paginated, how deep a listing goes, or what happens if the path does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence that is front-loaded with the action and resource, with no filler. It is efficient, though the brevity is achieved partly by omitting information the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape explanation is not required, but the definition still leaves the three undocumented parameters, the absence of any usage routing against three sibling workspace tools, and basic operational behavior unaddressed. It is too thin for a tool in a crowded namespace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across three parameters, so the schema provides no textual meaning either. The description does not mention 'path', 'recursive', or how 'engagement_id' scopes the listing, leaving the agent to infer parameter intent from bare property names and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('List files') scoped to the engagement workspace, so the agent knows the general action. However, it does nothing to distinguish this from the sibling tools websex_workspace_read, websex_workspace_write, and websex_workspace_delete, which all operate on the same workspace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus workspace_read or workspace_delete beyond the word 'files'. No prerequisites, no exclusions, and no mention of what the listing is useful for are provided. Usage is only weakly implied by the name and verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_workspace_readC
Read a UTF-8 text file from the WebSex engagement workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses that the tool reads UTF-8 text (implying binary files are unsupported), but omits error handling, permission requirements, path traversal constraints, and whether the operation is strictly read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no fluff, front-loading the core action. It is appropriately sized for a simple read operation, though it could be slightly more structured to include parameter hints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero annotation coverage, zero schema description coverage, and two required parameters, the description is incomplete. While an output schema exists (so return values need no explanation), the description leaves key input semantics and operational boundaries unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should explain the two required parameters. It only vaguely implies an engagement workspace and a file path, but does not clarify what engagement_id represents or how the path should be formatted (relative/absolute).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Read') and resource ('UTF-8 text file') scoped to the engagement workspace, making the core action clear. It does not explicitly differentiate from siblings like workspace_list or workspace_write, but the verb naturally distinguishes it from write/delete/list operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance is provided; the description only states what the tool does. An agent must infer that it is used to retrieve file contents rather than list or modify workspace files.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_workspace_writeC
Write or append a UTF-8 text file inside the WebSex engagement workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| append | No | ||
| content | Yes | ||
| engagement_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses that content is UTF-8 text and that append mode exists, but it does not say whether the default write overwrites existing files, what permissions are needed, whether directories are created, or what happens on path conflicts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single well-formed sentence with no wasted words and the core operation front-loaded. It is efficient, though for a mutation tool with undocumented parameters it borders on under-specification rather than ideal conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a mutation tool with four parameters, zero schema descriptions, no annotations, and siblings that could also write files, the definition is incomplete. An output schema exists so return values need not be explained, but the lack of permission, overwrite, and path/engagement semantics leaves significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for four parameters. The description only vaguely maps to append ('write or append') and content/workspace, but it never explains engagement_id, path format, content constraints, or the default append=false behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (write/append), resource (UTF-8 text file), and scope (WebSex engagement workspace). It is clearly distinct from workspace_read/list/delete, but it does not explicitly name alternatives or distinguish from generic exec/bash tools that could also write files.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as websex_bash, websex_python, or websex_execute, and no prerequisites (e.g., must the engagement exist?) or constraints are stated. Usage is only implied by the tool's name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_x8C
Run x8 from the WebSex web toolkit. The container executes x8 directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it does add real behavioral detail: the container executes x8 directly with argv tokens and never uses shell parsing, which tells the agent metacharacters are not interpreted. However, it says nothing about whether this is a read-only or intrusive network operation, expected runtime, rate limits, or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, with no filler or repetition. The size is appropriate; the weakness is content value rather than verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, but for an unannotated tool that wraps an opaque external binary with four undocumented parameters, the description leaves too much unstated about execution semantics, permissions, and param meaning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, so the description must compensate and largely does not. "Supplied argv tokens" loosely maps to `arguments` and "use relative paths" hints at `working_directory`, but `engagement_id` and `stdin` are never addressed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states "Run x8 from the WebSex web toolkit," which is essentially a restatement of the tool name with an opaque binary name that gives no hint of what x8 actually does (hidden HTTP parameter discovery). Unlike siblings such as websex_arjun or websex_paramspider, an agent cannot infer the purpose or domain from this text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to choose x8 over the many overlapping web/parameter tools in the sibling list, nor any exclusions or prerequisites. The only contextual sentence ("Runs from the selected engagement namespace") is an invocation detail, not selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_xsserB
Run xsser from the WebSex web toolkit. The container executes xsser directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does add real value by disclosing the execution model: xsser is invoked directly with argv tokens and 'shell parsing is never used', plus the engagement-namespace scoping. It stops short of stating whether the tool is safe/read-only versus actively attacking targets, or what permissions/context it needs, which matters for an offensive scanner.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the action, and each sentence carries distinct information (what runs, how it executes, where artifacts live). No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be described, and the execution model is well covered. But for a 4-parameter tool with 0% schema coverage, the lack of parameter explanation and sibling differentiation leaves the definition only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across four parameters, so the description must compensate and largely does not. It only hints at 'argv tokens' (arguments) and 'relative paths' (working_directory), leaving engagement_id and stdin entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Run') and resource ('xsser from the WebSex web toolkit'), so the core action is unambiguous. However, it does nothing to distinguish this from the many sibling XSS tools (websex_dalfox, websex_xss_probe, websex_jaeles, websex_zap), so an agent gets no help choosing among them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is operational ('Runs from the selected engagement namespace; use relative paths'), which is about how to invoke rather than when. There is no statement of when to pick this over the sibling XSS scanners/probes, and no prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_xss_probeB
Inject unique canaries into parameters and classify reflection context (HTML/attribute/JS/URL/comment) with encoding state, plus CSP and cookie posture. Evidence-first: returns exact snippets, not payload guesses.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| body | No | ||
| method | No | GET | |
| headers | No | ||
| parameters | No | ||
| max_requests | No | ||
| engagement_id | Yes | ||
| follow_redirects | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose real behavioral traits — canary injection, the five reflection-context classes, encoding state, and that output is raw evidence snippets rather than inferred payloads. However it never states request volume limits (max_requests is exposed but unexplained), auth/session needs, or that the required engagement_id scopes the activity, and it does not clarify whether any state is mutated on the target.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with the core action and immediately followed by the differentiator ('exact snippets, not payload guesses'). No filler and nothing that could be dropped without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the description does cover the analysis semantics well. But for an 8-parameter tool with zero schema coverage and no annotations, the missing engagement scoping, request-budget behavior, and parameter roles leave the definition short of what an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 8 parameters, so the schema contributes nothing. The description mentions 'parameters' and, implicitly, a target URL, but says nothing about method, body, headers, max_requests, follow_redirects, or the required engagement_id, leaving most inputs undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs and resources: it injects canaries into parameters and classifies reflection context across five concrete context types, then reports CSP/cookie posture. That is far more precise than sibling scanner names like websex_dalfox or websex_xsser, though it never names an alternative to differentiate itself explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the word 'probe'. There is no statement of when to reach for this over websex_xsser, websex_dalfox, websex_jaeles, or the other HTTP probing tools, and no prerequisites or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_xxdA
Run xxd from the WebSex binary toolkit. The container executes xxd directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it delivers genuinely useful execution semantics: arguments are passed as argv tokens and 'shell parsing is never used,' which tells the agent shell metacharacters/piping will not work, and it names the working namespace. It does not disclose side effects (whether xxd can write output files, read-only nature) or resource constraints, so it stops short of full disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and followed by the execution model, with no filler. It could arguably add a brief clause on what xxd produces, but every existing sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and the description adequately covers execution mechanics and namespace scoping. It is, however, missing the elementary 'what is this tool for' framing and any alternative-selection guidance for a toolkit containing many adjacent binary-analysis tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 4 parameters, so the description must compensate. It implicitly maps 'arguments' to argv tokens, 'working_directory' to relative engagement paths, and 'engagement_id' to the selected namespace, but it never mentions 'stdin' and adds no format or default information. Partial compensation for a total schema-documentation gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Run xxd from the WebSex binary toolkit'), which is enough for an agent that recognizes xxd. However, it never explains what xxd does (hex dump / binary-to-hex conversion) and does not distinguish this tool from binary-inspection siblings like websex_binwalk, websex_strings, or websex_objdump. Clear but undifferentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Offers procedural context ('Runs from the selected engagement namespace; use relative paths for engagement artifacts') but no when-to-use guidance relative to alternatives. There is no statement of when xxd is preferable to binwalk/objdump/strings or any prerequisite or exclusion. Usage is implied rather than prescribed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_zapB
Run zap from the WebSex web toolkit. The container executes zaproxy directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose meaningful execution semantics: argv tokens are passed directly and 'shell parsing is never used,' and commands are scoped to an engagement namespace. However, it says nothing about mutation risk, required permissions, rate limits, or output behavior for a tool that clearly launches a scanner.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short clauses, front-loaded with the core action and followed by the two most important execution constraints. No filler or repetition; only slightly dense with back-to-back constraint sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema is present, so return values need no explanation, and the description adequately covers the execution model (no shell parsing, namespace scoping, relative paths). What it omits is the purpose-level context an agent needs to choose this over the dozens of other web/scan siblings, leaving it adequate but incomplete for a tool in such a crowded namespace.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It partially does: 'argv tokens' explains the `arguments` array (no shell splitting), 'the selected engagement namespace' maps to `engagement_id`, and 'relative paths for engagement artifacts' hints at `working_directory`. The `stdin` parameter is not addressed at all, and the mappings remain implicit rather than explicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Run zap from the WebSex web toolkit') and identifies the underlying binary (`zaproxy`), which distinguishes it from the many other exec/wrapper siblings like websex_execute or websex_bash. It does not, however, explain what ZAP is or what class of task it serves, leaving some ambiguity for an agent unfamiliar with the tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance or comparison to alternatives such as websex_curl, websex_nuclei, or other web-scanning siblings. The only contextual hint is that it 'runs from the selected engagement namespace' with relative paths, which is operational context rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
websex_zstegB
Run zsteg from the WebSex forensics toolkit. The container executes zsteg directly with the supplied argv tokens; shell parsing is never used. Runs from the selected engagement namespace; use relative paths for engagement artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| stdin | No | ||
| arguments | Yes | ||
| engagement_id | Yes | ||
| working_directory | No | . |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose useful behavior: argv is passed directly with no shell parsing (a real safety/quoting property) and execution is scoped to the engagement namespace. It omits permissions, error/exit behavior, and output characteristics, but the argv/no-shell detail is genuine value beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core action, then the invocation model, then the path/namespace convention. No filler; each sentence adds something, though the phrasing is somewhat terse rather than maximally efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. But with no annotations and 0% schema description coverage, the description leaves stdin semantics and permission/error behavior unaddressed. It is adequate for a thin CLI wrapper but not complete for a four-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so all four parameters are undocumented in the schema. The description partially compensates: it explains that `arguments` are argv tokens, that execution runs from the engagement namespace (engagement_id), and that relative paths suit artifacts (working_directory). The `stdin` parameter is never addressed, so the gap is only partly closed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: run `zsteg` from the WebSex forensics toolkit. An agent knows it is a steganography-detection binary wrapper, but the description does no sibling differentiation against nearby tools like websex_steghide, websex_binwalk, or websex_foremost, so the choice between them is left to the agent's own knowledge of zsteg.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational context (engagement namespace, relative paths) but never says when to reach for zsteg versus the other stego/forensics siblings, nor any prerequisites or exclusions. It is invocation mechanics, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
179 tool updates
v1.0.0- First observed
websex_access_bypass_probe - First observed
websex_aircrack - First observed
websex_aireplay - First observed
websex_airmon - First observed
websex_airodump - First observed
websex_amass - First observed
websex_anew - First observed
websex_angr_analyze - First observed
websex_api_fuzz - First observed
websex_arjun - First observed
websex_arp_scan - First observed
websex_attack_chain - First observed
websex_autorecon - First observed
websex_bash - First observed
websex_bfla_probe - First observed
websex_binwalk - First observed
websex_browser_action - First observed
websex_browser_close - First observed
websex_browser_create - First observed
websex_browser_evaluate - First observed
websex_browser_get - First observed
websex_browser_list - First observed
websex_browser_navigate - First observed
websex_browser_network_log - First observed
websex_browser_network_rules - First observed
websex_browser_screenshot - First observed
websex_browser_set_state - First observed
websex_browser_snapshot - First observed
websex_browser_state - First observed
websex_bulk_extractor - First observed
websex_catalog - First observed
websex_censys - First observed
websex_checkov - First observed
websex_checksec - First observed
websex_cmdi_probe - First observed
websex_cors_probe - First observed
websex_csrf_probe - First observed
websex_curl - First observed
websex_cve_lookup - First observed
websex_dalfox - First observed
websex_dirb - First observed
websex_dirsearch - First observed
websex_dnsenum - First observed
websex_docker_bench - First observed
websex_dotdotpwn - First observed
websex_engagement_create - First observed
websex_engagement_get - First observed
websex_engagement_list - First observed
websex_engagement_plan - First observed
websex_enum4linux - First observed
websex_enum4linux_ng - First observed
websex_evil_winrm - First observed
websex_execute - First observed
websex_exiftool - First observed
websex_exploit_search - First observed
websex_extract_indicators - First observed
websex_feroxbuster - First observed
websex_ffuf - First observed
websex_fierce - First observed
websex_file - First observed
websex_file_hashes - First observed
websex_finding_report - First observed
websex_foremost - First observed
websex_gau - First observed
websex_gdb - First observed
websex_ghidra - First observed
websex_gobuster - First observed
websex_graphql_audit - First observed
websex_graphql_request - First observed
websex_grep - First observed
websex_hakrawler - First observed
websex_hash_identifier - First observed
websex_hashcat - First observed
websex_hashpump - First observed
websex_header_injection_probe - First observed
websex_hibp_password_check - First observed
websex_host_header_probe - First observed
websex_http_history - First observed
websex_http_intruder - First observed
websex_http_repeater - First observed
websex_http_request - First observed
websex_http_session_create - First observed
websex_http_session_get - First observed
websex_http_session_list - First observed
websex_http_session_update - First observed
websex_httpie - First observed
websex_httpx - First observed
websex_hydra - First observed
websex_idor_probe - First observed
websex_idor_sweep_probe - First observed
websex_jaeles - First observed
websex_john - First observed
websex_jq - First observed
websex_jwt_audit - First observed
websex_jwt_decode - First observed
websex_jwt_deep_probe - First observed
websex_katana - First observed
websex_kismet - First observed
websex_kube_bench - First observed
websex_kube_hunter - First observed
websex_logic_probe - First observed
websex_mass_assignment_probe - First observed
websex_masscan - First observed
websex_medusa - First observed
websex_metasploit - First observed
websex_msfvenom - First observed
websex_netbios_scan - First observed
websex_netexec - First observed
websex_network_mapper - First observed
websex_nikto - First observed
websex_nmap - First observed
websex_nuclei - First observed
websex_objdump - First observed
websex_one_gadget - First observed
websex_open_redirect_probe - First observed
websex_openapi_audit - First observed
websex_openapi_inspect - First observed
websex_ophcrack - First observed
websex_packet_analysis - First observed
websex_packet_capture - First observed
websex_paramspider - First observed
websex_patator - First observed
websex_payload_encode - First observed
websex_process_snapshot - First observed
websex_prowler - First observed
websex_pwninit - First observed
websex_pwntools - First observed
websex_python - First observed
websex_qsreplace - First observed
websex_race_probe - First observed
websex_radare2 - First observed
websex_recommend_tools - First observed
websex_recon_ng - First observed
websex_responder - First observed
websex_ropgadget - First observed
websex_ropper - First observed
websex_rpcclient - First observed
websex_rustscan - First observed
websex_scalpel - First observed
websex_scan_summary - First observed
websex_scout_suite - First observed
websex_sherlock - First observed
websex_shodan - First observed
websex_sleuthkit_fls - First observed
websex_sleuthkit_icat - First observed
websex_smbmap - First observed
websex_socat - First observed
websex_spiderfoot - First observed
websex_sqli_probe - First observed
websex_sqli_time_probe - First observed
websex_sqlmap - First observed
websex_ssrf_probe - First observed
websex_ssti_probe - First observed
websex_steghide - First observed
websex_strings - First observed
websex_subfinder - First observed
websex_subzy - First observed
websex_technology_hints - First observed
websex_terrascan - First observed
websex_testdisk - First observed
websex_theharvester - First observed
websex_traversal_probe - First observed
websex_trivy - First observed
websex_urlfinder - First observed
websex_uro - First observed
websex_volatility - First observed
websex_wafw00f - First observed
websex_wfuzz - First observed
websex_whatweb - First observed
websex_workspace_delete - First observed
websex_workspace_list - First observed
websex_workspace_read - First observed
websex_workspace_write - First observed
websex_x8 - First observed
websex_xss_probe - First observed
websex_xsser - First observed
websex_xxd - First observed
websex_zap - First observed
websex_zsteg
TDQS
Scored across 179 tools
Despite each tool wrapping a distinct external executable, there is heavy functional overlap: gobuster/ffuf/feroxbuster/dirb/dirsearch all perform directory/content brute-forcing, and multiple scanners (nuclei, nikto, wfuzz, dalfox, xsser) address the same web-audit space. The native probe tools are better differentiated, but an agent must know external tooling nuances to pick correctly.
Every tool uses the websex_ prefix with snake_case, yielding a highly predictable scheme (websex_nmap, websex_browser_navigate, websex_engagement_create). The mix of bare tool names and verb_noun compounds is still internally consistent and readable.
179 tools is far beyond any reasonable per-server surface and well past the 50-tool extreme threshold, creating a large selection burden even though each maps to a real tool. The catalog/execute compact fallback mitigates but does not resolve the overload.
Coverage is remarkably broad across recon, enumeration, web, network, wireless, credentials, exploitation, forensics, binary, and cloud, plus engagement lifecycle and native evidence-first probes. Minor gaps remain, such as no unified reporting/export beyond finding_report, but core offensive workflows are well covered.
Maintenance
Related MCP Connectors
Offline methodology engine for authorized penetration testing, CTF, and security research.
Enrich, search, assess, and manage threat intelligence through 80+ typed MCP tools.
Hosted MCP catalog with 30 tenant-isolated browser, RAG, AI, mail and media tools.
CloudOracle - 14-tool multi-cloud compliance MCP: AWS, Azure, GCP posture, IAM, configs.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceProvides access to 13+ penetration testing and security audit tools through a unified MCP interface. Enables security professionals to perform vulnerability scanning, web fuzzing, network reconnaissance, and other security assessments through containerized tools like Nuclei, Nmap, SQLMap, and FFUF.MIT
- AlicenseNot gradedqualityNot gradedmaintenanceA Kali Linux-based MCP server that exposes over 45 penetration testing tools for AI-assisted security auditing and vulnerability scanning. It features strict scope enforcement, structured output parsing, and persistent finding storage to automate the offensive security workflow.MIT
- AlicenseNot gradedqualityCmaintenanceEnables MCP-compatible AI agents to run autonomous penetration testing and cybersecurity assessments with 150+ security tools, intelligent decision-making, and real-time reporting.MIT
- AlicenseNot gradedqualityAmaintenanceEnables professional penetration testers to run reconnaissance, exploitation, brute-force, and credential-cracking tooling (nmap, gobuster, nikto, John the Ripper, hashcat, subfinder, httpx, ffuf, nuclei, hydra, sqlmap, tcpdump) through MCP clients over stdio or HTTP. It also captures engagement records and generates client reports with scope-of-work handling and bearer/OIDC authentication.81 npmGPL 3.0