Skip to main content
Glama

zeek-mcp is a Model Context Protocol (MCP) server that lets an AI client read, query, and correlate Zeek and Suricata network security monitoring logs. It exists because network telemetry lives in dense per-protocol log files (conn, dns, http, ssl, files, notice, plus Suricata eve.json) that are tedious to grep by hand during an investigation, and an LLM is good at pivoting across them if you give it structured access. It differs from a generic log-reader MCP by speaking Zeek and Suricata natively: it parses both JSON and TSV, understands CIDR and wildcard matching, walks date-rotated and gzipped archives, and ships purpose-built detections (beaconing, DNS tunneling, JA3 hunting, anomaly and baseline analysis) rather than handing the model raw text.

What it does

zeek-mcp turns a Zeek and Suricata sensor into a queryable surface for an AI agent doing network security monitoring (NSM). Point it at your Zeek log directory and Suricata eve.json, register it with any MCP client, and the model can search connection logs, follow a connection UID across every log type, profile DNS for DGA and tunneling, inspect SSL/TLS certificates and JA3 fingerprints, find executable downloads on the wire, cross-reference Suricata alerts against Zeek context, and escalate findings into TheHive or MISP. Detection logic that would otherwise be a pile of ad-hoc queries (C2 beaconing by interval regularity, statistical anomaly detection, network baselining) is exposed as first-class tools, so the agent asks one question instead of reconstructing the analysis from raw logs every time.

It reads logs; it does not run the sensor, mutate capture, or replace your SIEM. Everything is read-only against Zeek and Suricata data, with the single exception of the optional TheHive and MISP tools that create alerts, cases, and events when you provide credentials.

Related MCP server: Zeek-MCP

Installation

git clone https://github.com/lidless-labs/zeek-mcp.git
cd zeek-mcp
npm install
npm run build

Prerequisites

  • Node.js 20+

  • Zeek sensor generating logs (JSON or TSV format)

  • Suricata (optional, for IDS alert correlation)

Quickstart

zeek-mcp is published on npm and runs over stdio, so any MCP client can launch it with npx. Add this to your client's MCP config (the example below is for Claude Desktop / Claude Code, adjust env paths to your sensor):

{
  "mcpServers": {
    "zeek": {
      "command": "npx",
      "args": ["-y", "zeek-mcp"],
      "env": {
        "ZEEK_LOG_DIR": "/opt/zeek/logs/current",
        "ZEEK_LOG_FORMAT": "tsv",
        "SURICATA_EVE_LOG": "/opt/suricata/logs/eve.json"
      }
    }
  }
}

Then ask your agent something like "summarize the top talkers in the last connection log and flag any beaconing" and it will call the relevant tools.

To try it locally against the bundled sample data:

npx -y zeek-mcp   # or: git clone, npm install, npm run build, then node dist/index.js

Set ZEEK_LOG_DIR to the included test-data/ directory to explore without a live sensor (see Development).

Usage

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "zeek": {
      "command": "npx",
      "args": ["-y", "zeek-mcp"],
      "env": {
        "ZEEK_LOG_DIR": "/opt/zeek/logs/current",
        "ZEEK_LOG_FORMAT": "tsv",
        "SURICATA_EVE_LOG": "/opt/suricata/logs/eve.json"
      }
    }
  }
}

Claude Code

claude mcp add zeek \
  --env ZEEK_LOG_DIR=/opt/zeek/logs/current \
  --env ZEEK_LOG_FORMAT=tsv \
  --env SURICATA_EVE_LOG=/opt/suricata/logs/eve.json \
  -- npx -y zeek-mcp

Add --scope user to make it available from any directory instead of only the current project.

OpenClaw

With the published package:

openclaw mcp set zeek '{
  "command": "npx",
  "args": ["-y", "zeek-mcp"],
  "env": {
    "ZEEK_LOG_DIR": "/opt/zeek/logs/current",
    "ZEEK_LOG_FORMAT": "tsv",
    "SURICATA_EVE_LOG": "/opt/suricata/logs/eve.json"
  }
}'

Or, when running from a source checkout instead of the npm package, point command/args at the built dist/index.js:

openclaw mcp set zeek '{
  "command": "node",
  "args": ["/absolute/path/to/zeek-mcp/dist/index.js"],
  "env": {
    "ZEEK_LOG_DIR": "/opt/zeek/logs/current",
    "ZEEK_LOG_FORMAT": "tsv",
    "SURICATA_EVE_LOG": "/opt/suricata/logs/eve.json"
  }
}'

Then restart the OpenClaw gateway so the new server is picked up:

systemctl --user restart openclaw-gateway
openclaw mcp list   # confirm "zeek" is registered

Codex CLI

Codex CLI registers MCP servers via codex mcp add:

codex mcp add zeek \
  --env ZEEK_LOG_DIR=/opt/zeek/logs/current \
  --env ZEEK_LOG_FORMAT=tsv \
  --env SURICATA_EVE_LOG=/opt/suricata/logs/eve.json \
  -- npx -y zeek-mcp

Codex writes the entry to ~/.codex/config.toml under [mcp_servers.zeek]. Verify with codex mcp list.

Standalone

ZEEK_LOG_DIR=/opt/zeek/logs/current ZEEK_LOG_FORMAT=tsv node dist/index.js

Development

ZEEK_LOG_DIR=./test-data npm run dev

Tools

zeek-mcp registers 39 tools. Read-only Zeek/Suricata query and analysis tools make up most of the set; the TheHive and MISP tools are the only ones that write, and only when you supply credentials.

Connection Analysis

Tool

Description

zeek_query_connections

Search connection logs with flexible filters (CIDR, protocol, duration, bytes)

zeek_connection_summary

Statistical summary: top talkers, services, bytes, connection counts

zeek_long_connections

Find long-lived connections (potential C2 beacons, tunnels)

DNS Analysis

Tool

Description

zeek_query_dns

Search DNS queries with domain wildcards and response code filtering

zeek_dns_summary

Top domains, NXDOMAIN counts (DGA detection), query type distribution

zeek_dns_tunneling_check

Detect DNS tunneling via entropy analysis and encoding detection

HTTP Analysis

Tool

Description

zeek_query_http

Search HTTP requests by host, URI, method, user agent, status code

zeek_suspicious_http

Find suspicious HTTP: POSTs to IPs, unusual agents, large bodies, base64 in URLs

SSL/TLS Analysis

Tool

Description

zeek_query_ssl

Search SSL/TLS by SNI, version, validation status, certificate fields

zeek_expired_certs

Find expired, self-signed, or invalid certificates

File Analysis

Tool

Description

zeek_query_files

Search file extractions by MIME type, hash, filename, size

zeek_executable_downloads

Find executable transfers (PE, ELF, scripts) on the wire

Security Notices

Tool

Description

zeek_query_notices

Search Zeek security notices (port scans, invalid certs, custom alerts)

SSH Analysis

Tool

Description

zeek_query_ssh

Search SSH connections by auth status, direction, client/server

zeek_ssh_bruteforce

Detect SSH brute force attempts exceeding a failure threshold

DHCP & Asset Discovery

Tool

Description

zeek_query_dhcp

Search DHCP logs for lease assignments and device discovery

zeek_dhcp_asset_map

Build MAC-to-IP/hostname asset map for network inventory

Cross-Log Investigation

Tool

Description

zeek_investigate_host

Full host investigation across all log types

zeek_investigate_uid

Follow a connection UID across all log types

Software Discovery

Tool

Description

zeek_software_inventory

List detected software and versions on the network

Analytics

Tool

Description

zeek_detect_beaconing

Detect C2 beaconing by analyzing connection interval regularity and jitter

zeek_detect_anomalies

Statistical anomaly detection: port scans, data exfiltration, unusual ports

zeek_ja3_fingerprints

Extract and analyze JA3/JA3S TLS fingerprints from SSL logs

zeek_ja3_hunt

Hunt known-malicious JA3 fingerprints (CobaltStrike, Emotet, TrickBot, etc.) across SSL logs

zeek_network_baseline

Generate a statistical baseline of normal network activity as a reference point

zeek_detect_outliers

Compare current activity against a baseline and flag statistical outliers

Suricata IDS

Tool

Description

suricata_query_alerts

Search Suricata alerts by signature, severity, IP, protocol, time

suricata_alert_summary

High-level alert summary: top signatures, categories, IPs, severity distribution

suricata_correlate_zeek

Cross-reference Suricata alerts with Zeek logs for full context

suricata_eve_stats

Suricata engine statistics: packets, flows, detection performance

PCAP Analysis

Tool

Description

pcap_list

List available PCAP files in the capture directory with sizes and timestamps

pcap_analyze

Replay a PCAP file through Zeek and return the generated log summary

Incident Response

Tool

