Skip to main content
Glama
x746b

Windows Forensics MCP Server

by x746b

Windows Forensics MCP Server

Windows DFIR from Linux - A comprehensive forensics toolkit designed entirely for Linux environments with zero Windows tool dependencies. Parse Windows artifacts natively using pure Python libraries.


  • mem_forensics-mcp - Unified Memory Forensics MCP Server - Multi-tier engine combining Rust speed with Vol3 coverage

  • mac_forensics-mcp - macOS DFIR - Unified Logs, FSEvents, Spotlight, Plists, SQLite databases, Extended Attributes


Related MCP server: findevil-agent

Features

Core Forensics

Category

Capabilities

EVTX Logs

Parse Windows Event Logs with filtering, search, and pre-built security queries

Registry

Analyze SAM, SYSTEM, SOFTWARE, SECURITY, NTUSER.DAT hives

Remote Collection

Collect artifacts via WinRM (password or pass-the-hash)

Execution Artifacts

Category

Capabilities

PE Analysis

Static analysis with hashes (MD5/SHA1/SHA256/imphash), imports, exports, packer detection

Prefetch

Execution evidence with run counts, timestamps, loaded files

Amcache

SHA1 hashes and first-seen timestamps from Amcache.hve

SRUM

Application resource usage, CPU time, network activity from SRUDB.dat

File System Artifacts

Category

Capabilities

MFT

Master File Table parsing with ADS metadata and timestomping detection

USN Journal

Change journal for file operations and deleted file recovery

Timeline

Unified timeline from MFT, USN, Prefetch, Amcache, EVTX

User Activity

Category

Capabilities

Browser

Edge, Chrome, Firefox history and downloads

LNK Files

Windows shortcut analysis for recently accessed files

ShellBags

Folder navigation history from both UsrClass.dat and NTUSER.DAT, incl. UNC shares and browsed archive interiors (libfwsi)

RecentDocs

Registry-based recent document tracking

Network Forensics

Category

Capabilities

PCAP Analysis

Parse PCAP/PCAPNG files - conversations, DNS queries, HTTP requests, suspicious connections

API Monitor Capture Analysis

Category

Capabilities

APMX Parsing

Parse API Monitor captures (.apmx64/.apmx86) - process metadata, API call extraction, parameter values

Pattern Detection

Detect injection, hollowing, credential dumping, and other attack patterns from captured API call sequences with MITRE ATT&CK mapping

Handle Correlation

Track handle values across calls to reconstruct attack chains (OpenProcess -> VirtualAllocEx -> WriteProcessMemory -> CreateRemoteThread)

Injection Analysis

Extract enriched injection chain details: target PID/process, shellcode size, allocation addresses, technique classification

API Knowledge Base

26,944 Windows API definitions with parameter signatures, DLL mappings, and category browsing

Malware Detection

Category

Capabilities

YARA Scanning

718 rules from signature-base - APT, ransomware, webshells, hacktools

IoC Packs

Behavioral IoC packs for hunting across exported logs, filenames, and PCAP payloads; includes optional GPL-2.0 impacket-iocs pack with 65 rules

VirusTotal

Hash/IP/domain reputation lookups with caching and rate limiting (free tier supported)

DiE Integration

Detect packers (UPX, Themida, VMProtect), compilers, .NET, installers via Detect It Easy

Orchestrators

Tool

What It Does

investigate_execution

Correlates Prefetch + Amcache + SRUM to answer "Was this binary executed?"

investigate_user_activity

Correlates Browser + ShellBags + LNK + RecentDocs for user activity timeline

hunt_ioc

Searches for IOC (hash/filename/IP/domain) across ALL artifact sources + optional YARA scanning

hunt_ioc_pack

Hunts behavioral IoCs from bundled/external metadata packs such as impacket-iocs

build_timeline

Builds unified forensic timeline from multiple sources

Utilities

Tool

What It Does

ingest_parsed_csv

Import Eric Zimmerman tool CSV output (MFTECmd, PECmd, AmcacheParser)


Installation

Prerequisites

# Install uv (fast Python package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh
source ~/.bashrc

# Ensure Python 3.10+
python3 --version

Install from PyPI

uv tool install winforensics-mcp

Install from source

git clone https://github.com/x746b/winforensics-mcp.git
cd winforensics-mcp

# Install with uv (recommended)
uv sync

# Or install with all optional extras
uv venv && source .venv/bin/activate
uv pip install -e ".[all]"

Verify

uv run python -m winforensics_mcp.server
# Should start without errors (Ctrl+C to exit)

Adding to Claude CLI

Installed from PyPI

claude mcp add winforensics-mcp --scope user -- uv run winforensics-mcp

Installed from sources

claude mcp add winforensics-mcp \
  --scope user \
  -- uv run --directory /path/to/winforensics-mcp python -m winforensics_mcp.server

Verify:

claude mcp list
# Should show winforensics-mcp

LLM Integration (CLAUDE.md)

For AI-assisted forensic analysis, include CLAUDE.md in your case directory. It provides:

  • Orchestrator-first guidance - Ensures LLMs use high-level tools before low-level parsers

  • Token efficiency - Reduces API costs by 50%+ through proper tool selection

  • Investigation workflow - Step-by-step methodology for consistent analysis

Usage

Copy CLAUDE.md to your case directory:

cp /path/to/winforensics-mcp/CLAUDE.md /your/case/directory/
# Edit paths in CLAUDE.md to match your case

The LLM will automatically follow the orchestrator-first approach:

Question

Orchestrator Used

"Was malware.exe executed?"

investigate_execution

"What did the user do?"

investigate_user_activity

"Find this hash everywhere"

hunt_ioc

"Build incident timeline"

build_timeline


Quick Start Examples

Was This Binary Executed?

Investigate if mimikatz.exe was executed on the system at /mnt/evidence

The investigate_execution orchestrator checks Prefetch, Amcache, and SRUM:

{
  "target": "mimikatz.exe",
  "execution_confirmed": true,
  "confidence": "HIGH",
  "evidence": [
    {"source": "Prefetch", "finding": "Executed 3 times, last at 2024-03-15T14:23:45Z"},
    {"source": "Amcache", "finding": "SHA1: abc123..., First seen: 2024-03-14T09:00:00Z"},
    {"source": "SRUM", "finding": "Network: 15.2 MB sent; Foreground: 47 seconds"}
  ]
}

Hunt for IOC Across All Artifacts

Hunt for the hash 204bc44c651e17f65c95314e0b6dfee586b72089 in /mnt/evidence

The hunt_ioc tool searches Prefetch, Amcache, SRUM, MFT, USN, Browser, EVTX, and optionally YARA:

{
  "ioc": "204bc44c651e17f65c95314e0b6dfee586b72089",
  "ioc_type": "sha1",
  "found": true,
  "sources_with_hits": ["Amcache", "MFT"],
  "findings": [
    {"source": "Amcache", "matches": 1, "details": "bloodhound.exe"},
    {"source": "MFT", "matches": 1, "details": "Users\\Admin\\Downloads\\bloodhound.exe"}
  ]
}

Tool Reference

Orchestrators (High-Level Investigation)

Tool

Description

investigate_execution

Correlate Prefetch/Amcache/SRUM to prove binary execution

investigate_user_activity

Correlate Browser/ShellBags/LNK/RecentDocs for user activity

hunt_ioc

Hunt IOC (hash/filename/IP/domain) across all artifacts; yara_scan=True adds YARA threat intel

build_timeline

Build unified timeline from multiple artifact sources

Execution Artifacts

Tool

Description

file_analyze_pe

Static PE analysis - hashes, imports, exports, Authenticode program name, packer detection

disk_parse_prefetch

Parse Prefetch for execution evidence

disk_parse_amcache

Parse Amcache.hve for SHA1 hashes and timestamps

disk_parse_srum

Parse SRUDB.dat for app resource and network usage

Malware Detection (YARA)

Tool

Description

yara_scan_file

Scan file with 718 YARA rules (Mimikatz, CobaltStrike, webshells, APT, ransomware)

yara_scan_directory

Batch scan directory for malware

yara_list_rules

List available/bundled YARA rules

Behavioral IoC Packs

Tool

Description

ioc_pack_list

List bundled and external IoC packs with license metadata

hunt_ioc_pack

Hunt behavioral IoCs across text exports, filenames, and PCAP payloads

Threat Intelligence (VirusTotal)

Tool

Description

vt_lookup_hash

Look up file hash (MD5/SHA1/SHA256) on VirusTotal

vt_lookup_behavior

Bounded sandbox domains, URLs, commands, registry/file writes; optional full-result persistence

vt_lookup_ip

Get IP address reputation and geolocation

vt_lookup_domain

Get domain reputation and categorization

vt_lookup_file

Calculate file hashes and look up on VirusTotal

Network Forensics (PCAP)

Tool

Description

pcap_get_stats

Get PCAP statistics - packet counts, protocols, top talkers

pcap_get_conversations

Extract TCP/UDP conversations with byte counts

pcap_get_dns

Extract DNS queries and responses

pcap_get_http

Extract HTTP requests with URLs, methods, user-agents

pcap_search

Search packet payloads for strings or regex patterns

pcap_find_suspicious

Detect C2 indicators, beaconing, DNS tunneling

API Monitor Capture Analysis (APMX)

Tool

Description

apmx_parse

Parse .apmx64/.apmx86 capture - process info, modules, call counts

apmx_get_calls

Extract API calls with filtering, pagination, and time range support

apmx_get_call_details

Detailed records with parameter values, return values, timestamps

apmx_detect_patterns

Detect attack patterns (injection, hollowing, credential dumping) with MITRE ATT&CK IDs

apmx_correlate_handles

Track handle producer/consumer chains across API calls

apmx_get_injection_info

Enriched injection chain extraction (target PID, shellcode size, technique)

apmx_get_calls_around

Context window of calls around a specific record

apmx_search_params

Search all records for a specific parameter value

api_analyze_imports

Full PE import analysis with pattern detection and MITRE ATT&CK mapping

api_detect_patterns

Detect attack patterns from PE import tables

api_lookup

Look up Windows API signature (26,944 APIs with params, DLL, category)

api_search_category

Browse APIs by category (e.g., "Process Injection", "File Management")

Packer Detection (DiE)

Tool

Description

die_analyze_file

