Model Context Protocol server for ArgoCD that provides tools to search and execute ArgoCD API operations
Two tools with clear action verbs and reasonable descriptions. search_operations has good discovery intent; execute_operation is appropriately generic for a gateway pattern. However, parameter descriptions lack depth on constraints, formats, and error recovery. Output schemas are not documented. The execute_operation tool accepts free-form JSON strings for query_params and body, inviting hallucinated payloads. No enum constraints on HTTP methods despite a fixed set. Error handling is present in code but not surfaced in tool descriptions. Missing guidance on when to use search vs direct execute, and no pagination/result limits documented.
Execute an ArgoCD API operation. Use search_operations first to discover the correct method, path, and parameters.
Search the ArgoCD API. Returns matching endpoints with method, path, summary, and parameters. Use this to discover which API calls are available before executing them.
execute_operation accepts query_params and body as free-form JSON strings instead of structured objects. LLMs frequently hallucinate invalid JSON, causing silent failures. Should use typed object parameters with nested fields.
HTTP method parameter lacks enum constraint. Description lists allowed methods but does not enforce them at schema level. LLMs may pass invalid methods (TRACE, CONNECT) that bypass validation.
No output schema documented for either tool. search_operations returns JSON array of endpoints; execute_operation returns API response. LLMs cannot plan downstream calls without knowing response structure (e.g., what fields identify an endpoint for execute_operation).
search_operations description mentions '20 results' limit in code but not in tool description. LLMs may expect unbounded results. Pagination/limit guidance missing.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2026-07-28+ | v2 |
No error recovery guidance in tool descriptions. Code returns actionable errors (e.g., 'write operations are disabled'), but LLM sees only the error text without hints on next steps (retry, use search_operations, check permissions).