Description

thehive_create_alert

Create a TheHive alert from NIDS findings (observables, severity, TLP)

thehive_create_case

Create a TheHive case for in-depth, collaborative investigation

thehive_search_cases

Search existing TheHive cases and alerts for related work or duplicates

misp_search_iocs

Search MISP for IOCs (IPs, domains, hashes, URLs) and return matching events

misp_bulk_lookup

Check multiple IOCs against MISP in a single call

misp_add_event

Create a MISP event from NIDS findings to share threat intelligence

Sensor Management

Tool

Description

nids_sensor_status

Live sensor status: log inventory, sizes, freshness, health checks

Resources

Resource

URI

Description

Log Types

zeek://log-types

All Zeek log types with field descriptions

Stats

zeek://stats

Sensor statistics and available log types

Prompts

Prompt

Description

triage-alert

Triage a Suricata alert by cross-referencing with Zeek logs

investigate-host

Guided host investigation workflow across all logs

hunt-for-c2

Threat hunting for C2 communication patterns

network-baseline

Generate a network activity baseline

Supported Log Types

conn, dns, http, ssl, files, notice, weird, x509, smtp, ssh, dpd, software, dhcp, ntp, ocsp, websocket

Configuration

Zeek

Variable

Default

Description

ZEEK_LOG_DIR

/opt/zeek/logs/current

Path to current Zeek logs

ZEEK_LOG_ARCHIVE

/opt/zeek/logs

Path to archived/rotated logs

ZEEK_LOG_FORMAT

json

Log format: json or tsv

ZEEK_MAX_RESULTS

1000

Maximum results per query

Suricata

Variable

Default

Description

SURICATA_EVE_LOG

/opt/suricata/logs/eve.json

Path to Suricata eve.json

SURICATA_FAST_LOG

/opt/suricata/logs/fast.log

Path to Suricata fast.log

SURICATA_RULES_DIR

/opt/suricata/rules

Path to Suricata rules directory

PCAP Analysis

Variable

Default

Description

PCAP_DIR

/opt/pcaps

Directory of PCAP files. pcap_analyze confines all filenames (relative and absolute) to this directory; anything resolving outside it is rejected.

ZEEK_BINARY

/usr/local/zeek/bin/zeek

Path to the Zeek binary.

ZEEK_CONTAINER

zeek

Docker container to run Zeek in. Set to empty to run Zeek directly on the host.

PCAP_OUTPUT_DIR

/tmp/zeek-pcap-analysis

Working directory for generated logs.

MISP

Variable

Default

Description

MISP_URL

https://localhost

MISP base URL.

MISP_API_KEY

(none)

MISP API key. Required for MISP tools.

MISP_VERIFY_SSL

true

Set to false to disable TLS certificate verification for MISP requests only (useful for self-signed MISP certs). Scoped to the MISP connection via a dedicated dispatcher; it does not affect any other connection or set global TLS options.

TheHive

Variable

Default

Description

THEHIVE_URL

http://localhost:9000

TheHive base URL.

THEHIVE_API_KEY

(none)

TheHive API key. Required for TheHive tools.

THEHIVE_VERIFY_SSL

true

Set to false to disable TLS certificate verification for TheHive requests only (useful for self-signed certs). Scoped to the TheHive connection; it does not affect any other connection or set global TLS options.