Analyze file for packers, compilers, protectors, .NET

die_scan_directory

Batch scan directory for packed executables

die_get_packer_info

Get info about packer (difficulty, unpack tools)

File System

Tool

Description

disk_parse_mft

Parse $MFT with ADS metadata and timestomping detection

disk_parse_usn_journal

Parse $J for file operations and deleted files

User Activity

Tool

Description

browser_get_history

Parse Edge/Chrome/Firefox history and downloads

user_parse_lnk_files

Parse Windows shortcuts for target paths

user_parse_shellbags

Parse ShellBags (UsrClass.dat + NTUSER.DAT) for folder navigation, network shares and archive browsing

Event Logs

Tool

Description

evtx_list_files

List EVTX files in a directory

evtx_get_stats

Get event counts, time range, Event ID distribution

evtx_search

Search with filters (time, Event ID, keywords)

evtx_security_search

Pre-built security event searches (logon, process creation, etc.)

evtx_attack_summary

Compact TSV summary for rapid triage - one line per event, attack-relevant columns only

evtx_explain_event_id

Get Event ID description

Registry

Tool

Description

registry_get_key

Get specific key and values

registry_search

Search values by pattern

registry_get_persistence

Get Run keys and services

registry_get_users

Get user accounts from SAM

registry_get_usb_history

Get USB device history

registry_get_system_info

Get OS version, hostname, timezone

registry_get_network

Get network configuration

Utilities

Tool

Description

ingest_parsed_csv

Import Eric Zimmerman CSV output (MFTECmd, PECmd, AmcacheParser, SrumECmd)

forensics_list_important_events

List important Event IDs by channel

forensics_list_registry_keys

List forensic registry keys by category

Remote Collection

Tool

Description

remote_collect_artifacts

Collect artifacts via WinRM (password or pass-the-hash)

remote_get_system_info

Get remote system info


Configuration

VirusTotal API Key

# Option 1: Environment variable
export VIRUSTOTAL_API_KEY="your-api-key-here"

# Option 2: Config file
mkdir -p ~/.config/winforensics-mcp
echo "your-api-key-here" > ~/.config/winforensics-mcp/vt_api_key

Get your free API key at virustotal.com. Free tier is rate-limited to 4 requests/minute; the client handles rate limiting and caches results for 24 hours.


Troubleshooting

DiE (Detect It Easy) not found

# Debian/Ubuntu
sudo apt install detect-it-easy

# Or download from https://github.com/horsicq/DIE-engine/releases

Remove MCP Server

claude mcp remove winforensics-mcp --scope user

License

Credits: omerbenamram/evtx (Rust EVTX parser), Rohitab Batra (API Monitor), Neo23x0/signature-base (YARA rules), horsicq/DIE-engine (Detect It Easy)

Core winforensics-mcp code is MIT licensed. See LICENSE.

Optional bundled IoC packs may use different licenses:

  • winforensics_mcp/ioc_packs/impacket-iocs contains material derived from ThatTotallyRealMyth/Impacket-IoCs and is licensed under GPL-2.0. See winforensics_mcp/ioc_packs/impacket-iocs/LICENSE.

Built for the DFIR community. No Windows required >)

Available Tools

43 tools
api_analyze_importsA

Detailed PE import analysis with pattern detection and API enrichment. Extracts all imports, detects injection/evasion/persistence patterns with MITRE ATT&CK mapping, and optionally enriches with API definitions.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to PE file to analyze
enrich_from_dbNoAdd API definitions from knowledge base (requires built DB)
detect_patternsNoRun pattern detection against import table

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It mentions extraction, pattern detection, and enrichment but does not reveal whether the operation is read-only, performance impacts, or failure modes. It is adequate but lacks depth.

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

Conciseness5/5

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

The description is two sentences with no extraneous information. The first sentence introduces the core functionality, and the second adds details on patterns and enrichment. It is front-loaded and efficient.

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

Completeness3/5

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

With no output schema and no annotations, the description leaves gaps: it does not describe return values, prerequisites (e.g., file must be PE), or that enrich_from_db requires a built DB. Overall, it is moderately complete.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by explaining that detect_patterns includes injection/evasion/persistence patterns with MITRE mapping, and enrich_from_db adds API definitions from a knowledge base. This goes beyond the schema descriptions.

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

Purpose5/5

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

The description clearly states it provides detailed PE import analysis, extracting imports, detecting patterns with MITRE ATT&CK mapping, and optionally enriching with API definitions. This verb+resource specification distinguishes it from siblings like api_detect_patterns.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternative tools like api_detect_patterns or other analysis tools. The description does not specify prerequisites, exclusions, or contextual triggers.

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

api_detect_patternsA

Detect injection/evasion/persistence API patterns from PE imports. Returns matched patterns with MITRE ATT&CK technique IDs and risk levels.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to PE file to analyze

TDQS

A3.8/5.0
Behavior3/5

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

The description discloses the detection focus and output type but lacks details on potential side effects, performance, or whether it is a read-only operation. Without annotations, it partially covers 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.

Conciseness5/5

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

Two sentences with no superfluous words. The main action is front-loaded, making it efficient for an agent to parse.

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

Completeness4/5

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

The description covers the core purpose and output for a simple single-parameter tool. It could be improved by mentioning return format or error conditions, but it is largely complete.

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

Parameters3/5

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

The schema already provides a clear description for the only parameter (file_path). The description adds no additional semantic context beyond what is in the schema.

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

Purpose5/5

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

The description explicitly states the tool detects injection/evasion/persistence API patterns from PE imports and outputs matched patterns with MITRE ATT&CK IDs and risk levels. This clearly differentiates it from siblings like api_analyze_imports.

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

Usage Guidelines3/5

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

The description implies usage for PE file analysis but does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions.

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

api_lookupA

Look up Windows API definition (signature, params, DLL, category) from the API Monitor knowledge base. Supports wildcards (e.g., 'Create*').

ParametersJSON Schema
NameRequiredDescriptionDefault
api_nameYesAPI name or pattern (e.g., 'CreateFileW', 'NtCreate*')
include_paramsNoInclude parameter details in results

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes what the tool returns and that it supports wildcards, but does not mention safety, idempotency, rate limits, or other behavioral traits typical for a lookup tool.

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

Conciseness5/5

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

Two concise sentences. The first defines action and result, the second adds an important feature (wildcard support). No redundant information.

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

Completeness5/5

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

For a lookup tool with two well-described parameters and no output schema, the description fully explains what the tool returns and its functionality. No gaps given the context.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds value by explaining that the api_name parameter supports wildcards and specifying the returned information categories, which is not in the schema.

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

Purpose5/5

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

The description clearly states the tool looks up Windows API definitions from a knowledge base, listing the returned fields (signature, params, DLL, category). It distinguishes from siblings like api_search_category and api_analyze_imports.

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

Usage Guidelines3/5

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

The description mentions wildcard support but does not provide explicit guidance on when to use this tool versus siblings or when not to use it. Usage is implied but not clearly differentiated.

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

api_search_categoryA

Browse/search Windows APIs by category. Categories are hierarchical (e.g., 'Data Access and Storage/Local File Systems/File Management').

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results to return
categoryYesCategory path or substring to search

TDQS

A3.8/5.0
Behavior2/5

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 such as being read-only, potential side effects, or safety. For a search tool, transparency is limited; the agent cannot infer whether the operation is safe or has rate limits.

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

Conciseness5/5

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

The description is extremely concise—two sentences that immediately convey purpose and provide a concrete example. No extraneous words or superfluous details.

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

Completeness4/5

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

For a simple search tool with two parameters and no output schema, the description adequately covers core functionality. It explains the hierarchical category concept but could briefly mention that the 'limit' parameter controls maximum results (though the schema already includes a default).

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

Parameters4/5

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

The input schema has 100% parameter description coverage. The description adds value by explaining the hierarchical nature of categories with an example, which supplements the schema's 'Category path or substring' description.

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

Purpose5/5

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

The description clearly states the action ('Browse/search') and the resource ('Windows APIs by category') with an illustrative example of hierarchical paths. It effectively distinguishes this tool from sibling tools like 'api_lookup' which are not category-focused.

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

Usage Guidelines3/5

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

The description implies the tool is for category-based browsing or searching but does not provide explicit guidance on when to use it versus alternatives like 'api_lookup' or other search tools. No when-not or 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.

apmx_calls_aroundA

Get a context window of API calls around a specific record index. Returns detailed call records in the range [call_index-before, call_index+after]. Useful for understanding what happened immediately before and after a suspicious call.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNoNumber of records after the target to include
beforeNoNumber of records before the target to include
file_pathYesPath to .apmx64 or .apmx86 capture file
call_indexYesThe center record index to look around
process_indexNoWhich process to read (0 = first/only process)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It states it returns detailed call records for a range, implying it is a read operation. However, it does not mention performance implications, whether it modifies state, or what 'detailed' means. Basic transparency but missing depth.

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

Conciseness5/5

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

Two sentences: first states purpose, second gives use case. Every word earns its place. No redundancy or fluff.

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

Completeness2/5

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

The tool has no output schema, so the description should fully explain return values. It only says 'returns detailed call records,' which is vague. Additionally, the process_index parameter is not mentioned, leaving the agent without guidance on multi-process scenarios. Incomplete for a tool with 5 parameters.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description does not add new parameter semantics; it simply restates the range concept already captured in the schema. No additional meaning beyond schema.

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

Purpose5/5

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

The description clearly states the tool gets a context window of API calls around a specific index, which is a specific verb+resource. It implicitly distinguishes from siblings like apmx_get_calls (which likely returns all calls) and apmx_get_call_details (single call details) by focusing on a range.

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

Usage Guidelines4/5

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

The description provides a clear use case: 'useful for understanding what happened immediately before and after a suspicious call.' While it does not explicitly exclude other scenarios or name alternatives, the context is clear enough for an AI agent to decide when to use this tool.

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

apmx_correlate_handlesA

