mcp-hayabusa
Enables EVTX (Windows Event Log) analysis via Hayabusa, providing tools to scan event logs and retrieve detection rules.
README
mcp-hayabusa
MCP server that wraps the Hayabusa CLI for EVTX (Windows Event Log) analysis, exposing scan_evtx and get_hayabusa_rules tools.
Prerequisites
- Python 3.10+ (this machine's default
python/pyis 3.8 — usepy -3.13explicitly; see below) - The Hayabusa binary —
download_hayabusa.py(below) fetches it into./hayabusa/, whichserver.pyfinds automatically. Alternatively, setHAYABUSA_PATHor puthayabusaonPATH.
Setup
py -3.13 -m pip install -r requirements.txt
py -3.13 download_hayabusa.py # downloads Hayabusa for this platform into ./hayabusa/
server.py finds the downloaded binary automatically — no env var needed. On Linux, set HAYABUSA_LIBC=musl at download time if you need the musl build instead of the glibc default.
Run
py -3.13 server.py
This starts the server on stdio, for use with an MCP client (e.g. Claude Code, Claude Desktop).
Tool: scan_evtx
| Argument | Type | Default | Description |
|---|---|---|---|
evtx_path |
str | required | Path to a single .evtx file to scan |
min_severity |
str | medium |
Minimum severity to include: informational, low, medium, high, critical |
Returns a formatted JSON string (total_detections + a detections array), or {"error": ...} on failure (missing file, missing Hayabusa binary, non-zero exit, timeout, locked/inaccessible file, invalid min_severity).
Tool: get_hayabusa_rules
| Argument | Type | Default | Description |
|---|---|---|---|
keyword |
str | "" |
Case-insensitive substring matched against each rule's title/id/tags/category. Empty = all rules. |
limit |
int | 50 |
Max rules returned, clamped to [1, 500] (there are ~5000 rule files total) |
Returns a formatted JSON string: total_rules_scanned, total_matches, returned, truncated, and a rules array (each with title, id, level, status, category, tags, source, path), sorted highest-severity-first. The first call per server process takes a few seconds (parsing ~5000 YAML rule files); results are cached in memory afterward, so subsequent calls are near-instant regardless of keyword/limit.
Status
Verified against a real, locally downloaded Hayabusa v3.10.0 and real EVTX data (including a locked live Windows event log, to confirm error handling). See CLAUDE.md for architecture notes and known gaps.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.