Features

  • 39 tools for querying and analyzing Zeek + Suricata logs

  • 2 resources for log type metadata and sensor stats

  • 4 prompts for guided investigation workflows

  • Dual format support - JSON and TSV (Zeek's native tab-separated format)

  • Suricata integration - Query eve.json alerts, cross-correlate with Zeek, engine stats

  • CIDR matching - Filter by IP ranges (10.0.0.0/8, 192.168.1.0/24) with full IPv6 support

  • Wildcard matching - Search domains and URIs with patterns (*.example.com)

  • Beaconing detection - Statistical C2 beacon analysis with jitter scoring

  • Anomaly + baseline detection - Port scan, data exfiltration, unusual ports, statistical outliers vs a baseline

  • DNS tunneling detection - Shannon entropy analysis with encoding detection

  • JA3/JA3S fingerprinting - Track TLS clients and hunt known-malicious fingerprints across SSL logs

  • PCAP replay - Run a packet capture through Zeek and analyze the generated logs

  • Incident response - Escalate findings into TheHive (alerts/cases) and MISP (IOC lookups/events)

  • DHCP asset mapping - MAC-to-IP/hostname device inventory

  • Compressed + rotated logs - Reads .gz archives and navigates Zeek's date-based log directories

Why not something else?

  • Grepping the logs by hand. Zeek and Suricata logs are precise but verbose, and a real investigation means pivoting from one connection UID into dns, http, ssl, and files. zeek-mcp gives the agent a zeek_investigate_uid / zeek_investigate_host pivot and structured filters instead of you reconstructing awk one-liners under pressure.

  • A generic file/log MCP. A plain log-reader hands the model raw lines and hopes it parses them. zeek-mcp understands Zeek's TSV header format and Suricata's eve.json schema, does CIDR and IPv6 matching, reads gzipped and date-rotated archives, and ships detections (beaconing, DNS tunneling, JA3 hunting) that a generic reader cannot.

  • Your SIEM's query language. A SIEM is the system of record. zeek-mcp is the lightweight, local, stdio path for an AI agent to read the same telemetry directly off the sensor during triage or homelab work, with no indexing tier or query DSL to learn. Use both: investigate quickly here, escalate to TheHive/MISP from the same session.

What zeek-mcp is not

zeek-mcp is not a Zeek/Suricata replacement, a packet-capture engine, a SIEM, or a background agent.

It does not:

  • run, configure, or manage your Zeek or Suricata sensor

  • capture packets or modify traffic (it reads logs, and replays existing PCAPs only on request)

  • index, store, or retain your telemetry between calls

  • run on a schedule, open network listeners, or send notifications on its own

  • write to Zeek/Suricata data anywhere

The only writes it performs are the optional TheHive and MISP tools, which create alerts, cases, and events, and only when you provide credentials.

Testing

npm test

110 tests covering parsers (JSON + TSV), query engine, CIDR/wildcard filters, analytics (entropy, beaconing, anomaly detection), Suricata eve.json parsing, DHCP log parsing, and sensor status.

Generate Test Data

npm run generate-logs
npx tsx scripts/generate-zeek-logs.ts --output=/tmp/zeek-logs --format=json

Project Structure

zeek-mcp/
  src/
    index.ts                 # MCP server entry point + tool registration
    config.ts                # Environment config + validation
    types.ts                 # Zeek log type definitions (16 log types)
    resources.ts             # MCP resources
    prompts.ts               # MCP prompts (4 workflows)
    parser/
      index.ts               # Format-agnostic parser + log resolution
      json.ts                # JSON log parser
      tsv.ts                 # TSV log parser with header detection
    query/
      engine.ts              # Query engine with filtering/sorting
      filters.ts             # CIDR match (v4+v6), wildcard, range operators
      aggregation.ts         # Statistical aggregation functions
    tools/
      connections.ts         # Connection analysis tools
      dns.ts                 # DNS analysis tools
      http.ts                # HTTP analysis tools
      ssl.ts                 # SSL/TLS analysis tools
      files.ts               # File analysis tools
      notices.ts             # Security notice tools
      ssh.ts                 # SSH analysis tools
      investigation.ts       # Cross-log investigation tools
      software.ts            # Software/asset discovery
      dhcp.ts                # DHCP log tools + asset mapping
      beaconing.ts           # Beaconing detection tool
      anomaly.ts             # Anomaly detection tool
      ja3.ts                 # JA3/JA3S fingerprinting + hunt
      baseline.ts            # Network baseline + outlier detection
      suricata.ts            # Suricata eve.json tools
      pcap.ts                # PCAP listing + Zeek replay
      thehive.ts             # TheHive alert/case tools
      misp.ts                # MISP IOC lookup + event tools
      sensor.ts              # Sensor status + health checks
    analytics/
      entropy.ts             # Shannon entropy calculation
      beaconing.ts           # Beacon detection algorithms
      anomaly.ts             # Statistical anomaly detection
  tests/                     # Vitest unit + integration tests
  test-data/                 # Sample Zeek + Suricata logs
  scripts/
    generate-zeek-logs.ts    # Mock data generator

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md for the contribution path and SECURITY.md for how to report vulnerabilities privately. By participating you agree to the Code of Conduct.

License

MIT


Available Tools

39 tools
misp_add_eventA

Create a MISP event from NIDS findings to share threat intelligence. Includes attributes (IOCs), tags, and threat level classification.

ParametersJSON Schema
NameRequiredDescriptionDefault
infoYesEvent description/title
tagsNoEvent tags (e.g. 'tlp:amber', 'type:OSINT')
analysisNo0=Initial, 1=Ongoing, 2=Complete
attributesNoAttributes/IOCs to include
threatLevelNo1=High, 2=Medium, 3=Low, 4=Undefined
distributionNo0=Org only, 1=Community, 2=Connected, 3=All

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It states a write operation ('Create') but omits behavioral details like idempotency, confirmation, return value, or prerequisites (authentication, permission). Minimal disclosure beyond the obvious.

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, no redundancy, front-loaded with purpose. Every word earns its place.

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?

Adequate for a creation tool with well-described schema, but lacks output details (e.g., event ID returned) and error handling context. Not fully complete given the absence of output schema.

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 clear descriptions for all 6 parameters. Description adds a high-level summary ('attributes, tags, threat level') but no additional semantic meaning or usage nuance 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 verb 'Create' and the resource 'MISP event', with a specific source context 'from NIDS findings' and purpose 'to share threat intelligence'. This distinguishes it from sibling tools like misp_search_iocs or suricata_query_alerts.

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?

Implies usage when NIDS findings are available, but no explicit when-to-use, when-not-to-use, or alternative tools. Lacks direct guidance for choosing between this and thehive_create_alert or other creation tools.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
indicatorsYesList of indicators to check

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided; description only implies a read operation without disclosing side effects, authentication requirements, rate limits, or output 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?

Two succinct sentences: first states action, second gives use case. No unnecessary words, highly 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?

Explains purpose and use case but lacks details on output format, no-match behavior, or any limits beyond schema constraints; adequate but incomplete.

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 has 100% description coverage; description adds contextual examples (IPs, domains, hashes) but does not significantly extend parameter 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?

Clearly states 'Check multiple IOCs against MISP in a single call' with specific examples (IPs, domains, hashes) and distinguishes from sibling MISP tools.

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?

Provides explicit context: 'Useful for batch-checking... found during Zeek/Suricata analysis.' Lacks explicit alternatives or when-not-to-use, but context is clear.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoAttribute type filter (ip-src, ip-dst, domain, md5, sha256, url, hostname, email-src)
limitNoMax results
valueYesIOC value to search (IP, domain, hash, URL, email)
includeEventInfoNoInclude parent event details

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 disclose behavioral traits. It only states 'searches' and 'returns,' omitting crucial information like read-only nature, authentication needs, rate limits, or whether it modifies data. This is insufficient for an agent to assess 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.

Conciseness5/5

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

Two sentences efficiently convey purpose and scope without redundancy. Every word adds value, and the key action is 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?

Given no output schema and no annotations, the description should cover output format and behavioral constraints. It mentions 'returns matching events, attributes, and context' but omits details like max results, pagination, or safety. Additional context like 'read-only' 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 description coverage is 100%, so the schema already documents all parameters. The description adds no new parameter-specific meaning beyond what the schema provides; it only reiterates the purpose. 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 action (Search), resource (MISP), and the kind of data (IOCs, IPs, domains, etc.). It differentiates from siblings like misp_add_event and misp_bulk_lookup, which are for adding events or bulk lookups respectively.

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 searching MISP IOCs but lacks explicit guidance on when to use this tool versus alternatives (e.g., misp_bulk_lookup). No exclusions or prerequisites are mentioned, leaving the agent to infer context.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description fully discloses the tool's behavior: it is a read-only status check returning file sizes, record counts, and freshness for Zeek and Suricata. No contradictory or hidden behavior is implied.

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: the first clearly states what the tool does, and the second provides actionable guidance. 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.

Completeness5/5

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

Given no parameters, no output schema, and straightforward functionality, the description fully covers the tool's purpose and usage context. It is sufficient for an agent to correctly select and invoke this tool.

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 no parameters, and the description does not need to add parameter details. According to guidelines, 0 parameters gives a baseline score of 4, which 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 'Get' and the specific resource 'current status of the NIDS sensor'. It lists the included components (Zeek log files and Suricata eve.json) with details (sizes, record counts, freshness). This distinguishes it from sibling tools that focus on querying or analyzing specific data types.

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 explicitly advises when to use the tool: 'Use this to understand what data is available before running queries.' This provides clear context for usage, though it does not specify when not to use or list alternative tools.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
scriptsNoAdditional Zeek scripts to load (e.g. 'protocols/ssl/log-hostcerts-only')
filenameYesPCAP filename (from pcap_list) or full path
timeoutSecondsNoAnalysis timeout in seconds

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 states that logs are created and a summary is returned, but does not disclose whether state is modified, if there are auth requirements, or if the operation is non-destructive. The behavioral context is adequate but not comprehensive.

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 front-loads the main action, and the second adds context about the types of logs generated. It is efficient and to the point.

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 or annotations, the description is reasonably complete. It explains the process (replay through Zeek), the output (log summary), and the types of logs. However, it does not detail the output format or potential limitations, which is acceptable for a tool of moderate 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 coverage is 100%, so the schema already describes all three parameters. The description does not add additional meaning beyond what is in the schema; it merely repeats the tool's purpose. 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 it replays a PCAP file through Zeek and returns a log summary, specifying the verb (replay), resource (PCAP file), and output. Among siblings, this is the only tool that replays PCAPs, distinguishing it from other Zeek tools that query existing 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 mentions it is useful for forensic analysis, which implies usage context. 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.

pcap_listA

List available PCAP files in the capture directory with file sizes and timestamps.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/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 states the output includes sizes and timestamps but does not mention pagination, filtering, or performance implications. This is minimal but acceptable for a simple list.

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 clear sentence with no wasted 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 zero parameters, no output schema, and no annotations, the description is adequately complete. It explains the action and the returned information. Minor missing details (e.g., whether all files are listed) are acceptable for such a simple tool.

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 tool has zero parameters, and the rule gives a baseline of 4. The description adds context about what is listed (files with sizes and timestamps), which is helpful.

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 'List', the resource 'PCAP files', and the scope 'in the capture directory with file sizes and timestamps'. It distinguishes from siblings like pcap_analyze which analyzes a specific file.

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 are provided. However, the purpose is straightforward and the tool has zero parameters, so the lack of guidelines is not critical.

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

suricata_alert_summaryB

Get a high-level summary of Suricata alerts: top signatures, categories, severity distribution, top source/destination IPs, and alert timeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax events to analyze
timeToNoEnd time (ISO 8601)
timeFromNoStart time (ISO 8601)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It does not mention that the operation is read-only, does not disclose performance implications, pagination, or any restrictions on data access.

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?

Single sentence that front-loads the main action ('Get a high-level summary of Suricata alerts') and lists output components. 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 3 optional parameters, no output schema, and no annotations, the description provides a reasonable overview of output components but omits context like resource usage, read-only nature, and typical use 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?

Input schema covers all 3 parameters with descriptions (limit, timeTo, timeFrom) and has 100% coverage. The tool description adds no extra parameter meaning, 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?

The description clearly states the tool returns a high-level summary of Suricata alerts and lists specific output components (top signatures, categories, severity distribution, IPs, timeline), making its purpose distinct from siblings like suricata_query_alerts.

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., suricata_query_alerts for detailed queries, suricata_eve_stats for broader stats). The description does not mention use cases or conditions.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dstIpNoDestination IP from alert
limitNoMax alerts to correlate
srcIpNoSource IP from alert
communityIdNoCommunity ID for cross-tool correlation
signatureIdNoSuricata SID to look up

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It mentions return values (alert details and instructions) but omits behavioral traits like whether the tool is read-only, required permissions, rate limits, or any side effects. This is insufficient for a tool with no 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 a concise two sentences with no extraneous information. It front-loads the action ('Cross-reference') and efficiently conveys the tool's core function and output.

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 5 parameters, no output schema, and no annotations. The description does not explain the matching logic, what the 'instructions to investigate the same flow' entail, or how to interpret results. This leaves significant gaps for an agent to use the tool 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%, so baseline is 3. The description does not add any parameter-specific insight beyond the schema's own descriptions (e.g., it does not clarify how 'communityId' is used for correlation or the role of 'limit'). No added value.

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: cross-referencing a Suricata alert with Zeek logs. It specifies the matching methods (community_id or IP/port/time) and outputs (alert details plus Zeek investigation instructions). This distinguishes it from sibling tools like suricata_query_alerts or zeek_query_connections.

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 implies usage when you have a Suricata alert and want Zeek context, but it does not explicitly state when to use this tool versus alternatives (e.g., using zeek tools separately). No when-not-to-use guidance or prerequisites are provided.

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

suricata_eve_statsA

Get Suricata engine statistics from eve.json stats events: packet counts, decoder stats, flow metrics, and detection engine performance.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

