Restricted, masked stdio MCP server for EnvGuard configuration security scanning
EnvGuard MCP has 3 tools with basic descriptions and partial schemas. Tool names are action-oriented (scan, rules, doctor) but descriptions lack depth on when/why to use them. The 'scan' tool has a reasonable input schema with enums, but 'rules' and 'doctor' have empty input objects with no parameters documented. No output schemas are visible in the provided code. Error handling and recovery guidance are absent. Descriptions are 10-80 chars, below the 50-200 char baseline for LLM-optimized tools. No tool annotations (readOnlyHint, destructiveHint) despite all being read-only operations.
Check EnvGuard runtime and configuration for every allowed root.
List built-in EnvGuard rules.
Scan an allowed project root for configuration security findings. Output is always masked.
Two tools (rules, doctor) have empty input schemas with no parameters documented.
Descriptions are too short (10-80 chars vs 50-200 char baseline). 'List built-in EnvGuard rules' and 'Check EnvGuard runtime and configuration for every allowed root' lack context on when/why to call these tools instead of scan.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields without knowing what scan, rules, and doctor return.
No error handling or recovery guidance. If scan fails (e.g., invalid path, permission denied), the tool provides no actionable next steps for the LLM.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
No tool annotations despite all three tools being read-only. Adding readOnlyHint=true would signal to agents that these calls are safe to retry and have no side effects.