Skip to main content
Glama
d3ltasecurity

opnsense-guard-mcp

suricata_alert_status

Read-onlyIdempotent

Reports whether Suricata is producing alerts by checking the eve.json log file's size and last-modified time, confirming detection liveness without querying alert rows. Query actual alerts in your SIEM.

Instructions

Whether Suricata is producing alerts, from its eve.json file metadata.

OPNsense only serves alert rows over POST (queryAlerts), which a read-only server must not call. This reports liveness instead: the log file's size and last-modified time. Query alerts in your SIEM.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds that it reads the log file's size and last-modified time to report liveness, and explains why it avoids the POST-based alert query. No contradiction 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?

Three sentences, front-loaded with the core purpose ('Whether Suricata is producing alerts'), followed by the rationale and mechanism. No redundant or filler content.

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, a present output schema, and rich read-only annotations, the description fully covers purpose, mechanism (file metadata), and limitation (cannot return alert rows). Error handling is the only minor omission, likely covered by the output schema.

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 an empty schema, so there are no parameters to document. Per the baseline rule, a 4 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?

States a specific liveness check: whether Suricata is producing alerts via eve.json file metadata. It distinguishes itself from alert-row retrieval and directs alert queries to the SIEM, but does not explicitly name sibling suricata_status to differentiate.

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?

Explains that OPNsense serves alert rows only over POST (queryAlerts) which a read-only server must not call, and advises querying alerts in the SIEM. Implies this tool is for liveness checks only, but lacks explicit when-to-use vs the suricata_status sibling.

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