The description indicates a read-only operation (get statistics) with no mention of side effects or destructive actions. Since no annotations are present, the description carries the full burden, but it does not disclose potential performance impact, authentication requirements, or data volume limits. For a simple stat retrieval, 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?

The description is a single sentence that front-loads the core action and resource, then elaborates with specific statistic categories. No unnecessary words; every part adds value.

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 and no parameters, the description provides sufficient context by listing the categories of statistics retrieved. However, it does not describe the return format or structure, which could help an agent process the results. Still, for a simple, parameterless tool, it is mostly 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?

The tool has zero parameters, and the schema coverage is 100% (trivially). Per the scoring rule, '0 params = baseline 4'. The description does not need to add parameter semantics as there are none.

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'), the resource ('Suricata engine statistics from eve.json stats events'), and specifies the types of statistics included (packet counts, decoder stats, flow metrics, detection engine performance). This distinguishes it from sibling tools like suricata_alert_summary and suricata_query_alerts, which focus on alerts rather than overall stats.

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 for retrieving Suricata engine statistics but does not explicitly state when to use this tool versus alternatives (e.g., suricata_alert_summary for alerts, nids_sensor_status for sensor health). No 'when-not' or exclusion guidance is provided.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dstIpNoDestination IP address
limitNoMax results
protoNoProtocol (TCP, UDP, ICMP)
srcIpNoSource IP address
timeToNoEnd time (ISO 8601)
categoryNoAlert category (partial match)
timeFromNoStart time (ISO 8601)
signatureNoAlert signature text (partial match)
minSeverityNoMinimum severity (1=highest, 4=lowest)
signatureIdNoSuricata signature ID (SID)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided; description carries full burden. States it's a search/filter but doesn't mention read-only nature, authentication needs, data source specifics (e.g., eve.json file location), or performance implications. Missing safety context.

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, front-loaded with action and data source. Every sentence adds value: first defines scope, second lists filters and return characteristic. 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?

Describes basic behavior (search filters, return most recent) but lacks details on default behavior with no filters, output format, or pagination. For a 10-param tool with no output schema, more context on expected results would be helpful.

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 covers all 10 parameters (100% coverage). Description restates filters but adds no new meaning beyond what schema provides (e.g., format, constraints, interaction). Baseline 3 applies.

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?

Clearly states it searches Suricata alerts from eve.json, lists filters (signature, severity, IP, protocol, time), and says returns most recent. Distinguishes from siblings like suricata_alert_summary (aggregated) and suricata_eve_stats.

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 when-to-use or when-not-to-use guidance. Does not mention alternatives or exclusions. Usage context must be inferred from sibling names.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
papNoPAP: 0=Clear, 1=Green, 2=Amber, 3=Red
tlpNoTLP: 0=Clear, 1=Green, 2=Amber, 3=Amber+Strict, 4=Red
tagsNoTags for categorization
typeNoAlert type identifiernids-alert
titleYesAlert title
sourceNoAlert sourcezeek-mcp
severityNoSeverity: 1=Low, 2=Medium, 3=High, 4=Critical
sourceRefNoSource reference (e.g. Suricata SID, Zeek UID)
descriptionYesDetailed description of the finding
observablesNoObservables to attach to the alert

TDQS

A3.9/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavioral traits. It mentions creation but does not detail side effects, authorization needs, rate limits, or return behavior. 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?

Two concise sentences, front-loaded with purpose and context. 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?

Adequate for a creation tool with well-documented schema, but lacks details on prerequisites, response format, or error handling. No output schema, so more context on return values would help.

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%, baseline 3. Description adds value by specifying observable examples ('IPs, domains, hashes') and linking parameters to NIDS context, which goes 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?

The description clearly states the verb ('create'), resource ('alert'), and source ('NIDS findings'). It distinguishes from sibling thehive_create_case by specifying alert creation from NIDS data.

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?

States 'Use after investigating suspicious activity in Zeek/Suricata logs', giving clear context. However, it does not explicitly mention when not to use or alternatives, though the sibling list suggests other tools for different tasks.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
papNoPAP marking
tlpNoTLP marking
tagsNoTags
tasksNoInvestigation tasks to create
titleYesCase title
severityNoSeverity: 1=Low, 2=Medium, 3=High, 4=Critical
descriptionYesDetailed case description
observablesNoObservables to attach

TDQS

A4/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 mentions that cases support tasks, observables, and collaborative investigation, which is helpful, but it does not disclose any prerequisites, permissions, or potential side effects (though creation is likely safe). The behavior is adequately described for a creation 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: the first clearly states the purpose, and the second provides usage context and features. Every word is necessary, and there is no redundant or vague language.

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 explains the tool's purpose and usage context well, but it does not mention the return value (likely the created case) or provide guidance on parameter values (e.g., severity scale, PAP/TLP meanings). The schema covers parameter details, so this is a minor gap.

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 describes all parameters. The description does not add additional meaning beyond mentioning that cases support tasks and observables, which aligns with the schema's parameters. With full schema coverage, a score of 3 is baseline.

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 creates a TheHive case for in-depth investigation, with specific context of escalating from alerts or directly from NIDS findings. It distinguishes from sibling tools like thehive_create_alert and thehive_search_cases by specifying the resource and task.

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 guidance on when to use this tool: for in-depth investigations, either by escalating from alerts or creating directly from significant NIDS findings. It implies alternatives like creating alerts for less severe events, but does not explicitly list when not to use it or compare to other tools.

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

thehive_search_casesA

Search existing TheHive cases and alerts. Find related investigations, check for duplicates, or review open cases.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoFilter by tags
limitNoMax results
queryNoSearch query text
statusNoFilter by status
severityNoFilter by severity
entityTypeNoSearch cases or alertscase

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 carries the full burden. It states 'search existing', implying read-only behavior, but does not mention authentication, rate limits, pagination, or response format. This is minimally adequate for a search tool 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 consists of two concise sentences. The first sentence states the core purpose, and the second provides usage examples. No extraneous information is present, 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?

Given no output schema, the description could explain the return format (e.g., list of cases/alerts). It mentions searching both cases and alerts but does not specify results. The parameter count is 6 and all optional, which is handled, but overall completeness is adequate but not thorough.

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 context by mentioning 'cases and alerts' which maps to the entityType parameter, and examples like 'review open cases' hint at status filtering. However, it does not describe individual parameters beyond the schema, providing only marginal added value.

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 searches 'existing TheHive cases and alerts', which is a specific verb+resource combination. It also provides example use cases like 'find related investigations, check for duplicates, or review open cases', which helps differentiate it from sibling tools like thehive_create_alert and thehive_create_case that are for creation, not searching.

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 when to use the tool by listing scenarios such as finding related investigations or checking duplicates. However, it does not explicitly state when not to use it or compare to alternatives, though no direct sibling search tools exist, making the context clear.

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

zeek_connection_summaryA

Get statistical summary of connections over a time period - top talkers, services, bytes, and connection counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeToNoEnd time (ISO 8601)
groupByNoPrimary grouping dimension
timeFromNoStart time (ISO 8601)

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 fully inform behavior. It indicates a read-only 'statistical summary', but lacks disclosure on potential side effects, authentication needs, or behavior with empty time ranges. Adequate but not exhaustive.

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?

A single, front-loaded sentence that efficiently conveys the tool's purpose. 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?

With 3 parameters (none required), no output schema, and no annotations, the description is fairly complete for a summary tool but omits details like output structure, limits, or error handling. Could be more thorough.

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 semantic value beyond the schema; it enumerates summary fields but doesn't explain how parameters like groupBy or time range influence those fields.

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 a 'statistical summary of connections' with specific metrics ('top talkers, services, bytes, and connection counts'), which distinguishes it from sibling tools like zeek_query_connections (raw data) or other specialized zeek 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 provides no explicit guidance on when to use this tool vs. alternatives (e.g., zeek_query_connections for raw data, zeek_detect_anomalies for anomalous patterns). Usage is implied but not contrasted.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeToNoEnd time (ISO 8601)
timeFromNoStart time (ISO 8601)
minSeverityNoMinimum severity to include (default: low)low

TDQS

B3.4/5.0
Behavior3/5

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

Description conveys the tool is read-only (detects anomalies) but does not disclose other behavioral traits such as permissions, rate limits, or resource consumption. With no annotations, the description carries the full burden.

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?

Single sentence followed by a list of detection types. Extremely concise with no superfluous text.

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?