Track handle values across API calls to reconstruct operation chains. Identifies handle-producing APIs (OpenProcess, CreateFile, etc.) and traces where those handles are consumed (VirtualAllocEx, WriteProcessMemory, etc.). Reveals attack chains like: OpenProcess -> VirtualAllocEx -> WriteProcessMemory -> CreateRemoteThread.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of handle chains to return
file_pathYesPath to .apmx64 or .apmx86 capture file
target_apisNoLimit to specific APIs (default: common injection/evasion APIs)
process_indexNoWhich process to analyze (0 = first/only process)

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are present, so the description carries the burden of disclosing behavior. It explains that the tool identifies handle producers and consumers and reveals attack chains. It does not mention any side effects, authentication needs, or limitations, but the described behavior is consistent with a read-only analysis tool. A score of 4 reflects adequate transparency without annotations.

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

Conciseness5/5

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

The description is extremely concise, consisting of two sentences that are front-loaded with the core purpose and supplemented with concrete examples. Every word serves a purpose, with no redundancy or filler.

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

Completeness3/5

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

While the description explains the tool's functionality well, it omits important contextual details: the output format is not described (no output schema), and prerequisites like prior parsing with apmx_parse are not mentioned. For a tool with moderate complexity, this gap lowers completeness.

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

Parameters4/5

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

All parameters have descriptions in the input schema, achieving 100% coverage. The description adds value by explaining the purpose of target_apis and limit, and giving context about default behavior. The schema handles the basic definitions, but the description enriches understanding.

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

Purpose5/5

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

The description clearly states the tool's function: tracking handle values across API calls to reconstruct operation chains. It provides specific examples of handle-producing and consuming APIs, and distinguishes itself from sibling tools by focusing on handle correlation rather than generic call listing or pattern detection.

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

Usage Guidelines4/5

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

The description implies usage for analyzing API sequences related to handle usage, with examples of attack chains. However, it does not explicitly state when to avoid this tool or provide alternatives among siblings. The context is clear but lacks explicit usage boundaries.

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

apmx_detect_patternsA

Detect injection/evasion/persistence patterns in APMX captured API calls. Analyzes runtime behavior (actually-called APIs) against known attack patterns with MITRE ATT&CK technique IDs. Returns risk level and suspicious call timeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to .apmx64 or .apmx86 capture file
process_indexNoWhich process to analyze (0 = first/only process)

TDQS

A4/5.0
Behavior4/5

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

With no annotations, description carries full burden. It discloses analysis behavior, use of MITRE ATT&CK, and outputs (risk level, timeline). Does not mention side effects (likely read-only) or performance, but is sufficient for a stateless analysis tool. No contradictions.

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

Conciseness5/5

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

Two sentences with front-loaded main action, followed by context on MITRE and output. Every sentence adds value; no unnecessary words.

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

Completeness4/5

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

Given no output schema, description adequately describes output (risk level, suspicious call timeline). Complexity is low with two parameters, one required. Context is sufficient for an agent to invoke correctly.

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

Parameters3/5

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

Schema coverage is 100% (both parameters described). Description adds no additional meaning beyond schema (file_path and process_index descriptions are clear). Baseline 3 assigned as schema carries the load.

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

Purpose5/5

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

Description clearly states the tool detects injection/evasion/persistence patterns in APMX captured API calls, uses MITRE ATT&CK IDs, and returns risk level and timeline. This is a specific verb+resource that distinguishes it from siblings like api_detect_patterns (API-focused) and apmx_get_calls (raw calls).

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

Usage Guidelines3/5

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

Description implies use for analyzing APMX captures for known attack patterns but does not explicitly state when to use this tool vs alternatives (e.g., apmx_injection_info for injection-only analysis, api_detect_patterns for API patterns). Lacks when-not-to-use or prerequisite context.

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

apmx_get_call_detailsA

Extract detailed API call records with parameter values, return values, and timestamps from an APMX capture. Shows pre-call and post-call parameter values, identifies return values by comparing pre/post state, and extracts embedded strings. Use call_indices for specific records or api_filter to search.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of detailed records to return
offsetNoSkip first N matching records (for pagination)
file_pathYesPath to .apmx64 or .apmx86 capture file
api_filterNoFilter by API name substring (case-insensitive)
call_indicesNoSpecific record indices to retrieve (overrides filter/pagination)
process_indexNoWhich process to read (0 = first/only process)

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses key behaviors: shows pre/post parameter values, identifies return values, and extracts embedded strings. However, it does not explicitly state that the tool is read-only (e.g., analyzing a capture file) or discuss performance implications.

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

Conciseness5/5

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

The description is two sentences with no extraneous information. The first sentence defines the purpose, the second provides parameter usage guidance. It is front-loaded and efficient.

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

Completeness4/5

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

Given the complexity (6 parameters, no output schema, no annotations), the description is reasonably complete. It covers the tool's output (parameter values, return values, timestamps) and parameter usage. However, it could mention error handling or limitations (e.g., file path validity) to be fully complete.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds value by explaining how to use call_indices and api_filter, but it does not provide additional semantic detail beyond the schema's own descriptions.

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

Purpose5/5

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

The description clearly states the tool extracts detailed API call records with parameter values, return values, and timestamps. It uses a specific verb (Extract) and resource (detailed API call records), distinguishing it from sibling tools like apmx_get_calls (which lists calls) and apmx_search_params (which searches parameters).

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

Usage Guidelines4/5

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

The description provides usage guidance: 'Use call_indices for specific records or api_filter to search.' This helps the agent decide which parameters to use. However, it does not explicitly differentiate when to use this tool over siblings like apmx_get_calls for listing vs. details.

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

apmx_get_callsA

Extract API call records from an APMX capture with filtering and pagination. Each record shows the top-level API and any nested calls made within it.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of call records to return
offsetNoSkip first N matching records (for pagination)
file_pathYesPath to .apmx64 or .apmx86 capture file
api_filterNoFilter by API name substring (case-insensitive)
process_indexNoWhich process to read (0 = first/only process)
time_range_endNoISO 8601 datetime — only include calls at or before this time
time_range_startNoISO 8601 datetime — only include calls at or after this time

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided. Description implies read-only operation, but lacks details on performance, error handling, or side effects. Adequate but could be more explicit.

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

Conciseness5/5

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

Two sentences cover key purpose and behavior. No unnecessary words, front-loaded with core functionality.

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

Completeness3/5

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

No output schema; description partially explains return records ('top-level API and nested calls'). Lacks full detail on output structure, error states, or edge cases. Adequate for a basic extraction tool.

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

Parameters3/5

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

All 7 parameters described in schema (100% coverage). Description mentions filtering/pagination but adds minimal extra meaning beyond schema descriptions.

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

Purpose5/5

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

Clear verb 'Extract' with specific resource 'API call records from an APMX capture', mentions filtering, pagination, and record structure. Distinct from sibling tools like apmx_calls_around.

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

Usage Guidelines3/5

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

No explicit when-to-use or alternatives. Implies usage for general extraction with filters, but does not differentiate from similar siblings like apmx_calls_around.

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

apmx_injection_infoB

Extract enriched injection chain details from an APMX capture. Returns target PID, target process name, shellcode size (requested vs aligned), start address, and injection technique label. Wraps handle correlation with parameter decoding for a forensic-friendly summary.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to .apmx64 or .apmx86 capture file
process_indexNoWhich process to analyze (0 = first/only process)

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It mentions 'wraps handle correlation with parameter decoding', which gives insight into internal processing. However, it does not explicitly state read-only behavior, error handling, or performance impacts. For a read-only analysis tool, this is adequate but not exceptional.

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

Conciseness5/5

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

Two sentences that are front-loaded with the primary action and output, followed by a brief elaboration on the handling. No redundant or unnecessary information. Every sentence earns its place.

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

Completeness4/5

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

Given that the schema fully documents parameters and no output schema exists, the description adequately covers what the tool returns. It lists specific fields (target PID, process name, shellcode sizes, etc.) and explains the forensic-friendly nature. Missing details about error conditions or limitations, but overall complete for its complexity.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not add meaning beyond the schema-provided parameter descriptions (file_path and process_index). Both parameters are already well-documented in the schema, so the description's added value is minimal.

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

Purpose4/5

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

The description clearly states the tool extracts injection chain details from APMX captures and lists specific outputs (target PID, process name, shellcode sizes, etc.). It is specific about the resource and verb, but does not explicitly differentiate from sibling tools like apmx_calls_around or apmx_get_calls.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description implies it's for injection chain details but does not mention preconditions, exclusions, or comparisons with other apmx tools. Lack of context signals such as 'use if you need injection-specific data' leaves the agent without clear selection criteria.

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

apmx_parseA

Parse Rohitab API Monitor capture file (.apmx64/.apmx86). Returns process info (name, PID, path, command line), loaded modules, and API call count. Use this first to understand what's in a capture.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to .apmx64 or .apmx86 capture file

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, but the description transparently describes a read-only parse operation without side effects. However, it doesn't explicitly state that it doesn't modify files or require special permissions, leaving minor ambiguity.

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

Conciseness5/5

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

Two sentences: first explains action and output, second provides usage guidance. No wasted words, front-loaded with key information.

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

Completeness4/5

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

Tool has no output schema, but description compensates by listing return values. For a simple parse tool with one parameter, this is mostly complete, though additional details about file size limits or error handling would improve it.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter, so the description adds no new semantic detail 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.

Purpose5/5

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

Description clearly states the tool parses Rohitab API Monitor capture files and lists the returned data (process info, modules, API call count). It distinguishes itself from sibling tools by implying it's the first step.

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

Usage Guidelines5/5

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

Explicitly says 'Use this first to understand what's in a capture,' providing clear guidance on when to use this tool over siblings.

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

apmx_search_paramsA

Search API calls by parameter value in an APMX capture. Finds all calls where a specific integer (e.g., PID, handle, size) or string appears as a parameter value. Returns matching calls with the matched parameters highlighted.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of matching calls to return
valueYesInteger or string value to search for in parameters
file_pathYesPath to .apmx64 or .apmx86 capture file
process_indexNoWhich process to search (0 = first/only process)

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided; description fails to disclose performance characteristics, limitations, or error handling for a search tool.

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

Conciseness5/5

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

Two concise sentences without waste; directly states purpose and output format.

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

Completeness4/5

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

Adequate for a search tool; covers input and output basics but lacks details on return structure or edge cases.

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

Parameters3/5

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

Schema coverage is 100% with descriptions; description adds minor context about searching integer or string values and highlighting matches.

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

Purpose5/5

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

Clear verb 'Search' with resource 'API calls by parameter value' and distinct from siblings like apmx_get_calls.

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

