Skip to main content
Glama

Netmon (demo)

eventlog_search

Read-onlyIdempotent

Search Windows Event Log entries ingested from Netmon agents. Wraps GET /api/eventlog/list (permission: logs); tag-scoped server-side.

Severity is the raw Windows EventRecord.Level: 'logalways'=0 (what Security-channel audit events carry), 'critical'=1, 'error'=2, 'warning'=3, 'information'=4, 'verbose'=5 — pass names or ints. Note 0 is NOT Information.

Window: hours (1-168, default 24) OR start_time+end_time. limit defaults to 50 (max 500). total in the response is the full match count — if it exceeds limit, narrow the window or add severity/source/message filters rather than bumping limit.

Example: eventlog_search({severity: "error", hours: 4})

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
logNoEvent log channel name (e.g. 'Application', 'System', 'Security').
hoursNoLookback window in hours (1-168). Default 24.
limitNoMax rows returned (1-500). Default 50.
sourceNoEvent source name.
messageNoSubstring match against the event data field.
end_timeNoISO-8601 UTC; must pair with start_time.
event_idNoWindows Event ID(s). Single int or array.
severityNoSeverity name(s) or int(s). See tool description for the Windows-specific scheme.
device_idNoRestrict to a single device id.
start_timeNoISO-8601 UTC; must pair with end_time.

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, idempotentHint, and destructiveHint false. The description adds substantial behavioral context: required permission ('logs'), tag-scoping behavior, the raw Windows severity mapping (with the caveat that 0 is not Information), window semantics, limit behavior, and the fact that 'total' in the response is the full match count. This goes well beyond the annotations and enriches the agent's understanding of side effects and edge cases. No contradiction exists.

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 appropriately structured: it opens with the core purpose, then breaks down key nuances (severity, window, limit, total) in separate logical segments, and ends with a concrete example. Every sentence earns its place—there is no filler or redundancy. The length is justified by the tool's complexity, and the information is front-loaded with the most critical semantics early.

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 tool's complexity (10 optional parameters, no output schema), the description covers all critical operational pitfalls: the severity mapping (especially the non-intuitive 0 value), window exclusivity, limit behavior, and the meaning of 'total'. It also gives an example. While the return format is not described (no output schema), the mention of 'total' in the response gives a helpful hint. An agent has enough information to call this tool correctly without further research.

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 100%, but the description adds significant meaning beyond the schema: it explains the severity values and that names or ints are accepted, clarifies the window option (hours OR start/end_time pair), the limit default and maximum, and the advice to use filters rather than increasing limit when total exceeds it. It also notes that 'event_id' can be a single int or array, though the schema already hints at that. This is additive value, not redundancy.

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 Windows Event Log entries ingested from Netmon agents, wraps a specific API endpoint, and notes tag-scoped server-side filtering. It distinguishes from sibling tools like syslog_search by specifying the Windows Event Log domain and the Netmon ingestion source. The verb 'search' and resource are explicit, making 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 Guidelines4/5

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

The description provides detailed usage context: it explains the severity mapping (including the non-obvious 0='logalways' not being Information), the window options (hours vs start/end_time), the limit default and max, and advises narrowing filters when total exceeds limit. However, it does not explicitly name alternative tools (like syslog_search) or state when not to use this tool, so it falls short of explicit when-to-use vs. when-not-to guidance. Still, the usage constraints are clearly articulated.

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.