Read-only GitOps repository inspection and bounded validation MCP server
Four tools with minimal parameter descriptions and no output schemas documented. Tool names follow verb_noun pattern (repository_status, diff_summary, tofu_validate, ansible_syntax) but descriptions are terse (10-80 chars, below the 50-200 char LLM-optimized baseline). Only ansible_syntax has a parameter with description; the other three accept no parameters. No error handling guidance, no recovery paths, and no indication of what fields are returned. Audit logging is implemented server-side (good security practice) but not exposed to the LLM. No tool annotations (readOnlyHint, etc.) despite all being read-only operations.
Syntax-check one configured playbook. WARNING: lookup plugins may execute during syntax-check.
Get a summary of differences in the configured Git repository
Get the status and recent commit history of the configured Git repository
Validate OpenTofu/Terraform configuration in the configured directory
No output schemas documented. Tools return dicts with 'status'/'recent', 'stat'/'names', 'fmt'/'validate', or subprocess results, but LLMs cannot infer field names, types, or structure. Agents cannot plan downstream calls or extract data reliably.
Tool descriptions are too short (10-80 chars vs. 50-200 char baseline). 'Get the status and recent commit history' lacks context on when to call this vs. diff_summary, what fields are returned, or how to interpret exit codes.
ansible_syntax parameter 'playbook' has description but no type constraint, enum, or format hint. LLMs cannot validate relative paths or understand allowed suffixes (.yml/.yaml) without explicit schema constraints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
No error handling guidance. Tools return subprocess results with exit_code, stdout, stderr, timed_out, duration_ms, but descriptions do not explain what non-zero exit codes mean, when to retry, or how to interpret validation failures.
No tool annotations. All four tools are read-only (safe to retry), but readOnlyHint is not set. Agents cannot distinguish safe tools from destructive ones without explicit hints.