Usage Guidelines3/5

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

Implied usage from purpose, but no explicit when-to-use or alternatives; could benefit from context like 'use instead of apmx_get_calls when filtering by parameter value'.

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

browser_get_historyA

Parse browser history and downloads from Edge, Chrome, or Firefox. Answers: What URLs did the user visit? What files were downloaded? Where did downloads originate from?

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results per category
browserNoBrowser type (auto-detected if not specified)auto
url_filterNoFilter by URL or title (case-insensitive substring)
history_pathYesPath to browser History SQLite file or profile directory
dangerous_onlyNoOnly return downloads flagged as dangerous (Chrome/Edge only)
time_range_endNoISO format datetime - filter visits before this time
time_range_startNoISO format datetime - filter visits after this time
include_downloadsNoInclude download history

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavioral traits. It only states what the tool does (parse) but does not mention that it reads local SQLite files, that it is read-only, or any potential side effects. This is insufficient for an agent to understand the tool's behavior.

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

Conciseness5/5

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

The description is two sentences with no wasted words. The first sentence introduces the action and browsers, the second lists the questions answered, making it efficient and front-loaded.

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

Completeness3/5

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

The tool has 8 parameters with clear schema descriptions, but no output schema is provided. The description does not explain what the return values look like or how results are structured, leaving a gap for the agent despite good schema coverage.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema; it only reiterates the high-level purpose. The 'answers' part hints at output but does not directly explain parameters.

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

Purpose5/5

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

The description clearly states the tool's purpose with a specific verb 'Parse' and identifies the resource 'browser history and downloads' from three named browsers. It also lists the specific questions it answers, making the purpose unambiguous and distinguishable 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.

Usage Guidelines3/5

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

The description does not provide explicit guidance on when to use this tool versus alternatives or when not to use it. It implies the user needs a history file path but does not clarify prerequisites or context, leaving the agent without clear usage boundaries.

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

build_timelineA

Build comprehensive forensic timeline from multiple artifact sources (MFT, USN Journal, Prefetch, Amcache, EVTX). Returns sorted, deduplicated events. Answers: What happened and when? Provides unified chronological view of system activity.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of events to return
sourcesNoList of sources to include in timeline
mft_pathNoOverride auto-detected $MFT path
usn_pathNoOverride auto-detected USN Journal path
evtx_pathNoOverride auto-detected EVTX directory path
amcache_pathNoOverride auto-detected Amcache.hve path
artifacts_dirYesBase directory containing forensic artifacts. Tool will auto-detect common paths for MFT, USN, Prefetch, etc.
prefetch_pathNoOverride auto-detected Prefetch directory path
keyword_filterNoFilter events containing this keyword (case-insensitive)
time_range_endNoISO format datetime - include events before this time
time_range_startNoISO format datetime - include events after this time

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behaviors. It mentions auto-detection of paths, sorting, and deduplication, but does not disclose potential limitations such as performance considerations, memory usage, or what happens when artifacts are missing. The description is adequate but lacks richness.

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

Conciseness5/5

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

The description is three sentences long, each providing essential information: what the tool does, the output characteristics, and the core question it answers. No redundant or unnecessary words.

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

Completeness4/5

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

Given the complexity (11 parameters, no output schema), the description covers the main purpose and sources adequately. It does not explain the return format or processing limits, but for basic use it is sufficient. Slightly incomplete for advanced scenarios.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not add significant meaning beyond what is already in the schema; it repeats the concept of auto-detection and override paths but provides no additional semantic context for parameters.

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

Purpose5/5

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

The description clearly states the verb 'build' and the resource 'forensic timeline', lists specific artifact sources (MFT, USN, etc.), and distinguishes from sibling tools that parse individual artifacts. It also describes the output characteristics (sorted, deduplicated) and the overarching question it answers ('What happened and when?').

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

Usage Guidelines3/5

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

The description implies this tool is for a unified chronological view, but it does not explicitly state when to use it versus alternatives (e.g., individual parsers like disk_parse_mft). There are no usage exclusions or explicit comparisons to sibling tools.

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

disk_parse_amcacheA

Parse Amcache.hve to extract program execution evidence with SHA1 hashes, file paths, and timestamps. Proves a file existed and was prepared for execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of entries to return
name_filterNoFilter by file name (case-insensitive substring)
path_filterNoFilter by file path (case-insensitive substring)
sha1_filterNoFilter by SHA1 hash (case-insensitive)
amcache_pathYesPath to Amcache.hve file
time_range_endNoISO format datetime - filter entries before this time
time_range_startNoISO format datetime - filter entries after this time

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It states the tool parses a file and extracts evidence, but does not mention whether it is read-only, potential performance impact, required permissions, or error conditions. 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.

Conciseness5/5

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

The description is extremely concise: one sentence followed by a phrase. It is front-loaded with the action and contains no redundant words.

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

Completeness3/5

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

Given no output schema, the description should explain return structure. It mentions extracted data types but not format or ordering. Parameter descriptions in schema cover filters, so completeness is moderate.

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

Parameters3/5

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

Schema description coverage is 100%, with clear descriptions for all 7 parameters. The description adds no additional parameter information beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool parses Amcache.hve to extract program execution evidence including SHA1 hashes, file paths, and timestamps. It explicitly says 'Proves a file existed and was prepared for execution,' which differentiates it from siblings like disk_parse_mft or disk_parse_prefetch.

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

Usage Guidelines3/5

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

The description implies usage for analyzing Amcache.hve but does not provide explicit guidance on when to use this tool versus siblings like disk_parse_mft, disk_parse_prefetch, or disk_parse_srum. No when-not-to-use or alternative recommendations.

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

disk_parse_mftA

Parse $MFT (Master File Table) for file metadata, NTFS alternate data streams (ADS), and timestomping detection. Compares $STANDARD_INFORMATION and $FILE_NAME timestamps to identify manipulation. Answers: When was this file actually created? Has it been timestomped? Does it have named streams?

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of entries to return
mft_pathYesPath to $MFT file
files_onlyNoOnly return files (exclude directories)
output_modeNoOutput mode: full (all data), summary (basic info), timestomping_only (only flagged files)summary
entry_numberNoGet specific MFT entry by number
allocated_onlyNoOnly return allocated (not deleted) entries
time_range_endNoISO format datetime - filter entries modified before this time
file_path_filterNoFilter by file path, ADS name/path, or resident ADS content (case-insensitive substring)
time_range_startNoISO format datetime - filter entries modified after this time
detect_timestompingNoFlag files where $SI timestamps are earlier than $FN timestamps

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description must disclose behavioral traits. It correctly describes the tool as parsing and analyzing timestamps, implying it is read-only. However, it does not explicitly state that it does not modify data, require special permissions, or have rate limits, leaving some behavioral gaps.

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

Conciseness5/5

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

The description is concise (three sentences) and front-loaded with the core action. It efficiently conveys purpose, scope, and key features without extraneous detail, making it easy for an agent to parse.

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

Completeness4/5

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

Despite no output schema, the description hints at return values (metadata, timestamps, ADS). It covers the tool's main capabilities and questions it answers. For a complex tool with 10 parameters, it provides sufficient context, though it could briefly mention output structure.

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

Parameters3/5

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

Input schema covers all parameters (100% coverage), so the description's role is minimal. It adds context by tying parameters to the tool's purpose (e.g., timestomping detection), but does not enrich individual parameter descriptions beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states the tool parses $MFT for file metadata, ADS, and timestomping detection, distinguishing it from sibling disk parsing tools (e.g., disk_parse_prefetch). It answers specific forensic questions, leaving no ambiguity about its function.

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

Usage Guidelines4/5

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

The description implicitly guides usage by highlighting timestomping detection and named stream analysis, which differentiates it from other disk parsers. It provides explicit answers to common forensic queries, helping an agent decide when to invoke this tool, but lacks explicit 'when not to use' or alternative tool references.

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

disk_parse_prefetchA

Parse Windows Prefetch files to determine program execution history, run counts, and last execution times. Can parse a single .pf file or an entire Prefetch directory. Supports pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to .pf file or Prefetch directory
limitNoMaximum number of prefetch entries to return (default 20)
offsetNoSkip first N entries for pagination
executable_filterNoFilter by executable name (case-insensitive substring). Only applies to directory parsing.
include_loaded_filesNoInclude list of files/DLLs loaded by the executable (WARNING: increases output size significantly)

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It mentions pagination support and warns about large output with include_loaded_files, but lacks details on authorization requirements, error handling for invalid files, or whether the operation is read-only. Some behavioral context is present but incomplete.

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

Conciseness5/5

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

The description is three concise, front-loaded sentences. Every sentence adds value: the first states the core purpose, the second clarifies scope (file vs. directory), and the third mentions pagination. No wasted words.

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

Completeness3/5

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

Given no output schema, the description could better explain return values (e.g., fields in each parsed entry). It mentions high-level output (history, run counts, times) but lacks specifics. Pagination support is noted, but behavior for empty results or errors is omitted.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds minimal meaning beyond the schema: it explains that path can be a file or directory and that executable_filter applies only to directory parsing. However, this is not substantial additional insight.

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

Purpose5/5

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

The description clearly states the tool parses Windows Prefetch files to determine program execution history, run counts, and last execution times. It specifies the resource (Prefetch files) and the action (parse), distinguishing it from sibling tools that handle other disk artifacts like MFT, SRUM, etc.

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

Usage Guidelines3/5

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

The description mentions parsing a single .pf file or entire Prefetch directory, but does not provide explicit guidance on when to use this tool versus alternatives (e.g., disk_parse_amcache for application compatibility). No when-not-to-use or comparative guidance is given.

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

disk_parse_srumA

Parse SRUDB.dat for application resource usage including CPU time, network bytes sent/received, and foreground time. Answers: How long did this program run? What was its network activity?

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of entries to return
tableNoWhich SRUM table to parseapp_resource_usage
srum_pathYesPath to SRUDB.dat file
app_filterNoFilter by application name (case-insensitive substring)
time_range_endNoISO format datetime - filter entries before this time
time_range_startNoISO format datetime - filter entries after this time

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description bears full responsibility. It indicates what data is extracted but does not state whether the operation is read-only, mentions system privileges needed, or describes side effects. Given it is a forensic tool, likely read-only, but this is not confirmed.

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

Conciseness5/5

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

