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
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)
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
Category
Capabilities
MFT
Master File Table parsing with timestomping detection
USN Journal
Change journal for file operations and deleted file recovery
Timeline
Unified timeline from MFT, USN, Prefetch, Amcache, EVTX
Category
Capabilities
Browser
Edge, Chrome, Firefox history and downloads
LNK Files
Windows shortcut analysis for recently accessed files
ShellBags
Folder navigation history with suspicious path detection
RecentDocs
Registry-based recent document tracking
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
Category
Capabilities
YARA Scanning
718 rules from signature-base - APT, ransomware, webshells, hacktools
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
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
build_timeline
Builds unified forensic timeline from multiple sources
Tool
What It Does
ingest_parsed_csv
Import Eric Zimmerman tool CSV output (MFTECmd, PECmd, AmcacheParser)
# Install uv (fast Python package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh
source ~ /.bashrc
# Ensure Python 3.10+
python3 --version
uv tool install winforensics-mcp
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]"
uv run python -m winforensics_mcp.server
# Should start without errors (Ctrl+C to exit)
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
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
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" }
]
}
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
Tool
Description
file_analyze_pe
Static PE analysis - hashes, imports, exports, 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
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
Threat Intelligence (VirusTotal)
Tool
Description
vt_lookup_hash
Look up file hash (MD5/SHA1/SHA256) on VirusTotal
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
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")
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)
Tool
Description
disk_parse_mft
Parse $MFT with timestomping detection
disk_parse_usn_journal
Parse $J for file operations and deleted files
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 for folder navigation history
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
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
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
Tool
Description
remote_collect_artifacts
Collect artifacts via WinRM (password or pass-the-hash)
remote_get_system_info
Get remote system info
# 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.
DiE (Detect It Easy) not found
# Debian/Ubuntu
sudo apt install detect-it-easy
# Or download from https://github.com/horsicq/DIE-engine/releases
claude mcp remove winforensics-mcp --scope user
Credits: omerbenamram/evtx (Rust EVTX parser), Rohitab Batra (API Monitor), Neo23x0/signature-base (YARA rules), horsicq/DIE-engine (Detect It Easy)
MIT License | xtk | Built for the DFIR community. No Windows required >)