Windows Forensics MCP Server
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.
Related Projects
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
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 |
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 |
| Correlates Prefetch + Amcache + SRUM to answer "Was this binary executed?" |
| Correlates Browser + ShellBags + LNK + RecentDocs for user activity timeline |
| Searches for IOC (hash/filename/IP/domain) across ALL artifact sources + optional YARA scanning |
| Hunts behavioral IoCs from bundled/external metadata packs such as |
| Builds unified forensic timeline from multiple sources |
Utilities
Tool | What It Does |
| 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 --versionInstall from PyPI
uv tool install winforensics-mcpInstall 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-mcpInstalled from sources
claude mcp add winforensics-mcp \
--scope user \
-- uv run --directory /path/to/winforensics-mcp python -m winforensics_mcp.serverVerify:
claude mcp list
# Should show winforensics-mcpLLM 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 caseThe LLM will automatically follow the orchestrator-first approach:
Question | Orchestrator Used |
"Was malware.exe executed?" |
|
"What did the user do?" |
|
"Find this hash everywhere" |
|
"Build incident timeline" |
|
Quick Start Examples
Was This Binary Executed?
Investigate if mimikatz.exe was executed on the system at /mnt/evidenceThe 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/evidenceThe 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 |
| Correlate Prefetch/Amcache/SRUM to prove binary execution |
| Correlate Browser/ShellBags/LNK/RecentDocs for user activity |
| Hunt IOC (hash/filename/IP/domain) across all artifacts; |
| Build unified timeline from multiple artifact sources |
Execution Artifacts
Tool | Description |
| Static PE analysis - hashes, imports, exports, Authenticode program name, packer detection |
| Parse Prefetch for execution evidence |
| Parse Amcache.hve for SHA1 hashes and timestamps |
| Parse SRUDB.dat for app resource and network usage |
Malware Detection (YARA)
Tool | Description |
| Scan file with 718 YARA rules (Mimikatz, CobaltStrike, webshells, APT, ransomware) |
| Batch scan directory for malware |
| List available/bundled YARA rules |
Behavioral IoC Packs
Tool | Description |
| List bundled and external IoC packs with license metadata |
| Hunt behavioral IoCs across text exports, filenames, and PCAP payloads |
Threat Intelligence (VirusTotal)
Tool | Description |
| Look up file hash (MD5/SHA1/SHA256) on VirusTotal |
| Bounded sandbox domains, URLs, commands, registry/file writes; optional full-result persistence |
| Get IP address reputation and geolocation |
| Get domain reputation and categorization |
| Calculate file hashes and look up on VirusTotal |
Network Forensics (PCAP)
Tool | Description |
| Get PCAP statistics - packet counts, protocols, top talkers |
| Extract TCP/UDP conversations with byte counts |
| Extract DNS queries and responses |
| Extract HTTP requests with URLs, methods, user-agents |
| Search packet payloads for strings or regex patterns |
| Detect C2 indicators, beaconing, DNS tunneling |
API Monitor Capture Analysis (APMX)
Tool | Description |
| Parse .apmx64/.apmx86 capture - process info, modules, call counts |
| Extract API calls with filtering, pagination, and time range support |
| Detailed records with parameter values, return values, timestamps |
| Detect attack patterns (injection, hollowing, credential dumping) with MITRE ATT&CK IDs |
| Track handle producer/consumer chains across API calls |
| Enriched injection chain extraction (target PID, shellcode size, technique) |
| Context window of calls around a specific record |
| Search all records for a specific parameter value |
| Full PE import analysis with pattern detection and MITRE ATT&CK mapping |
| Detect attack patterns from PE import tables |
| Look up Windows API signature (26,944 APIs with params, DLL, category) |
| Browse APIs by category (e.g., "Process Injection", "File Management") |
Packer Detection (DiE)
Tool | Description |
| Analyze file for packers, compilers, protectors, .NET |
| Batch scan directory for packed executables |
| Get info about packer (difficulty, unpack tools) |
File System
Tool | Description |
| Parse $MFT with ADS metadata and timestomping detection |
| Parse $J for file operations and deleted files |
User Activity
Tool | Description |
| Parse Edge/Chrome/Firefox history and downloads |
| Parse Windows shortcuts for target paths |
| Parse ShellBags (UsrClass.dat + NTUSER.DAT) for folder navigation, network shares and archive browsing |
Event Logs
Tool | Description |
| List EVTX files in a directory |
| Get event counts, time range, Event ID distribution |
| Search with filters (time, Event ID, keywords) |
| Pre-built security event searches (logon, process creation, etc.) |
| Compact TSV summary for rapid triage - one line per event, attack-relevant columns only |
| Get Event ID description |
Registry
Tool | Description |
| Get specific key and values |
| Search values by pattern |
| Get Run keys and services |
| Get user accounts from SAM |
| Get USB device history |
| Get OS version, hostname, timezone |
| Get network configuration |
Utilities
Tool | Description |
| Import Eric Zimmerman CSV output (MFTECmd, PECmd, AmcacheParser, SrumECmd) |
| List important Event IDs by channel |
| List forensic registry keys by category |
Remote Collection
Tool | Description |
| Collect artifacts via WinRM (password or pass-the-hash) |
| 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_keyGet 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/releasesRemove MCP Server
claude mcp remove winforensics-mcp --scope userLicense
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-iocscontains material derived from ThatTotallyRealMyth/Impacket-IoCs and is licensed under GPL-2.0. Seewinforensics_mcp/ioc_packs/impacket-iocs/LICENSE.
Built for the DFIR community. No Windows required >)
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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