The description is very concise with two sentences. The first sentence defines the action and data extracted, the second provides practical example questions. No unnecessary words or redundancy.

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

Completeness3/5

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

With 6 parameters and no output schema, the description gives a good high-level overview but omits details about the output format, error handling, or performance characteristics. It sufficiently describes the tool's purpose but leaves some behavioral gaps.

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

Parameters3/5

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

Input schema has 100% parameter description coverage, so the baseline is 3. The tool description adds meaningful context about what queries can be answered (e.g., 'How long did this program run?') but does not elaborate on parameter semantics or usage beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states the tool parses SRUDB.dat for application resource usage like CPU time and network activity. It distinguishes itself from sibling tools (e.g., disk_parse_mft, disk_parse_prefetch) by focusing on SRUM data, and provides specific example questions it answers.

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

Usage Guidelines3/5

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

The usage context is implied but not explicit. It lacks guidance on when to use this tool vs. alternatives, and does not mention prerequisites or system requirements. However, the domain specificity (SRUM parsing) makes the intended use fairly clear.

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

disk_parse_usn_journalA

Parse $UsnJrnl:$J (USN Journal) for file system change history. Records file creation, deletion, modification, and rename operations. Answers: What files were created/deleted/renamed? When did file changes occur?

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of records to return
usn_pathYesPath to $J file (typically $Extend/$J)
files_onlyNoOnly return file events (exclude directories)
output_modeNoOutput mode: records (individual changes), summary (statistics), deleted_files (only deletions)records
reason_filterNoFilter by reason types (e.g., FILE_CREATE, FILE_DELETE, RENAME_NEW_NAME)
time_range_endNoISO format datetime - filter events before this time
filename_filterNoFilter by filename (case-insensitive substring)
extension_filterNoFilter by file extension (for deleted_files mode)
interesting_onlyNoOnly return forensically interesting changes (create, delete, rename, modify)
time_range_startNoISO format datetime - filter events after this time

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description must stand alone. It implies a read-only operation (parsing), but does not explicitly state non-destructive behavior, required permissions, or any side effects. It adds moderate context about the kind of information returned.

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

Conciseness5/5

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

Description is very concise (two sentences, ~40 words), front-loading the purpose and key questions answered. No extraneous information.

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

Completeness3/5

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

With 10 parameters and no annotations or output schema, the description covers the primary purpose but does not explain output modes, filtering nuances, or how parameters interact. Adequate for a simple parse tool but could be more comprehensive.

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

Parameters3/5

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

Input schema has 100% description coverage, with detailed descriptions for each parameter. The tool description does not add additional meaning beyond the schema, so baseline score of 3 is appropriate.

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

Purpose5/5

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

Description clearly identifies the tool as parsing the USN Journal for file system change history, with specific operations (create, delete, modify, rename). It distinguishes itself from sibling disk_parse_* tools by the target artifact ($J file).

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like disk_parse_mft. The description states what questions it answers but does not compare or contrast with other tools, leaving the agent to infer usage context.

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

evtx_attack_summaryA

Compact TSV summary of security events for rapid triage. Returns one tab-separated line per event with only attack-relevant columns. Fits entire attack chains in a single call. Types: process_creation (Timestamp|User|ParentProcess|CommandLine), logon (Timestamp|User|SourceIP|LogonType), account_created (Timestamp|NewUser|CreatedBy), scheduled_task, service_installed.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax events (default 500)
containsNoOnly events containing ALL these strings (case-insensitive)
evtx_pathYes
event_typeNoprocess_creation
not_containsNoExclude events containing ANY of these strings

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses the output format (TSV), behavior (returns one line per event with attack-relevant columns), and event type details. It does not explicitly state read-only, but the nature implies it.

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

Conciseness4/5

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

The description is relatively concise and front-loaded with the purpose. It includes necessary details about event types and columns, though it could be slightly more streamlined.

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

Completeness4/5

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

Given the tool has 5 parameters, no output schema, and no annotations, the description covers the main aspects: purpose, output format, event types, and filtering. It is mostly complete for rapid triage usage.

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

Parameters4/5

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

Schema coverage is 60% (descriptions for 3 of 5 params). The description adds value by explaining the output format and columns for each event type, which helps agents understand parameter usage beyond the schema.

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

Purpose5/5

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

The description explicitly states it is a 'Compact TSV summary of security events for rapid triage' and lists specific event types and columns. This clearly distinguishes it from sibling tools like evtx_search or evtx_security_search by focusing on attack-relevant summaries.

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

Usage Guidelines4/5

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

The description provides clear context by stating it is for rapid triage and can fit entire attack chains in a single call. It implies when to use it (quick summary) but does not explicitly state when not to use it or mention alternatives.

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

evtx_explain_event_idC

Get description of a Windows Event ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
channelNoSecurity
event_idYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided. The description merely says 'Get description', which implies a read operation, but it does not disclose any behavioral traits such as required permissions, error behavior for invalid event IDs, or the role of the channel parameter. The description carries a heavy burden without annotations and fails to provide sufficient detail.

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

Conciseness2/5

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

The description is extremely short (a single phrase), but it is under-specified rather than concise. It does not provide enough information to effectively use the tool, leaving the agent with minimal context.

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

Completeness2/5

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

Given the tool has two parameters and no output schema, the description is too minimal. It does not explain the return format, error handling, or the significance of the 'channel' parameter, making it incomplete for an agent to invoke correctly.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate for the lack of parameter documentation. However, it does not mention the 'event_id' (integer) or 'channel' (string, default 'Security') parameters at all, offering no guidance on their meaning or usage.

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

Purpose4/5

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

The description clearly states 'Get description of a Windows Event ID', which is a specific verb-resource pair and provides a clear purpose. It does not differentiate from siblings like evtx_search or evtx_get_stats, but it is distinct enough in function.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as evtx_search or evtx_attack_summary. There are no when-to-use, when-not-to-use, or prerequisite instructions, leaving the agent 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.

evtx_get_statsA

Get statistics about an EVTX file: event counts, time range, Event ID distribution.

ParametersJSON Schema
NameRequiredDescriptionDefault
evtx_pathYesPath to EVTX file

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It states 'Get statistics' implying a read operation, but does not mention non-destructive nature, auth needs, or any other 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.

Conciseness5/5

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

The description is a single sentence that conveys the core purpose and output details without extraneous information.

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

Completeness4/5

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

Given a single parameter and no output schema, the description adequately describes the output types (event counts, time range, Event ID distribution). Some might consider it slightly incomplete regarding the exact format, but it is suitable for a simple statistical tool.

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

Parameters3/5

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

Schema coverage is 100% (evtx_path has a description). The description adds no additional parameter details beyond what the schema provides.

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

Purpose5/5

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

The description clearly states it gets statistics (event counts, time range, Event ID distribution) from an EVTX file. This distinguishes it from sibling tools like evtx_search or evtx_explain_event_id.

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

Usage Guidelines3/5

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

The description implies use when overall statistics are needed, but does not explicitly state when to use this versus other EVTX tools or when not to use it.

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

evtx_list_filesC

List all EVTX (Windows Event Log) files in a directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
directoryYesDirectory path to search
recursiveNo

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided; the description only says 'list files' without disclosing error handling, file filtering behavior, or performance implications.

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

Conciseness3/5

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

The description is a single sentence, concise but too brief to provide necessary details; it's not overlong but lacks substance.

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

Completeness2/5

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

Given no output schema, no annotations, and only partial param descriptions, the description should explain return format, sorting, or filtering; it does not.

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

Parameters2/5

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

Schema coverage is 50% (only 'directory' has description); the tool description adds no extra meaning beyond what's in the schema, failing to compensate for the missing 'recursive' description.

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

Purpose5/5

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

The description clearly states the action (list) and resource (EVTX files in a directory), and it distinguishes from siblings like evtx_search and evtx_attack_summary by specifying file listing.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., evtx_search), no when-not-to-use conditions, and no prerequisites mentioned.

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

file_analyze_peA

Perform static analysis on Windows PE files (EXE/DLL/SYS). Extracts headers, imports, exports, sections, calculates hashes (MD5/SHA1/SHA256/Imphash), and detects packers/suspicious indicators.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesPath to the PE file to analyze
detail_levelNoLevel of detail: minimal (hashes+type), standard (+ sections/imports), verbose (+ all data)standard
extract_stringsNoExtract ASCII/Unicode strings (can be verbose)
calculate_hashesNoCalculate MD5, SHA1, SHA256, Imphash
check_signaturesNoCheck for known packer/crypter signatures

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description bears the full burden. It discloses static analysis nature, lists extractions (headers, imports, exports, sections, hashes), mentions packer/suspicious indicator detection, and warns that string extraction can be verbose. It does not mention side effects, which are minimal for a read-only tool.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the main purpose, and each sentence adds value. No redundant or unnecessary words.

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

Completeness4/5

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

Given the complexity (5 parameters, no output schema, no annotations), the description covers the tool's capabilities well, including a caution about verbose string extraction and an explanation of detail levels. It does not describe the return format, but the description implies the extracted data.

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

Parameters3/5

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

Schema coverage is 100% with good parameter descriptions. The tool description adds an overview of what the tool does but does not provide additional parameter-level details beyond 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.

Purpose5/5

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

The description clearly states it performs static analysis on Windows PE files (EXE/DLL/SYS) and lists specific capabilities: headers, imports, exports, sections, hashes, and packer detection. This distinguishes it from sibling tools that deal with other file types or different analysis (e.g., disk_parse_mft, browser_get_history).

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives or when not to use it. Among many siblings, there is no mention of context or exclusions, leaving the agent to infer usage without assistance.

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

forensics_list_important_eventsB

List important Event IDs for a log channel.

ParametersJSON Schema
NameRequiredDescriptionDefault
channelYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It states the tool lists event IDs, which implies a read operation. However, it does not specify the format of the output, whether the list is exhaustive or curated, or any side effects. For a simple listing tool, the description is minimally transparent.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. Every word contributes to stating the tool's purpose.

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

Completeness3/5

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

Given the tool's simplicity (one required enum parameter, no output schema), the description is adequate but minimal. It does not explain what 'important' means, how the IDs are determined, or what the output looks like. For a tool that likely returns a list of integers, more context would help an agent gauge its utility.

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

Parameters2/5

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

