Server exposes 9 ArgoCD tools with basic structure but significant quality gaps. All tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization) and input schemas are present but minimal. Parameter descriptions exist but are generic ('The name of the application'). No output schemas documented. Error handling returns raw error dicts without recovery guidance. Tool names follow verb_noun convention (list_, create_, delete_, etc.) which is correct, but descriptions lack context on WHEN to use each tool or what the LLM should expect. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Missing pagination for list_applications_tool despite potential for large result sets.
Create a new ArgoCD application.
Delete an ArgoCD application by name.
Describe an ArgoCD application.
Force sync an ArgoCD application by name.
Get manifests details of an ArgoCD application.
List all ArgoCD applications.
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, forcing them to parse unstructured output and plan downstream calls blindly.
Descriptions are too short (10-50 chars vs. baseline 50-200 chars). Generic descriptions like 'List all ArgoCD applications' lack context on WHEN to use the tool, what it returns, or how it differs from similar tools.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
List events for an ArgoCD application by name.
Rollback an ArgoCD application to a specific revision.
Show pod logs for a pod in an ArgoCD application.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (READ_ONLY, WRITE, DESTRUCTIVE, REVERSIBLE). LLMs cannot determine which tools are safe to retry or have irreversible consequences.
Error handling returns raw error dicts without recovery guidance. Errors like {'error': 'Not found'} give LLMs no actionable next step. Should include 'Try list_applications_tool() to find valid names' or similar.
list_applications_tool lacks pagination (limit, offset, page_size). Large result sets will blow context window.