Live Windows process telemetry through Sysmon and Windows Event Log.
12 tools with consistent verb-noun naming (get_*, watch_*) and complete input schemas. All parameters have type definitions and descriptions. However, tool descriptions are terse (avg ~40 chars, well below the 194-char baseline), lacking WHEN/WHY context and recovery guidance. Output schemas are not documented, LLMs cannot predict response structure for chaining. No error handling guidance. Missing idempotency hints for watch_process. No pagination support despite max_events=200000 parameter suggesting large result sets.
Get DNS queries from recent events.
Get statistics about recent events.
Get image (DLL) load events.
Get process access events (deep inspection).
Get file operations for a process.
Get network connections for a process.
Get registry operations for a process.
Get process tree for a given process ID.
Output schemas not documented. LLMs cannot predict response structure (fields, types, nested objects) for downstream chaining. E.g., get_recent_events returns event objects with 'fields' dict, but structure is not declared in tool definition.
Tool descriptions are terse (avg 35 - 40 chars vs. 194-char baseline). Missing WHEN/WHY context. E.g., 'Get Sysmon and Event Log status' does not explain when to call it first or what status values mean. Descriptions should be 50 - 200 chars with actionable context.
No error handling guidance. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. E.g., watch_process may timeout or fail to find PID, but no recovery path is documented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Query recent Sysmon events from Windows Event Log.
Get Sysmon and Event Log status.
Get results from a watch_process operation.
Watch a process and return related events in real-time.
No pagination support despite max_events parameter accepting up to 200,000. Large result sets will blow context windows. Tools should return page/offset, limit, and total_count; descriptions should state result caps (e.g., 'Returns up to 100 events; use offset for pagination').
watch_process lacks idempotency hint. Calling it twice with the same PID and duration may create duplicate watch sessions. Tool description should clarify: 'Creates a new watch session each call; use get_watch_result to retrieve results without re-watching.'