The description does not mention the 'channel' parameter or its enum values. The input schema fully defines the parameter with an enum, but the description adds no additional meaning, such as examples or context for what 'important' means per channel. Schema description coverage is 0%, so the description should compensate but does not.

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

Purpose5/5

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

The description clearly states the action ('List') and the resource ('important Event IDs for a log channel'). It distinguishes from siblings like evtx_explain_event_id which explains a single event ID, and evtx_search which searches events, by focusing on listing important predefined IDs for a given channel.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention specific use cases, prerequisites, or under what conditions this tool is preferred over siblings like evtx_explain_event_id or evtx_get_stats.

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

forensics_list_registry_keysC

List forensically important registry keys.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only says 'List' (implying read-only) but does not clarify whether it accesses a live system or forensic image, permission requirements, or output format (e.g., key paths, timestamps, values).

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

Conciseness3/5

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

The description is very short (one sentence) but omits essential details about the parameter and output. While front-loaded and efficient, it sacrifices completeness for brevity.

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

Completeness2/5

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

There is no output schema, so the description must explain what is returned (e.g., list of key paths or full key details). It does not. The category parameter is also unexplained. For a single-parameter tool, this is inadequate.

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

Parameters2/5

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

The schema has 0% description coverage for the category parameter, and the tool description does not mention it or explain what each enum value returns. The agent only sees the enum labels, which lack semantic clarity beyond their names.

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

Purpose3/5

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

The description 'List forensically important registry keys' indicates a verb and resource but fails to define what qualifies as 'important' or what the output contains (e.g., key names, paths, values). It does not mention the category parameter, leaving scope ambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus sibling tools like registry_get_network, registry_get_persistence, or registry_search. The agent is left to infer the use case without any contextual hints.

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

hunt_iocA

Hunt for IOC (hash, filename, IP, domain) across all forensic artifacts. Searches Prefetch, Amcache, SRUM, MFT, USN Journal, Browser History, EVTX logs, and optionally YARA rules. Answers: Where does this IOC appear? Was this file/hash/domain seen on the system? Is it known malware?

ParametersJSON Schema
NameRequiredDescriptionDefault
iocYesThe indicator to search for: MD5/SHA1/SHA256 hash, filename, IP address, or domain
ioc_typeNoType of IOC (auto-detected if not specified)auto
mft_pathNoOverride auto-detected $MFT path
usn_pathNoOverride auto-detected USN Journal path
evtx_pathNoOverride auto-detected EVTX directory path
srum_pathNoOverride auto-detected SRUDB.dat path
yara_scanNoIf True, scan the file with YARA rules when IOC is a filename and file is found. Provides threat intelligence (is it known malware?).
amcache_pathNoOverride auto-detected Amcache.hve path
artifacts_dirYesBase directory containing forensic artifacts. Tool will auto-detect common paths.
prefetch_pathNoOverride auto-detected Prefetch directory path
time_range_endNoISO format datetime - filter events before this time
time_range_startNoISO format datetime - filter events after this time

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must fully disclose behavior. It mentions searching multiple artifacts, auto-detection of paths, and optional YARA scanning, but does not state if the tool is read-only, its performance impact, or any side effects. The description gives moderate behavioral insight but leaves gaps.

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

Conciseness4/5

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

The description is three sentences: purpose, artifacts covered, and example questions. It is front-loaded and efficient, but could be more structured by separating parameter hints. Still, it is concise and easy to parse.

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

Completeness3/5

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

Given the tool's complexity (12 parameters, 2 required, no output schema), the description provides a good overview but lacks details on output format, error handling, or behavior when artifacts are missing. It answers conceptual questions but leaves implementation details unspecified.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all parameters. The description adds context by listing the artifact types searched, which aligns with the override path parameters, but does not add significant 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.

Purpose5/5

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

The description clearly states the tool hunts for IOCs (hash, filename, IP, domain) across multiple forensic artifacts, listing specific ones (Prefetch, Amcache, etc.). It distinguishes from sibling tools that parse single artifacts (e.g., disk_parse_mft) by offering a comprehensive search. The purpose is specific and actionable.

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

Usage Guidelines4/5

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

The description includes example questions that indicate when to use the tool (e.g., 'Where does this IOC appear?'). It implies it is for cross-artifact hunting, but does not explicitly state when not to use it or mention alternative tools for single-artifact analysis. Guidance is clear but lacks exclusion criteria.

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

hunt_ioc_packA

Hunt behavioral IoCs from a metadata pack across exported logs, text artifacts, filenames, and PCAP payloads. Bundled pack: impacket-iocs.

ParametersJSON Schema
NameRequiredDescriptionDefault
packNoBundled pack id/name to loadimpacket-iocs
limitNoMaximum findings/hits to return
max_filesNoMaximum files to inspect
pack_pathNoOptional external pack directory or pack.json path
scan_pcapNoScan PCAP payloads when scapy is installed
scan_filesNoScan plaintext exports/logs and filenames
artifacts_dirYesBase directory containing forensic artifacts, exported logs, PCAPs, or parsed tool output
max_file_sizeNoSkip files larger than this many bytes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It indicates scanning of various data sources but does not mention side effects, authorization needs, or whether the operation is read-only. Critical behavioral context is missing.

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

Conciseness5/5

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

The description is exceptionally concise: two sentences front-load the core purpose and a key example. Every word adds value with no redundancy.

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

Completeness4/5

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

Given the tool's complexity (8 parameters) and no output schema, the description covers the main purpose and sources adequately. However, it lacks guidance on workflow, prerequisites, or return format, leaving minor gaps.

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

Parameters3/5

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

Schema coverage is 100% with each parameter described. The description adds the bundled pack name as an example, but does not significantly augment 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.

Purpose5/5

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

The description clearly states the verb 'Hunt', the resource 'behavioral IoCs from a metadata pack', and the scope across multiple artifact types (logs, texts, filenames, PCAPs). It distinguishes from sibling 'hunt_ioc' by specifying the bundled pack mechanism.

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

Usage Guidelines3/5

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

The description implies usage for pack-based hunting but does not explicitly state when to use this tool versus alternatives (e.g., hunt_ioc) or when not to use it. No exclusions or prerequisites are mentioned.

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

ingest_parsed_csvA

Import pre-parsed CSV from Eric Zimmerman tools (MFTECmd, PECmd, AmcacheParser, SrumECmd) for querying. Auto-detects CSV type by column headers. Useful when you already have parsed output from EZ tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of entries to return
csv_pathYesPath to the CSV file
csv_typeNoType of CSV (auto-detected if not specified)auto
filter_fieldNoField name to filter on (e.g., 'filename', 'sha1', 'executable')
filter_valueNoValue to filter for (case-insensitive substring match)
time_range_endNoISO format datetime - filter entries before this time
time_range_startNoISO format datetime - filter entries after this time

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavioral traits. It mentions auto-detection of CSV type but does not describe whether the tool is read-only, what side effects occur (e.g., file persistence), or the response format. With a score of 3, it provides basic context but lacks depth.

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

Conciseness5/5

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

The description is concise, consisting of two sentences that front-load the core action ('Import pre-parsed CSV...') and purpose. Every sentence adds value without redundancy.

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

Completeness3/5

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

The tool has no output schema, so the description should hint at return values. It only says 'for querying,' which is vague. Filtering behavior is implied by parameters but not explained. More detail on what the tool returns would improve completeness.

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

Parameters3/5

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

Schema coverage is 100%, so the input schema already describes each parameter. The description adds marginal value by noting auto-detection, but this is already reflected in the 'auto' default for csv_type. Thus, a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool imports pre-parsed CSV from Eric Zimmerman tools for querying, which differentiates it from sibling tools that parse raw data (e.g., disk_parse_mft). The verb 'import' and specific resource 'pre-parsed CSV from EZ tools' make the purpose unambiguous.

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

Usage Guidelines4/5

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

The description says 'Useful when you already have parsed output from EZ tools,' which implies when to use this tool. It does not explicitly mention when not to use it or suggest alternatives, but the context of sibling tools provides some differentiation, earning a 4.

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

investigate_executionA

Comprehensive execution analysis. Correlates Prefetch, Amcache, and SRUM to prove or disprove binary execution. Answers: Was this binary executed? When? How long did it run? Provides confidence scoring and unified timeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesExecutable name (e.g., 'mimikatz.exe'), file path, or SHA1 hash to investigate
srum_pathNoOverride auto-detected SRUDB.dat path
amcache_pathNoOverride auto-detected Amcache.hve path
artifacts_dirYesBase directory containing forensic artifacts (Prefetch, Amcache.hve, SRUDB.dat). Tool will auto-detect common paths.
prefetch_pathNoOverride auto-detected Prefetch directory path
time_range_endNoISO format datetime - filter events before this time
time_range_startNoISO format datetime - filter events after this time

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the tool correlates multiple artifacts and provides answers, but does not mention limitations such as handling of missing artifacts, performance implications, or required privileges. The parameter description notes auto-detection of paths, adding some transparency.

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

Conciseness5/5

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

The description is concise, using multiple short sentences that each add value: it states the tool is comprehensive, specifies correlated artifacts, answers key questions, and mentions outputs (confidence scoring, timeline). No filler or redundancy.

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

Completeness4/5

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

Given the complexity (7 params, no output schema, no annotations), the description covers the main purpose, artifacts, and questions. It lacks details on output format or behavior when artifacts are missing, but is reasonably complete for a tool with strong schema descriptions.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds no additional semantics beyond the schema descriptions; it focuses on overall purpose. Parameters are well-documented in the schema, so no further elaboration needed.

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

Purpose5/5

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

The description clearly states the tool's purpose: comprehensive execution analysis by correlating Prefetch, Amcache, and SRUM. It answers specific questions (whether executed, when, duration) and provides unified timeline and confidence scoring. This distinguishes it from sibling tools that parse individual artifacts.

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

Usage Guidelines3/5

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

The description implies usage for execution investigation but does not explicitly state when to use this tool versus alternatives like disk_parse_prefetch or evtx_search. No when-not or alternatives are given, leaving some ambiguity.

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

investigate_user_activityA