Description lacks output format details (e.g., alert structure, severity representation) and does not mention prerequisites like available connection logs. Given no output schema, more context is needed.

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 parameters are already documented. Description adds no extra meaning beyond the context of 'connection logs'. Baseline 3 applies.

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 clearly states it runs statistical anomaly detection on connection logs and lists specific anomaly types. However, it does not explicitly differentiate from sibling tools like zeek_detect_beaconing or zeek_detect_outliers.

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 is for detecting anomalies in connection logs, but no explicit guidance on when to use this tool versus alternatives like beaconing detection or outlier detection.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dstIpNoFilter by destination IP
srcIpNoFilter by source IP
timeToNoEnd time (ISO 8601)
minScoreNoMinimum beacon score to include in results (default 50)
timeFromNoStart time (ISO 8601)
minConnectionsNoMinimum connections to consider a pair (default 10)
maxJitterPercentNoMaximum jitter percentage to flag as beaconing (default 30)

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 fully disclose behavioral traits. It describes analysis of jitter and scoring but does not state whether the operation is read-only, destructive, or requires specific permissions. This omission limits 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 three sentences long, front-loaded with purpose, followed by methodology and scoring meaning. Every sentence adds value with no 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?

Given the lack of an output schema, the description should provide more detail about return values. It mentions scoring but not the structure or type of output (e.g., list of pairs). The 7 parameters are well-documented, but output expectations are vague.

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 are described in the schema with 100% coverage. The description adds marginal context (e.g., 'higher scores indicate more regular patterns') but does not substantially enhance understanding beyond the schema definitions.

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: 'Detect potential C2 beaconing by analyzing connection interval regularity.' It specifically mentions finding source-destination pairs with consistent callback intervals, distinguishing it from sibling tools like zeek_detect_anomalies or zeek_detect_outliers.

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 detecting beaconing but provides no guidance on when to use this tool versus alternatives. No explicit when-not-to-use or comparison with siblings is given, leaving the agent to infer context.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeToNoCurrent period end (ISO 8601)
timeFromNoCurrent period start (ISO 8601)
stdDevThresholdNoStandard deviations from mean to flag (default 3)

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It states the tool compares activity and flags outliers but does not clarify whether it modifies any data, if authorization is needed, or whether a baseline must be precomputed via “zeek_network_baseline”. More details on potential side effects or dependencies are needed.

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 concise with two sentences, front-loading the core purpose. No extraneous words, but it could better incorporate parameter guidance or output hints without losing brevity.

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 tool's purpose and metrics, but since there is no output schema, it does not explain what the tool returns (e.g., host list, alert details, or counts). For a detection tool, omitting output shape reduces completeness. Parameters are well-covered.

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%, and the parameters ‘timeTo’, ‘timeFrom’, and ‘stdDevThreshold’ are already described in the schema. The description mentions “standard deviations from mean” which aligns with ‘stdDevThreshold’, but adds no new meaning beyond what the schema provides. Hence baseline score of 3.

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 that the tool compares current network activity against a baseline and identifies statistical outliers, specifying metrics like byte volumes, connection counts, port diversity, and timing patterns. This distinguishes it from sibling tools such as “zeek_detect_anomalies” or “zeek_detect_beaconing” by focusing on statistical deviation from a baseline.

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 lacks guidance on when to use this tool versus alternatives like “zeek_detect_anomalies” or “zeek_detect_beaconing”. It does not specify prerequisites (e.g., whether a baseline must already exist) or when it should not be used.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeToNoEnd time (ISO 8601)
timeFromNoStart time (ISO 8601)

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 bears the full burden of behavioral disclosure. It implies a read-only analysis but does not explicitly state whether it's read-only, required permissions, or any other behavioral traits like data freshness, pagination, or 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?

Two sentences efficiently convey the purpose and use case. No extraneous information; the key action and result are 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?

Given the tool has 2 parameters and no output schema, the description provides a high-level output structure (MAC to IP/hostname) but lacks details on output format, limits, or ordering. It is adequate but leaves questions about the returned data's granularity.

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 both parameters already described as ISO 8601 time strings. The description adds no additional meaning beyond the schema, such as default time range or behavior if omitted. 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 verb ('Build an asset map') and the resource ('from DHCP logs'), and specifies the output ('MAC address to IP/hostname mappings'). The use case for identifying unknown/rogue devices distinguishes it from other Zeek 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 provides a use case ('identifying all devices on the network and spotting unknown/rogue devices') but does not explicitly guide when to use this tool versus alternatives like zeek_query_dhcp or zeek_network_baseline. No exclusionary guidance is given.

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

zeek_dns_summaryA

DNS query statistics - top queried domains, NXDOMAIN counts (potential DGA detection), query type distribution, and top DNS clients.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeToNoEnd time (ISO 8601)
timeFromNoStart time (ISO 8601)

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 should disclose behavioral traits. It only lists output categories without mentioning operational details like time range handling, aggregation, limits, or side effects, leaving gaps in 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 a single, front-loaded sentence that efficiently conveys the tool's outputs without unnecessary words, earning its place.

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 lack of output schema and presence of numerous DNS-related siblings, the description provides a useful list of statistics but lacks hints on return structure, result limits, or how summary is computed, leaving some completeness 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?

Parameter semantics are fully covered by the schema (100% coverage) with ISO 8601 descriptions. The description adds no further meaning beyond the schema, meeting the baseline for high-coverage schemas.

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 lists specific DNS statistics (top domains, NXDOMAIN counts, query type distribution, top clients), making the tool's purpose distinct from raw DNS queries or anomaly detection tools among siblings.

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 states what the tool provides but gives no explicit guidance on when to use it versus alternative DNS tools like zeek_query_dns or zeek_dns_tunneling_check. Usage is implied by the summary nature, but no when-not or exclusion criteria.

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

zeek_dns_tunneling_checkB

Detect potential DNS tunneling by analyzing query entropy, subdomain lengths, and TXT/NULL query volumes.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeToNoEnd time (ISO 8601)
timeFromNoStart time (ISO 8601)
entropyThresholdNoShannon entropy threshold for flagging suspicious queries (default 3.5)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description must fully disclose behavior. It mentions analysis methods but does not state if it is read-only, permissions needed, or what actions are performed. Missing details on whether it returns alerts or modifies state.

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?

Single sentence, no wasted words, directly conveys core functionality.

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?

No output schema and limited description; the agent cannot infer what the tool returns (e.g., list of suspicious queries or summary). Missing details on result format or how to interpret outcomes.

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 description adds little beyond parameter names/defaults. The description's mention of 'query entropy' loosely relates to entropyThreshold but provides no additional context for timeTo/timeFrom.

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 detects DNS tunneling using specific analysis methods (query entropy, subdomain lengths, TXT/NULL volumes), which distinguishes it from siblings like zeek_dns_summary and zeek_detect_anomalies.

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 guidance on when to use this tool vs alternatives. Usage is implied for investigating suspicious DNS activity, but lacks context for when to prefer this over other DNS-focused tools.

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

zeek_executable_downloadsB

Find executable file transfers on the network - PE, ELF, Mach-O binaries and scripts that may indicate malware delivery.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeToNoEnd time (ISO 8601)
timeFromNoStart time (ISO 8601)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Fails to disclose read-only nature, required permissions, result format, or any filtering beyond time range. Minimal behavioral context.

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?

Single sentence, no redundancy, front-loaded with verb and resource. Efficient but could include more information without becoming verbose.

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 and simple parameters, description is minimal but lacks details on return values, pagination, or aggregation. Adequate but not 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?

Schema coverage for both parameters is 100% with clear ISO 8601 descriptions. Description adds no additional meaning beyond schema, meeting baseline for high coverage.

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 verb 'Find' and resource 'executable file transfers on the network', listing specific binary types (PE, ELF, Mach-O) and hinting at malware delivery context. This distinguishes it from sibling tools like zeek_query_files or zeek_suspicious_http.

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. Lacks prerequisites, exclusions, or comparison to siblings. Usage is merely implied by the description.

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

zeek_expired_certsA

Find connections using expired or self-signed certificates - potential indicators of man-in-the-middle or malicious infrastructure.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeToNoEnd time (ISO 8601)
timeFromNoStart time (ISO 8601)

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 bears full burden. It describes a read-only query operation without side effects, but does not explicitly state read-only nature or discuss permissions perational 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?

Single sentence, front-loaded with key action and resource, no unnecessary words. Extremely concise and efficient.

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 simple query tool with two optional parameters and no output schema, the description provides complete context (purpose, security significance) and suffices for agent use.

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 for both parameters (timeTo, timeFrom). The description adds no extra meaning beyond the schema, meeting baseline expectation.

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 finds connections using expired or self-signed certificates, specifying verb 'Find' and resource 'connections', and distinguishes from sibling tools like zeek_dns_summary or zeek_query_ssl by targeting a specific security indicator.

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 context (potential MITM or malicious infrastructure) but lacks explicit guidance on when to use this tool versus alternatives, requiring the agent to infer usage from the security task.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYesIP address to investigate
timeToNoEnd time (ISO 8601)
timeFromNoStart time (ISO 8601)

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 carries full burden. It does not disclose any behavioral traits like resource intensity, authentication needs, or return format.

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?

