EDR coverage & bypass detector — reconciles MDM + EDR + AD inventories
Single tool 'scan' has a well-structured input schema with 6 parameters, all typed and described. However, the tool description (89 chars) falls short of the 10 - 1024 char baseline and lacks critical context about WHEN to use it and WHAT it returns. No output schema is documented, LLMs cannot plan downstream steps. Parameter descriptions are adequate but generic (e.g., 'Active Directory host inventory (CSV or JSON)' lacks format constraints or examples of valid input). The tool does not declare whether it modifies state, making idempotency unclear. No error handling guidance is visible in the source. Overall, the schema is present but descriptions are thin and output is undocumented.
Reconcile AD/MDM/EDR inventories and report coverage gaps.
Tool description is too brief (89 chars). Must explain WHAT it does, WHEN to use it, and WHAT it returns. Current: 'Reconcile AD/MDM/EDR inventories and report coverage gaps.' Missing: output structure, use case context, and prerequisites.
No output schema documented. LLMs cannot infer what fields the 'scan' tool returns (e.g., does it return findings array? coverage percentage? remediation steps?). This blocks downstream tool chaining and forces the LLM to guess.
Parameter descriptions lack format constraints. 'Active Directory host inventory (CSV or JSON)' does not specify: required columns, encoding, max file size, or example structure. LLMs will pass invalid formats.
No error handling guidance. If inventory files are malformed, missing, or incompatible, the tool provides no recovery hints. Error responses should guide the LLM: 'File format error in ad.csv. Expected columns: hostname, os, last_seen. Provide a valid CSV or JSON.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
Tool does not declare state modification. Is 'scan' idempotent? Does it write logs, cache results, or modify inventories? The description must clarify: 'This tool is read-only and idempotent, safe to retry.'