Comprehensive user activity investigation. Correlates Browser History, ShellBags, LNK files, and RecentDocs to build a complete picture of user activity. Answers: What did the user browse? What files did they access? What folders did they navigate?

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results per source
keywordNoOptional keyword to search across all sources (URLs, filenames, paths)
lnk_pathNoOverride auto-detected Recent LNK folder path
usernameNoOptional username to narrow artifact search in multi-user images
ntuser_pathNoOverride auto-detected NTUSER.DAT path
browser_pathNoOverride auto-detected browser History path
artifacts_dirYesBase directory containing forensic artifacts or user profile
usrclass_pathNoOverride auto-detected UsrClass.dat path
time_range_endNoISO format datetime - filter events before this time
suspicious_onlyNoFor ShellBags, only return suspicious folder access (temp, AppData, network shares)
time_range_startNoISO format datetime - filter events after this time

TDQS

A3.6/5.0
Behavior3/5

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

The description discloses that it correlates multiple sources and can override auto-detected paths, but lacks behavioral context such as whether artifacts must be present, performance impacts, or destructive actions. With no annotations, more detail would be beneficial.

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

Conciseness5/5

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

The description is concise (three sentences) and front-loaded with the main purpose, followed by sources and questions. No unnecessary words.

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

Completeness2/5

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

Given 11 parameters and no output schema, the description does not explain the output format, how correlation results are presented, or potential limitations. This leaves agents without full context for invoking the tool.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description does not add extra meaning to parameters beyond what the schema already provides, only summarizing the overall purpose.

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

Purpose5/5

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

The description clearly identifies the tool as a comprehensive investigation correlating multiple artifact types (Browser History, ShellBags, LNK files, RecentDocs) to answer specific questions about user activity. It distinguishes itself from sibling tools like browser_get_history or user_parse_shellbags by combining them.

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

Usage Guidelines3/5

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

The description implies that this tool is for comprehensive investigation, while siblings cover individual sources. However, it does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or prerequisites.

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

ioc_pack_listA

List bundled and optional external behavioral IoC packs, including license metadata and rule counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
extra_pathsNoOptional external pack directories or pack.json files to include

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral transparency. It mentions output (license metadata, rule counts) but does not disclose whether the operation is read-only, idempotent, or has any side effects or authorization requirements.

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

Conciseness5/5

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

The description is a single, well-structured sentence of 18 words. It is front-loaded with the action and resource, and every phrase adds value. No unnecessary words.

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

Completeness3/5

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

The description covers the basic purpose and output fields (license metadata, rule counts) but does not specify the return format, whether filtering is possible, or if the list includes built-in packs. Given no output schema and multiple siblings, more detail on the output structure would improve completeness.

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

Parameters3/5

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

The input schema has one optional parameter 'extra_paths' with its own description. The tool description does not add any additional meaning beyond what the schema already provides. Since schema coverage is 100%, baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool lists bundled and optional external behavioral IoC packs with license metadata and rule counts. It uses specific verb 'list' and resource 'IoC packs', differentiating from sibling tools like 'hunt_ioc_pack' which hunts rather than lists.

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

Usage Guidelines3/5

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

The description implies usage for listing packs but provides no explicit guidance on when to use this tool versus alternatives like hunt_ioc_pack. No when-not-to-use or prerequisite information is given.

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

registry_get_keyC

Get registry key and values from a hive file.

ParametersJSON Schema
NameRequiredDescriptionDefault
key_pathYes
hive_pathYes
max_depthNo

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description is the sole source of behavioral context. It only says 'get', implying read-only, but does not clarify if it modifies the hive, requires special permissions, or how values are returned. The description is too brief to disclose important traits.

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

Conciseness3/5

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

Single sentence, but it is concise. However, it lacks structure and could be expanded to include parameter details or usage notes without being verbose.

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

Completeness2/5

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

Given 3 parameters, no output schema, and many sibling tools performing similar registry operations, the description is too sparse. It does not explain the return format, depth parameter behavior, or how values are presented, leaving significant gaps.

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

Parameters2/5

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

The input schema has 0% description coverage, and the tool description adds no explanation of parameters (hive_path, key_path, max_depth). The name 'max_depth' is the only hint of functionality. The description fails to compensate for the poor schema documentation.

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

Purpose4/5

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

Description states 'Get registry key and values from a hive file', which clearly indicates the action and resource. However, it does not differentiate from sibling tools like registry_search or registry_get_network, which also deal with registry keys.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as registry_search or registry_get_persistence. There is no mention of prerequisites or context where this tool is appropriate.

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

registry_get_networkC

Get network configuration from SYSTEM hive.

ParametersJSON Schema
NameRequiredDescriptionDefault
system_hiveYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states 'Get', implying a read operation. It does not disclose any side effects, required privileges, or potential errors. The agent cannot infer whether this tool is safe or what conditions might cause it to fail.

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

Conciseness5/5

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

The description is a single, focused sentence with no redundant words. It is front-loaded with verb and resource, achieving maximum conciseness.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description should explain what 'network configuration' comprises and the expected return format. It does not cover these, leaving significant ambiguity for the agent.

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

Parameters2/5

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

The parameter 'system_hive' is required but receives no description in the schema or the tool description. The tool description mentions 'from SYSTEM hive' but does not clarify whether the parameter is a file path, registry path, or hive content. At 0% schema coverage, the description should compensate but fails to do so meaningfully.

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

Purpose4/5

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

The description clearly states the action ('Get') and the target ('network configuration from SYSTEM hive'), making the tool's purpose obvious. It distinguishes itself from sibling tools like registry_get_key or registry_get_system_info by focusing specifically on network settings.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites (e.g., requiring an extracted SYSTEM hive) or scenarios where another tool might be more appropriate.

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

registry_get_persistenceB

Get persistence mechanisms (Run keys, Winlogon values, services) from registry.

ParametersJSON Schema
NameRequiredDescriptionDefault
ntuser_hiveNo
system_hiveNo
software_hiveNo
include_microsoft_servicesNo

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must carry full behavioral burden, but it only states the target artifact types. It does not disclose how the supplied hives are read or combined, the effect of the include_microsoft_services default, or the output shape, leaving key behavioral traits implicit.

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

Conciseness4/5

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

A single sentence with no filler and no duplicated schema content; the main artifact categories are front-loaded. It is short, but the brevity comes at the cost of important context that other dimensions have to account for.

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

Completeness2/5

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

For a four-parameter tool with no output schema, the description is too incomplete: it does not explain what the output looks like, how to choose hive paths, or when to set include_microsoft_services. An agent would need to rely on parameter names and potentially miss hidden assumptions.

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

Parameters2/5

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

Schema description coverage is 0%, and the description adds no parameter-level meaning. It mentions 'registry' and 'services' only indirectly, while ntuser_hive, system_hive, software_hive, and include_microsoft_services remain undocumented except for their names.

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

Purpose5/5

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

The description uses a specific verb ('Get') with a specific resource ('persistence mechanisms') and enumerates concrete artifact classes (Run keys, Winlogon values, services). This clearly separates it from sibling tools like registry_get_key and registry_get_system_info, which target different registry data.

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

Usage Guidelines3/5

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

The use case is implied: call this when registry persistence mechanisms are needed. However, there is no explicit when/when-not guidance and no mention of alternatives such as registry_get_key or registry_search, so the agent must infer the applicable context.

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

registry_get_system_infoC

Get OS version, computer name, timezone from registry.

ParametersJSON Schema
NameRequiredDescriptionDefault
system_hiveYes
software_hiveYes

TDQS

C2.8/5.0
Behavior2/5

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 such as whether the operation is read-only, requires elevated privileges, or has side effects. It only states 'get... from registry', implying a read but without explicit confirmation.

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

Conciseness4/5

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

The description is a single sentence listing three specific outputs, which is concise. However, it omits necessary details, so it is not optimally structured for completeness.

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

Completeness2/5

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

Given the tool's simplicity (2 required parameters, no output schema), the description is incomplete. It does not explain what the parameters represent, what output to expect, or how to use the tool effectively.

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

Parameters1/5

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

The input schema has two parameters (software_hive, system_hive) with no descriptions, and the tool description does not explain their meaning or expected values (e.g., file paths). With 0% schema coverage, the description fails to compensate, leaving the agent without guidance on correct parameter usage.

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

Purpose5/5

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

The description clearly states the tool retrieves OS version, computer name, and timezone from the registry. This distinguishes it from sibling tools that target other registry areas (e.g., network, users, persistence).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like registry_get_key or registry_search. No preconditions, limitations, or when-not-to-use information is provided.

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

registry_get_usb_historyC

Get USB device history from SYSTEM hive.

ParametersJSON Schema
NameRequiredDescriptionDefault
system_hiveYes

TDQS

C2.6/5.0
Behavior2/5

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

The description only states the action (get USB history) and source (SYSTEM hive). With no annotations, the description should disclose behavioral traits like whether it's read-only, any side effects, or output format. It fails to provide such context.

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

Conciseness3/5

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

The description is a single sentence with no unnecessary words. However, it is too terse for the tool's complexity, omitting critical details that would justify a higher score.

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

Completeness1/5

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

Given the tool has one required parameter, no annotations, and no output schema, the description is severely incomplete. It does not describe the output format, behavior, or usage context, making it nearly useless for an AI agent.

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

Parameters1/5

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

The input schema has 0% description coverage for the single required parameter 'system_hive'. The description does not explain that this parameter expects a path to the SYSTEM registry hive file, leaving the agent without semantic understanding.

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

Purpose5/5

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

The description clearly states the tool retrieves USB device history specifically from the SYSTEM hive, using a specific verb and resource. This distinguishes it from sibling registry tools like registry_get_key or registry_get_system_info, which focus on different registry data.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, 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.

registry_get_usersC

Get user accounts from SAM hive.

ParametersJSON Schema
NameRequiredDescriptionDefault
sam_pathYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description only states the purpose without disclosing any behavioral traits such as whether the operation is read-only, error handling, or side effects.

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

Conciseness4/5

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

The description is a single sentence with no wasted words, but its brevity sacrifices necessary detail. It is concise but not sufficiently informative.

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

Completeness2/5

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

For a tool with no output schema, the description fails to indicate what the return value contains (e.g., list of usernames, SIDs). It also lacks details on the expected format of sam_path.

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

Parameters2/5

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

The single parameter 'sam_path' is not explained in the description. With 0% schema description coverage, the description adds no value beyond the schema, leaving the agent unsure what format or value to provide.

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