Single, clear sentence that is front-loaded with the tool's purpose. Could include more behavioral info without becoming 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?

Complex tool (all log types) with no output schema, and description is minimal. Missing details on what the output contains, limitations, or how to scope the investigation.

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 standard parameter descriptions. The description adds context that the investigation covers all log types but no extra detail on parameter syntax or constraints.

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 'comprehensive investigation of all activity for a specific host across all Zeek log types', which is a specific verb+resource and distinguishes it from sibling tools like zeek_investigate_uid or zeek_query_*.

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 use for a broad overview across all logs, and sibling context shows there are many specific query tools, but no explicit when-not-to-use or alternatives are mentioned.

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

zeek_investigate_uidA

Follow a specific connection UID across all Zeek log types to reconstruct the complete session lifecycle.

ParametersJSON Schema
NameRequiredDescriptionDefault
uidYesZeek connection UID to investigate

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided. The description indicates a read operation across multiple logs but does not disclose side effects, auth requirements, or return format. For a read-only tool, this is adequate but lacks explicit safety guarantees.

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?

A single sentence that is front-loaded with the action and resource. 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 lacks output schema and does not specify the format of the reconstructed session lifecycle. For a simple tool it is functional but incomplete without return value details.

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 a clear description for 'uid'. The tool description rephrases 'Follow a specific connection UID' but adds no new semantic details beyond the schema, such as format or validation.

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 'Follow' and specifies the resource 'specific connection UID across all Zeek log types', with the goal 'reconstruct the complete session lifecycle'. This distinguishes it from siblings like zeek_investigate_host which focuses on hosts.

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 use when you have a UID and want full session reconstruction. However, it does not explicitly state when not to use or compare to alternatives like zeek_query_connections.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dstIpNoFilter by destination IP
limitNoMax records to analyze
srcIpNoFilter by source IP
timeToNoEnd time (ISO 8601)
ja3HashNoSearch for specific JA3 hash
timeFromNoStart time (ISO 8601)
serverNameNoFilter by SNI hostname

TDQS

A4/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 responsibility. It discloses that the tool extracts fingerprints, identifies implementations, detects malicious ones, and notes that JA3 fingerprints persist despite infrastructure changes. This gives a clear behavioral profile without 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?

The description is two sentences long, with the first sentence immediately stating the action and resource, and the second adding value. No filler or redundant 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 the tool is a straightforward query/analysis tool with no output schema, the description effectively covers its purpose and significance. The lack of output schema is not a gap here. The description adequately sets context for an AI agent to select and use 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?

All 7 parameters have descriptions in the schema (100% coverage), so the description adds little beyond stating the tool's purpose. It does not elaborate on parameter usage or relationships, which is acceptable since the schema is comprehensive. Baseline score of 3 applies.

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 and analyzes JA3/JA3S TLS fingerprints from SSL logs. It specifies that it identifies client TLS implementations and can detect known malicious fingerprints, distinguishing it from related tools like zeek_ja3_hunt. The verb 'Extract and analyze' combined with the specific resource (JA3 fingerprints) makes 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 Guidelines3/5

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

The description implies usage for tracking threat actors due to fingerprint persistence, but does not explicitly state when to use this tool over alternatives like zeek_ja3_hunt or other Zeek analysis tools. No direct comparison or exclusion criteria are given, leaving the agent to infer context.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeToNoEnd time (ISO 8601)
timeFromNoStart time (ISO 8601)
customHashesNoAdditional JA3 hashes to hunt for beyond the built-in database

TDQS

A4/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 describes the tool as a search/matching operation, implying it is read-only, but does not explicitly state behavioral traits like mutability or safety. With no annotations, this is 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?

The description is two sentences, front-loaded with the key action and resource, and contains no wasted words. It is appropriately sized for the tool's simplicity.

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 tool with 3 optional parameters and no output schema, the description explains the core functionality adequately. It could mention the output format or behavior when no matches are found, but it is still sufficient.

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 schema already documents all parameters. The description adds no further meaning beyond what the schema provides for timeFrom, timeTo, and customHashes, so 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 the tool hunts for known malicious JA3 fingerprints using a built-in malware database. It is specific about the resource (JA3 hashes) and distinguishes it from sibling tools like zeek_ja3_fingerprints that likely list all fingerprints.

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 indicates the tool compares against a built-in database and allows custom hashes. It provides context for use but does not explicitly state when to use it versus alternatives like zeek_ja3_fingerprints.

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

zeek_long_connectionsC

Find unusually long-lived connections that may indicate C2 beacons, tunnels, or persistent backdoors.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results
timeToNoEnd time (ISO 8601)
timeFromNoStart time (ISO 8601)
minDurationYesMinimum connection duration in seconds

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description bears full burden. It does not disclose how 'unusually long-lived' is determined, whether it's read-only, output format, or time range behavior. For a filtering tool, more behavioral detail is needed.

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 concise sentence with no wasted words. It focuses on the tool's purpose and threat relevance. Could benefit from slight restructuring to front-load key details, but still 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?

With no output schema, the description should indicate what is returned (e.g., connection records). It does not mention return structure, pagination, or how results are ordered. Incomplete for a query tool with four 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 adds no additional parameter meaning beyond what the schema already provides (e.g., minDuration, timeFrom, etc.). No extra semantics.

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 it 'find[s] unusually long-lived connections' and adds threat context (C2 beacons, tunnels, persistent backdoors). It differentiates from siblings like zeek_detect_beaconing by focusing on longevity, but does not explicitly distinguish from all similar tools.

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. It implies usage for detecting persistent backdoors, but does not mention when not to use or compare to siblings like zeek_connection_summary or zeek_detect_anomalies.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeToNoBaseline period end (ISO 8601)
timeFromNoBaseline period start (ISO 8601)

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 bear all responsibility. It describes the computational output but fails to disclose whether the tool is read-only, requires special permissions, or has side effects. The behavioral profile is 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?

Two efficient sentences: the first states purpose and calculations, the second provides usage guidance. No redundancy, and key information is 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 description mentions statistics calculated but does not specify output format, default behavior when parameters are omitted, or any constraints on time ranges. With no output schema, additional detail 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% with both parameters described as ISO 8601 date strings. The description adds no additional meaning beyond the schema, such as defaults or behavior when omitted. Baseline score of 3 applies.

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 'Generate a statistical baseline of normal network activity' and specifies calculations (averages, standard deviations, distributions) and scope (connections, bytes, services, protocols). The tool name includes 'baseline' and siblings include 'zeek_detect_anomalies', making the distinction evident.

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 suggests using the baseline as a reference for identifying deviations, implying appropriate use. However, it does not explicitly state when not to use this tool or name alternative tools like 'zeek_detect_anomalies' for detection tasks.

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

zeek_query_connectionsB

Search Zeek connection logs with flexible filters. Supports CIDR notation for IPs, connection state filtering, duration/byte thresholds, and time ranges.

ParametersJSON Schema
NameRequiredDescriptionDefault
dstIpNoDestination IP address (supports CIDR notation)
limitNoMax results (default 100)
protoNoTransport protocol
srcIpNoSource IP address (supports CIDR notation like 10.0.0.0/8)
sortByNoSort field (default: ts descending)
timeToNoEnd time (ISO 8601)
dstPortNoDestination port number
serviceNoDetected service (http, ssl, dns, ssh, smtp, etc.)
srcPortNoSource port number
minBytesNoMinimum total bytes transferred
timeFromNoStart time (ISO 8601)
connStateNoConnection state (S0, S1, SF, REJ, RSTO, etc.)
maxDurationNoMaximum connection duration in seconds
minDurationNoMinimum connection duration in seconds

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It does not mention that the tool is read-only (query), any required permissions, rate limits, or pagination behavior. The query nature is implied but not explicitly stated.

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 front-load the main purpose ('Search Zeek connection logs') and list key capabilities. No redundant or unnecessary 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?

Given 14 parameters, no annotations, and no output schema, the description is adequate but incomplete. It covers high-level filter capabilities but omits details about default behavior (e.g., default limit, sort order) and response format.

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% for 14 parameters. The description adds high-level context (e.g., 'CIDR notation', 'connection state filtering') but does not provide additional meaning or details beyond what the schema already describes. Baseline of 3 is appropriate.

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 starts with 'Search Zeek connection logs', clearly indicating the verb and resource. It mentions flexible filters, but does not differentiate from sibling tools like zeek_query_dns or zeek_query_http, which are for other log types.

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 lists supported filter types (CIDR, connection state, duration/byte thresholds, time ranges), implying usage for connection log filtering. However, it does not provide explicit when-to-use or when-not-to-use guidance relative to alternatives.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
macNoClient MAC address (partial match)
limitNoMax results
timeToNoEnd time (ISO 8601)
msgTypeNoDHCP message type (DISCOVER, OFFER, REQUEST, ACK, NAK, RELEASE, INFORM)
hostnameNoClient hostname (partial match)
timeFromNoStart time (ISO 8601)
clientAddrNoClient IP address
assignedAddrNoAssigned IP address

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 bears full responsibility for behavioral disclosure. It does not mention read-only nature, destructive potential, authentication requirements, or any side effects. The description only states query intent, which is insufficient for a security-related log 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?

