Skip to main content
Glama

Netmon (demo)

eve_search

Read-onlyIdempotent

Search Suricata EVE-format IDS events. Wraps GET /api/eve/list (permission: logs); tag-scoped server-side.

Severity is Suricata-native: 1=high, 2=medium, 3=low/info — a 3-point scale, NOT syslog's 0-7. Takes names or ints: 'high'=1, 'medium'=2, 'low'/'info'/'informational'=3. Single value or an array, which may mix the two forms (e.g. ["high", 2]).

IP filters: passing only src_ip or only dst_ip matches either side (OR); pass both to AND them together. device_id is a convenience — the controller resolves it to the device's IP and matches src_ip OR dst_ip (eve_log has no device_id column).

Window: hours (1-168, default 24) OR start_time+end_time. limit defaults to 50 (max 500). total is the full match count — narrow via severity/IP/signature_id when truncated.

Example: eve_search({severity: "high", hours: 2})

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
vlanNo
hoursNoLookback hours (1-168). Default 24.
ifaceNoCapture interface.
limitNo
protoNoProtocol name (e.g. 'TCP', 'UDP').
dst_ipNoDestination IP. Matches either side when src_ip is absent.
src_ipNoSource IP. Matches either side when dst_ip is absent.
dst_portNo
end_timeNoISO-8601 UTC; must pair with start_time.
severityNoSeverity name(s) or int(s) on Suricata's 3-point scale: 'high'=1, 'medium'=2, 'low'/'info'/'informational'=3. Single value or array; names and ints may be mixed.
src_portNo
device_idNoRestrict to a single device id (translated to src_ip/dst_ip server-side).
start_timeNoISO-8601 UTC; must pair with end_time.
signature_idNoSuricata signature id(s). Single int or array.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds valuable behavioral context: permission requirement (logs), severity scale semantics, IP filter OR/AND logic, device_id translation, and total vs limit behavior. No contradictions with 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 well-structured: front-loaded with the core purpose, then detailed behavioral notes presented in clear, scannable paragraphs. Every sentence adds value, including the practical example at the end. Length is justified given 14 parameters and no output schema.

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 the complexity (14 parameters, no output schema, no enums), the description covers all critical usage aspects: severity mapping, IP filter behavior, device_id resolution, time window selection, limit and total handling, and provides an example. It adequately prepares an agent to invoke the tool correctly without needing external documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 71%, but the description adds meaning for many parameters beyond the schema: severity names-to-int mapping, IP OR/AND semantics, device_id resolution to src/dst IP, hours vs start_time/end_time alternatives, limit defaults and max, and use of signature_id for narrowing. It compensates for undocumented params like vlan and ports with contextual explanation.

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', the resource 'Suricata EVE-format IDS events', and wraps the specific endpoint GET /api/eve/list. It distinguishes itself from generic search tools by emphasizing EVE format and tag-scoping, which separates it from siblings like eventlog_search or syslog_search.

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 parameter usage rules: severity scale mapping, IP OR/AND behavior, device_id resolution, window selection (hours vs start/end), limit default and max, and how to narrow results. It does not explicitly compare to alternatives like eve_get or eventlog_search, but the detailed usage conditions are sufficient for correct invocation.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.