Purpose5/5

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

The description clearly states the action 'Get' and the resource 'user accounts from SAM hive', which is specific and distinguishes it from sibling registry tools like registry_get_key.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives such as registry_get_key or registry_search. The agent has no 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.

user_parse_lnk_filesB

Parse Windows shortcut (.lnk) files to determine target paths, access times, and volume information. Answers: What files did the user access recently? What were the original file locations?

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesPath to .lnk file, directory containing .lnk files, or user profile path
limitNoMaximum number of results
recursiveNoSearch recursively in subdirectories
recent_onlyNoOnly search the user's Recent folder (requires user profile path)
target_filterNoFilter by target path (case-insensitive substring)
extension_filterNoFilter recent files by extension (e.g., '.exe', '.ps1')

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states the tool parses .lnk files but does not disclose whether it is read-only, any side effects, required permissions, or output format. For a parsing tool, it is likely non-destructive, but this is not confirmed.

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

Conciseness4/5

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

Two sentences: first defines the core function, second poses guiding questions. No extraneous words. Could potentially blend the second sentence into the first for even tighter structure, but overall it is clear and efficient.

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

Completeness2/5

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

Given no output schema and six parameters, the description is incomplete. It does not explain the output fields or format, nor does it provide usage examples or guidance on parameter combinations. The tool is specialized but the description leaves the agent guessing about return value structure.

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

Parameters3/5

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

Schema coverage is 100%, baseline is 3. The description does not add new semantics beyond the schema; it merely repeats the purpose. The guiding questions hint at usage of parameters like 'recent_only' but do not elaborate on parameter relationships or provide examples.

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

Purpose5/5

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

The description clearly states the tool parses Windows shortcut (.lnk) files to extract target paths, access times, and volume information. It answers specific investigative questions about user file access and original locations, distinguishing it from sibling tools that deal with other data sources like registry or event logs.

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

Usage Guidelines3/5

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

The description provides implicit guidance through the questions it answers, suggesting when one might use it (e.g., to find recently accessed files or original locations). However, it lacks explicit when-to-use or when-not-to-use criteria nor does it reference alternative tools.

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

user_parse_shellbagsA

Parse ShellBags to reveal folder navigation history, including UNC network shares and the interior of ZIP archives browsed in Explorer. Parses BOTH the UsrClass.dat BagMRU and the matching NTUSER.DAT BagMRU (auto-detected), since some entries exist in only one hive. Reports long folder names, created/modified times and 'last_viewed' (last interacted). Answers: Which folders did the user access? When did they browse suspicious paths? What network shares and archives did they open?

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results
ntuser_pathNoOptional explicit path to the profile's NTUSER.DAT. Auto-detected from the UsrClass.dat location when omitted.
path_filterNoFilter results by path substring (case-insensitive)
usrclass_pathYesPath to UsrClass.dat (typically in Users/<user>/AppData/Local/Microsoft/Windows/UsrClass.dat). An NTUSER.DAT path is also accepted.
include_ntuserNoAlso parse the NTUSER.DAT BagMRU (Desktop namespace, where network share browsing is often recorded). Set false to parse only the given hive.
suspicious_onlyNoOnly return suspicious folder accesses (temp, AppData, network shares, etc.)

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool parses both hives, auto-detects NTUSER.DAT, handles ZIP archives, and reports timestamps. It implies a read-only, non-destructive operation. However, it does not mention potential failure modes, access requirements, or performance characteristics.

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

Conciseness5/5

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

The description is concise at six sentences, front-loaded with the primary action. Every sentence adds unique value: artifact type, data sources, capabilities, and the questions it answers. No fluff or repetition.

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

Completeness3/5

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

The tool has 6 parameters and no output schema. The description explains the artifact and the types of data returned (folder names, times, last_viewed) but does not describe the exact output structure (e.g., list of objects with fields per result). It also does not explain how parameters like 'limit' or 'path_filter' affect the output. For a tool with no output schema, the description should be more explicit about return format.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the significance of parsing both hives and the auto-detection logic, which maps to the 'include_ntuser' and 'ntuser_path' parameters. It also provides context for the output fields, helping the agent understand the meaning of parameters like 'suspicious_only' and 'path_filter'.

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

Purpose5/5

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

The description clearly states the tool parses ShellBags to reveal folder navigation history, including UNC shares and ZIP archives. It specifies parsing both UsrClass.dat and NTUSER.DAT with auto-detection, and explicitly answers the questions the tool addresses. This is a specific verb+resource combination that distinguishes it from sibling tools like user_parse_lnk_files.

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

Usage Guidelines3/5

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

The description provides clear context for when to use the tool (when investigating folder access history, network shares, archives) but does not explicitly state when not to use it or mention alternatives. The agent can infer usage from the listed questions, but no direct guidance on sibling tools or exclusion criteria is given.

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. Dates show when Glama detected each change.

  1. 1 tool updatev1.4.1
    • Changeduser_parse_shellbags3 fields changed
      • addedInput schema / properties / include_ntuser
        Added value: +{
        +  "default": true,
        +  "description": "Also parse the NTUSER.DAT BagMRU (Desktop namespace, where network share browsing is often recorded). Set false to parse only the given hive.",
        +  "type": "boolean"
        +}
      • addedInput schema / properties / ntuser_path
        Added value: +{
        +  "description": "Optional explicit path to the profile's NTUSER.DAT. Auto-detected from the UsrClass.dat location when omitted.",
        +  "type": "string"
        +}
      • changedInput schema / properties / usrclass_path / description
        Previous value: -"Path to UsrClass.dat (typically in Users/<user>/AppData/Local/Microsoft/Windows/UsrClass.dat)"New value: +"Path to UsrClass.dat (typically in Users/<user>/AppData/Local/Microsoft/Windows/UsrClass.dat). An NTUSER.DAT path is also accepted."
  2. 3 tool updatesv1.4.0
    • Changeddisk_parse_mft1 field changed
      • changedInput schema / properties / file_path_filter / description
        Previous value: -"Filter by file path (case-insensitive substring)"New value: +"Filter by file path, ADS name/path, or resident ADS content (case-insensitive substring)"
    • Addedhunt_ioc_pack
    • Addedioc_pack_list
  3. 30 tool updatesv1.3.0
    • Addedapi_analyze_imports
    • Addedapi_detect_patterns
    • Addedapi_lookup
    • Addedapi_search_category
    • Addedapmx_calls_around
    • Addedapmx_correlate_handles
    • Addedapmx_detect_patterns
    • Addedapmx_get_call_details
    • Addedapmx_get_calls
    • Addedapmx_injection_info
    • Addedapmx_parse
    • Addedapmx_search_params
    • Addedbrowser_get_history
    • Addedbuild_timeline
    • Addeddisk_parse_amcache
    • Addeddisk_parse_mft
    • Addeddisk_parse_prefetch
    • Addeddisk_parse_srum
    • Addeddisk_parse_usn_journal
    • Addedevtx_attack_summary
    • Changedevtx_search3 fields changed
      • changedInput schema / properties / limit / default
        Previous value: -100New value: +40
      • addedInput schema / properties / limit / description
        Added value: +"Max results to return (default 50)"
      • addedInput schema / properties / offset
        Added value: +{
        +  "default": 0,
        +  "description": "Skip first N matches for pagination",
        +  "type": "integer"
        +}
    • Changedevtx_security_search3 fields changed
      • changedInput schema / properties / limit / default
        Previous value: -100New value: +40
      • addedInput schema / properties / limit / description
        Added value: +"Max results to return (default 50)"
      • addedInput schema / properties / offset
        Added value: +{
        +  "default": 0,
        +  "description": "Skip first N matches for pagination",
        +  "type": "integer"
        +}
    • Addedfile_analyze_pe
    • Addedhunt_ioc
    • Addedingest_parsed_csv
    • Addedinvestigate_execution
    • Addedinvestigate_user_activity
    • Changedregistry_search1 field changed
      • changedInput schema / properties / limit / default
        Previous value: -100New value: +50
    • Addeduser_parse_lnk_files
    • Addeduser_parse_shellbags
  4. 14 tool updatesv1.0.0
    • First observedevtx_explain_event_id
    • First observedevtx_get_stats
    • First observedevtx_list_files
    • First observedevtx_search
    • First observedevtx_security_search
    • First observedforensics_list_important_events
    • First observedforensics_list_registry_keys
    • First observedregistry_get_key
    • First observedregistry_get_network
    • First observedregistry_get_persistence
    • First observedregistry_get_system_info
    • First observedregistry_get_usb_history
    • First observedregistry_get_users
    • First observedregistry_search

TDQS

B3.3/5.0
Disambiguation5/5

Tools are grouped by clear prefixes (api_, apmx_, disk_, evtx_, etc.), each serving a distinct forensic operation. Even within groups, tools have non-overlapping purposes (e.g., api_analyze_imports vs. api_detect_patterns). No two tools appear to do the same thing.

Naming Consistency4/5

Most tools follow a verb_noun pattern with category prefixes (e.g., disk_parse_mft, evtx_search). A few exceptions like 'apmx_calls_around' and 'evtx_attack_summary' use noun phrases, breaking the pattern slightly, but overall consistency is high.

Tool Count2/5

With 41 tools, the server is well beyond the typical well-scoped range of 3-15. While the domain is broad and each tool serves a specific forensic need, the sheer number risks overwhelming an agent and suggests insufficient granularity or scope creep.

Completeness4/5

The tool set covers a wide range of Windows forensic artifacts (PE, API monitoring, disk artifacts, EVTX, registry, user activity) and includes composite investigations. Minor gaps like memory analysis and network forensics are absent, but core forensic workflows are well supported.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides programmatic access to ingest and query Windows event logs (especially Sysmon logs), enabling security monitoring, incident response, and log analysis automation.
    5
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables autonomous digital forensics and incident response through 21 typed forensic tools covering disk, memory, registry, network, timeline, carving, and patterns, integrated with AI-driven reasoning and self-correction.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to perform digital forensics analysis including memory analysis, file metadata inspection, and threat-intelligence lookups.
    11
    ISC
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables Windows event log forensics by wrapping Hayabusa, offering EVTX scanning, Sigma rule exploration, ATT&CK coverage analysis, and detection engineering resources.
    MIT

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/x746b/winforensics-mcp'

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