The description is two sentences with no filler. First sentence states purpose and scope; second provides practical use cases. Every sentence adds value, and the structure is 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?

With 8 parameters and no output schema, the description is somewhat complete but lacks details on result format, time range importance, or any limitations. It covers key use cases but does not fully compensate for the lack of output schema or detailed behavioral context.

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 for all 8 parameters. The description adds context about lease assignments and hostname-to-IP mapping, connecting to some parameters (mac, hostname, assignedAddr). However, it does not expand on parameter interactions, format expectations, or default behavior beyond schema.

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 clearly states the tool searches Zeek DHCP logs for specific items (lease assignments, device discovery, hostname-to-IP mapping) and mentions use cases (asset inventory, rogue devices). It distinguishes from siblings like zeek_query_dns but not explicitly from zeek_dhcp_asset_map, which could overlap.

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 useful scenarios (asset inventory, rogue devices) but does not provide when-not-to-use or differentiate from similar tools like zeek_dhcp_asset_map. No explicit alternatives or exclusions are given.

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

zeek_query_dnsA

Search Zeek DNS query logs. Supports wildcard domain matching, query type filtering, and response code filtering.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax results
qtypeNoQuery type (A, AAAA, MX, TXT, CNAME, NS, PTR, SRV, SOA)
queryNoDomain query (supports wildcards: *.evil.com)
rcodeNoResponse code (NOERROR, NXDOMAIN, SERVFAIL, REFUSED)
srcIpNoQuerying host IP
timeToNoEnd time (ISO 8601)
answersNoSearch in DNS answers
timeFromNoStart time (ISO 8601)

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 fully disclose behavioral traits. It only mentions search capabilities but omits whether the tool is read-only, required permissions, rate limits, or the nature of results (raw vs aggregated). Significant behavioral gaps remain.

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?

A single, clear sentence conveying the tool's purpose and key features. No unnecessary words 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?

With 8 parameters, no output schema, and minimal description, the tool lacks completeness. It does not explain result ordering, time range behavior, or default query scope. Adequate but with clear gaps for a tool of this 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%, with all 8 parameters described. The description adds a high-level summary of filtering (domain, qtype, rcode) but no additional semantic detail beyond what the schema already provides. Baseline score 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 'Search' and the resource 'Zeek DNS query logs'. It further specifies supported features (wildcard matching, query type, response code filtering). This effectively distinguishes it from sibling tools like zeek_query_http or zeek_query_connection.

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 for DNS log searching but does not provide explicit context on when to use versus alternatives like zeek_dns_summary or zeek_dns_tunneling_check. No 'when not to use' guidance is given.

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

zeek_query_filesC

Search Zeek file extraction logs. Filter by MIME type, filename, hash values, source IP, and file size.

ParametersJSON Schema
NameRequiredDescriptionDefault
md5NoMD5 hash
limitNoMax results
srcIpNoSource IP (from tx_hosts)
sha256NoSHA256 hash
timeToNoEnd time (ISO 8601)
maxSizeNoMaximum file size in bytes
minSizeNoMinimum file size in bytes
filenameNoFilename (supports wildcards)
mimeTypeNoMIME type (application/x-dosexec, application/pdf, etc.)
timeFromNoStart time (ISO 8601)

TDQS

C2.9/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 convey behaviors. It states it searches logs, but does not indicate if it is read-only, potential performance impact, or any side effects. For a search tool, read-only is implied but not explicit.

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 concise sentence, front-loaded with the main action. It is efficient but very brief, lacking any additional structure or elaboration.

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 10 parameters, no output schema, and no annotations, the description is too brief. It does not explain return format, pagination, or how filters combine. It is incomplete for the tool's 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 coverage is 100% with each parameter having a description. The tool description provides a high-level summary of filterable fields, which adds marginal value beyond the schema. It does not add detailed semantics or usage context.

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 states 'Search Zeek file extraction logs' with a specific verb and resource. It lists filterable fields (MIME type, filename, hash, IP, size), distinguishing it from sibling tools that query other log types (e.g., connections, DNS). However, it does not explicitly differentiate from similar zeek query tools.

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 guidelines are provided about when to use this tool versus alternatives. There is no mention of prerequisites, limitations, or cases where another tool would be more appropriate.

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

zeek_query_httpA

Search Zeek HTTP request logs. Supports wildcard matching on host and URI, user agent filtering, and status code filtering.

ParametersJSON Schema
NameRequiredDescriptionDefault
uriNoURI path (supports wildcards)
hostNoHTTP Host header (supports wildcards)
limitNoMax results
srcIpNoSource IP address
methodNoHTTP method (GET, POST, PUT, DELETE, etc.)
timeToNoEnd time (ISO 8601)
mimeTypeNoResponse MIME type
timeFromNoStart time (ISO 8601)
userAgentNoUser-Agent string (partial match)
statusCodeNoHTTP response status code

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 carries the full burden. It discloses supported operations (wildcard, filtering) but does not explicitly state read-only behavior, rate limits, or any side effects. The transparency is adequate but not comprehensive.

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, no filler, front-loaded with core purpose. Every word adds value. Highly efficient for an agent to parse quickly.

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?

For a tool with 10 parameters and no output schema, the description is brief. It covers key features but lacks details on response format, pagination, or integration with other Zeek tools. Sufficient for basic understanding but incomplete for complex use cases.

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% (baseline 3). The description adds context by explicitly mentioning wildcard matching on host/URI, user agent filtering, and status code filtering, which are not fully detailed in schema descriptions. This enhances parameter understanding 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 clearly states 'Search Zeek HTTP request logs', which is a specific verb (Search) and resource (HTTP request logs). It distinguishes itself from sibling tools like zeek_query_connections or zeek_suspicious_http by focusing on general HTTP log querying. The additional mention of filtering capabilities reinforces its purpose.

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., zeek_suspicious_http for anomalies). No context about prerequisites or order of operations. The description is functional but lacks explicit usage direction.

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

zeek_query_noticesB

Search Zeek security notices (built-in and custom detections). Notices include port scans, invalid certificates, protocol violations, and custom alerts.

ParametersJSON Schema
NameRequiredDescriptionDefault
msgNoMessage content search (partial match)
noteNoNotice type (e.g. Scan::Port_Scan, SSL::Invalid_Server_Cert)
dstIpNoDestination IP address
limitNoMax results
srcIpNoSource IP address
timeToNoEnd time (ISO 8601)
timeFromNoStart time (ISO 8601)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits such as read-only nature, authentication requirements, or side effects. It only states the search function.

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?

One sentence of 18 words, front-loaded with purpose and examples. No redundancy or wasted text.

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?

Despite 7 parameters and no output schema/annotations, the description does not explain output format, query construction tips, or limitations, leaving gaps for effective usage.

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 parameter descriptions. The tool description adds no additional meaning beyond the schema, so 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 the verb 'Search' and resource 'Zeek security notices', and provides examples like port scans and invalid certificates, distinguishing it from sibling tools like zeek_query_connections.

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, nor any exclusions or explicit context. The description only implies usage for security notices.

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

zeek_query_sshB

Search Zeek SSH connection logs. Filter by source/destination IP, authentication status, and connection direction.

ParametersJSON Schema
NameRequiredDescriptionDefault
dstIpNoDestination IP address
limitNoMax results
srcIpNoSource IP address
timeToNoEnd time (ISO 8601)
timeFromNoStart time (ISO 8601)
directionNoConnection direction
authSuccessNoFilter by authentication success/failure

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, and the description fails to disclose behavioral traits such as read-only nature, rate limits, or authentication requirements. It only states search/filter, which is insufficient.

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?

Single sentence that is front-loaded with the tool's purpose and efficiently lists key filters without redundancy.

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 description omits important parameters like timeFrom, timeTo, and limit, and does not mention what the output contains. With no output schema, more detail is needed.

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 summarizes some filters (IPs, auth, direction) but adds no significant meaning 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 the tool searches Zeek SSH connection logs and lists specific filter criteria, distinguishing it from sibling tools that query other protocols.

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., zeek_ssh_bruteforce) or when not to use it. The description does not provide any usage context.

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

zeek_query_sslA

