zeek-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ZEEK_LOG_DIR | No | Path to current Zeek logs | /opt/zeek/logs/current |
| ZEEK_LOG_FORMAT | No | Log format: json or tsv | json |
| SURICATA_EVE_LOG | No | Path to Suricata eve.json | /opt/nids/suricata/logs/eve.json |
| ZEEK_LOG_ARCHIVE | No | Path to archived/rotated logs | /opt/zeek/logs |
| ZEEK_MAX_RESULTS | No | Maximum results per query | 1000 |
| SURICATA_FAST_LOG | No | Path to Suricata fast.log | /opt/nids/suricata/logs/fast.log |
| SURICATA_RULES_DIR | No | Path to Suricata rules directory | /opt/nids/suricata/rules |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| zeek_query_connectionsB | Search Zeek connection logs with flexible filters. Supports CIDR notation for IPs, connection state filtering, duration/byte thresholds, and time ranges. |
| zeek_connection_summaryA | Get statistical summary of connections over a time period - top talkers, services, bytes, and connection counts. |
| zeek_long_connectionsC | Find unusually long-lived connections that may indicate C2 beacons, tunnels, or persistent backdoors. |
| zeek_query_dnsA | Search Zeek DNS query logs. Supports wildcard domain matching, query type filtering, and response code filtering. |
| zeek_dns_summaryA | DNS query statistics - top queried domains, NXDOMAIN counts (potential DGA detection), query type distribution, and top DNS clients. |
| zeek_dns_tunneling_checkB | Detect potential DNS tunneling by analyzing query entropy, subdomain lengths, and TXT/NULL query volumes. |
| zeek_query_httpA | Search Zeek HTTP request logs. Supports wildcard matching on host and URI, user agent filtering, and status code filtering. |
| zeek_suspicious_httpB | Find suspicious HTTP activity including POSTs to raw IPs, unusual user agents, large POST bodies, requests to high ports, and base64 in URLs. |
| zeek_query_sslA | Search Zeek SSL/TLS connection logs. Filter by SNI hostname, TLS version, certificate validation status, subject, and issuer. |
| zeek_expired_certsA | Find connections using expired or self-signed certificates - potential indicators of man-in-the-middle or malicious infrastructure. |
| zeek_query_filesC | Search Zeek file extraction logs. Filter by MIME type, filename, hash values, source IP, and file size. |
| zeek_executable_downloadsB | Find executable file transfers on the network - PE, ELF, Mach-O binaries and scripts that may indicate malware delivery. |
| zeek_query_noticesB | Search Zeek security notices (built-in and custom detections). Notices include port scans, invalid certificates, protocol violations, and custom alerts. |
| zeek_query_sshB | Search Zeek SSH connection logs. Filter by source/destination IP, authentication status, and connection direction. |
| zeek_ssh_bruteforceA | Detect SSH brute force attempts by identifying sources with multiple failed authentication attempts exceeding a threshold. |
| zeek_investigate_hostA | Comprehensive investigation of all activity for a specific host across all Zeek log types - connections, DNS, HTTP, SSL, files, notices, SSH, and software. |
| zeek_investigate_uidA | Follow a specific connection UID across all Zeek log types to reconstruct the complete session lifecycle. |
| zeek_software_inventoryA | List detected software and versions on the network from Zeek's protocol analysis. Useful for asset discovery and vulnerability assessment. |
| zeek_query_dhcpB | Search Zeek DHCP logs for lease assignments, device discovery, and hostname-to-IP mapping. Useful for asset inventory and identifying rogue devices. |
| zeek_dhcp_asset_mapA | Build an asset map from DHCP logs: MAC address to IP/hostname mappings. Useful for identifying all devices on the network and spotting unknown/rogue devices. |
| zeek_detect_beaconingA | Detect potential C2 beaconing by analyzing connection interval regularity. Finds source-destination pairs with suspiciously consistent callback intervals (low jitter). Higher scores indicate more regular beaconing patterns. |
| zeek_detect_anomaliesB | Run statistical anomaly detection across connection logs. Detects port scanning, data exfiltration (statistical outliers in bytes sent), and high-volume connections to unusual ports without identified services. |
| zeek_ja3_fingerprintsA | Extract and analyze JA3/JA3S TLS fingerprints from SSL logs. Identifies client TLS implementations and can detect known malicious fingerprints. JA3 fingerprints persist even when domains/IPs change, making them valuable for tracking threat actors. |
| zeek_ja3_huntA | Hunt for known malicious JA3 fingerprints across SSL logs. Compares all observed JA3 hashes against a built-in database of malware families (CobaltStrike, Emotet, TrickBot, etc.) and returns any matches. |
| zeek_network_baselineA | Generate a statistical baseline of normal network activity. Calculates averages, standard deviations, and distributions for connections, bytes, services, and protocols. Use as a reference point to identify deviations that may indicate compromise. |
| zeek_detect_outliersB | Compare current network activity against a baseline and identify statistical outliers. Flags hosts with unusual byte volumes, connection counts, port diversity, or timing patterns that deviate significantly from the norm. |
| suricata_query_alertsB | Search Suricata IDS/IPS alerts from eve.json. Filter by signature, severity, source/destination IP, protocol, and time range. Returns the most recent alerts matching the criteria. |
| suricata_alert_summaryB | Get a high-level summary of Suricata alerts: top signatures, categories, severity distribution, top source/destination IPs, and alert timeline. |
| suricata_correlate_zeekB | Cross-reference a Suricata alert with Zeek logs using community_id or IP/port/time matching. Returns the Suricata alert details alongside instructions to investigate the same flow in Zeek. |
| suricata_eve_statsA | Get Suricata engine statistics from eve.json stats events: packet counts, decoder stats, flow metrics, and detection engine performance. |
| pcap_listA | List available PCAP files in the capture directory with file sizes and timestamps. |
| pcap_analyzeA | Replay a PCAP file through Zeek and return the generated log summary. Creates connection, DNS, HTTP, SSL, and other logs from the packet capture. Useful for forensic analysis of captured traffic. |
| thehive_create_alertA | Create a TheHive alert from NIDS findings. Includes observables (IPs, domains, hashes), severity, TLP marking, and alert description. Use after investigating suspicious activity in Zeek/Suricata logs. |
| thehive_create_caseA | Create a TheHive case for in-depth investigation. Escalate from alerts or create directly from significant NIDS findings. Cases support tasks, observables, and collaborative investigation. |
| thehive_search_casesA | Search existing TheHive cases and alerts. Find related investigations, check for duplicates, or review open cases. |
| misp_search_iocsA | Search MISP for indicators of compromise (IOCs). Look up IPs, domains, hashes, URLs, and other observables against MISP's threat intelligence database. Returns matching events, attributes, and context. |
| misp_bulk_lookupA | Check multiple IOCs against MISP in a single call. Useful for batch-checking IPs, domains, or hashes found during Zeek/Suricata analysis. |
| misp_add_eventA | Create a MISP event from NIDS findings to share threat intelligence. Includes attributes (IOCs), tags, and threat level classification. |
| nids_sensor_statusA | Get the current status of the NIDS sensor: available Zeek log files with sizes, record counts, and freshness. Also checks Suricata eve.json status. Use this to understand what data is available before running queries. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| triage-alert | Triage a Suricata alert by cross-referencing with Zeek logs for full context. Determines if the alert is a true positive, false positive, or needs escalation. |
| investigate-host | Full host investigation workflow - cross-log analysis, anomaly identification, and connection profiling for a specific IP address. |
| hunt-for-c2 | Threat hunting workflow for command-and-control communication patterns using long connections, DNS anomalies, suspicious HTTP, and beaconing analysis. |
| network-baseline | Generate a network activity baseline showing normal traffic patterns, top talkers, common services, and DNS behavior. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| log-types | List of all Zeek log types with their field descriptions |
| stats | Current Zeek log directory statistics and available log files |
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/lidless-labs/zeek-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server