Search Zeek SSL/TLS connection logs. Filter by SNI hostname, TLS version, certificate validation status, subject, and issuer.

ParametersJSON Schema
NameRequiredDescriptionDefault
dstIpNoDestination IP address
limitNoMax results
srcIpNoSource IP address
issuerNoCertificate issuer (partial match)
timeToNoEnd time (ISO 8601)
subjectNoCertificate subject (partial match)
versionNoTLS version (TLSv10, TLSv11, TLSv12, TLSv13, SSLv3)
timeFromNoStart time (ISO 8601)
serverNameNoSNI hostname (supports wildcards)
validationStatusNoCertificate validation status (ok, self signed certificate, etc.)

TDQS

A3.8/5.0
Behavior3/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 pagination, rate limits, or cost. It only describes search functionality. More detail would improve transparency.

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 concise sentence, front-loaded with the action and key filters. While effective, it could be slightly more structured.

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 10 optional parameters, the description lacks information on return format, pagination, or default behavior. It covers the basics but is incomplete for a tool of this 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%, and the description adds little beyond reiterating some filter fields. Baseline 3 is appropriate as schema already documents 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 searches Zeek SSL/TLS connection logs and lists specific filterable fields (SNI hostname, TLS version, etc.), effectively distinguishing it from sibling tools like zeek_query_connections and zeek_query_dns.

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 SSL/TLS log analysis but does not explicitly state when to use this over alternatives or provide negative guidance. The naming and context provide sufficient clarity.

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

zeek_software_inventoryA

List detected software and versions on the network from Zeek's protocol analysis. Useful for asset discovery and vulnerability assessment.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostNoFilter by host IP
timeToNoEnd time (ISO 8601)
timeFromNoStart time (ISO 8601)
softwareTypeNoFilter by software type (e.g. HTTP::BROWSER, HTTP::SERVER)

TDQS

A3.7/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It only states it lists data but does not disclose behavioral traits such as read-only nature, authentication requirements, or whether it can be destructive. For a listing tool, it likely is safe, but not explicitly stated.

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 redundant information. It efficiently conveys the core purpose and a common use case.

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?

For a simple listing tool with 4 optional parameters and no output schema, the description is moderately complete. It explains the source (Zeek protocol analysis) and use cases, but lacks details on return format, pagination, or limitations. Given no annotations, it is adequate but not 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?

Schema coverage is 100% with all 4 parameters described (host, timeTo, timeFrom, softwareType). The tool description does not add extra detail beyond the schema, so 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 the tool lists detected software and versions from Zeek's protocol analysis, with specific verb 'list' and resource 'detected software and versions'. It distinguishes itself from sibling tools like zeek_dns_summary or zeek_query_http by focusing on software inventory.

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 mentions the tool is 'useful for asset discovery and vulnerability assessment', providing clear context for when to use it. However, it does not explicitly exclude other use cases or compare with alternatives, though sibling tools are different enough.

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

zeek_ssh_bruteforceA

Detect SSH brute force attempts by identifying sources with multiple failed authentication attempts exceeding a threshold.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeToNoEnd time (ISO 8601)
timeFromNoStart time (ISO 8601)
thresholdNoMinimum failed attempts to flag (default 5)

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are present, so the description bears full responsibility. It explains the detection logic (counting failed attempts, applying a threshold) but does not clarify behavioral traits like read-only nature, idempotency, or return format. It is adequate but minimal.

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 efficiently conveys the tool's purpose. It is front-loaded with the core action and includes the key constraint (threshold). 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?

Given the tool's simplicity (3 parameters, no output schema) and the lack of annotations, the description is adequate but leaves gaps. It does not specify the output format (e.g., list of IPs, counts) or any side effects. It meets minimum viability but could be more 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%; all three parameters (timeTo, timeFrom, threshold) have descriptions. The tool description adds no extra meaning beyond what the schema already provides, so 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's purpose: detect SSH brute force attempts by identifying sources with repeated failed authentications exceeding a threshold. It uses a specific verb (detect) and resource (SSH brute force), and distinguishes itself from sibling tools like zeek_query_ssh (generic querying) and suricata_* (different engine).

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, such as zeek_query_ssh or other detection tools. There is no mention of prerequisites, when not to use it, or typical scenarios.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeToNoEnd time (ISO 8601)
timeFromNoStart time (ISO 8601)

TDQS

B3.4/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 of behavioral disclosure. It does not mention that the tool is read-only, whether it returns all matching events or aggregated results, or any limitations like performance or scope. The description only lists what patterns are detected.

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?

Single sentence, front-loaded with verb and resource. Could be more structured (e.g., bullet list of suspicious patterns) but is efficient and clear.

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 and low tool complexity (2 parameters), the description is adequate for a find tool but does not explain return format (e.g., is it a list of events with key fields?). It covers the purpose but misses some context like expected results or limitations.

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% (timeFrom and timeTo have clear ISO 8601 descriptions). The tool description adds context that the time range filters the suspicious HTTP activity found, but does not elaborate on parameter semantics beyond what the schema already provides. 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?

Clearly states the verb 'Find' and the resource 'suspicious HTTP activity', then lists specific types (POSTs to raw IPs, unusual user agents, etc.). This distinguishes it from sibling tools like zeek_query_http which likely returns all HTTP events.

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 finding suspicious HTTP activity, but lacks explicit guidance on when to use this tool vs alternatives (e.g., zeek_query_http for detailed queries, suricata_correlate_zeek for cross-correlation). No when-not-to-use or prerequisite conditions.

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.

  1. 39 tool updatesv3.0.0
    • First observedmisp_add_event
    • First observedmisp_bulk_lookup
    • First observedmisp_search_iocs
    • First observednids_sensor_status
    • First observedpcap_analyze
    • First observedpcap_list
    • First observedsuricata_alert_summary
    • First observedsuricata_correlate_zeek
    • First observedsuricata_eve_stats
    • First observedsuricata_query_alerts
    • First observedthehive_create_alert
    • First observedthehive_create_case
    • First observedthehive_search_cases
    • First observedzeek_connection_summary
    • First observedzeek_detect_anomalies
    • First observedzeek_detect_beaconing
    • First observedzeek_detect_outliers
    • First observedzeek_dhcp_asset_map
    • First observedzeek_dns_summary
    • First observedzeek_dns_tunneling_check
    • First observedzeek_executable_downloads
    • First observedzeek_expired_certs
    • First observedzeek_investigate_host
    • First observedzeek_investigate_uid
    • First observedzeek_ja3_fingerprints
    • First observedzeek_ja3_hunt
    • First observedzeek_long_connections
    • First observedzeek_network_baseline
    • First observedzeek_query_connections
    • First observedzeek_query_dhcp
    • First observedzeek_query_dns
    • First observedzeek_query_files
    • First observedzeek_query_http
    • First observedzeek_query_notices
    • First observedzeek_query_ssh
    • First observedzeek_query_ssl
    • First observedzeek_software_inventory
    • First observedzeek_ssh_bruteforce
    • First observedzeek_suspicious_http

TDQS

A3.7/5.0

Scored across 39 tools

Disambiguation5/5

Tools are clearly organized by source (zeek, suricata, misp, thehive, pcap, nids) and action, with distinct purposes. Even within Zeek, query tools target specific log types and detection tools address different anomalies, minimizing confusion.

Naming Consistency5/5

All tool names follow a consistent pattern: source_prefix (zeek_, suricata_, misp_, etc.) followed by a verb or descriptor. Underscores and lowercase are used uniformly, making the set predictable and easy to navigate.

Tool Count3/5

With 39 tools, the server is heavily weighted, exceeding the typical well-scoped range. While the tools are justified by the breadth of NIDS functionality, the count is borderline high and may overwhelm agents.

Completeness5/5

The tool set covers the full lifecycle of network threat detection and response: data acquisition (pcap, logs), querying (all log types), anomaly detection, threat intelligence integration (MISP), case management (TheHive), and cross-referencing (Suricata-Zeek). No obvious gaps.

Maintenance

ActivitySlowing
ResponsivenessSlow

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    SuricataMCP is a Model Context Protocol Server that allows MCP clients to autonomously use suricata for network traffic analysis. It enables programmatic interaction with Suricata through tools like get\_suricata\_version, get\_suricata\_help, and get\_alerts\_from\_pcap\_file.
    14
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol server that integrates Zeek network analysis capabilities with LLM chatbots, allowing them to analyze PCAP files and parse network logs through natural language interactions.
    7
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that enables querying logs and metrics from Graylog, Prometheus, and InfluxDB 2.x. It provides tools for executing Lucene log searches, PromQL queries, and Flux queries directly within MCP-compatible clients.
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    A production-oriented, read-only MCP server for secure ELK stack analysis, compatible with OpenClaw.
    -