An MCP client application that connects to an Azure MCP server and translates natural language queries to Azure CLI commands using Ollama
This server has a single tool 'azmcp-extension-az' with critical definition gaps. The tool has a basic description but lacks parameter descriptions, enums, validation guidance, and output schema documentation. The input schema is minimalist (only 'command' string with no constraints, format hints, or examples). No error handling guidance is documented. The server acts primarily as a thin wrapper around the Azure CLI without proper agent-optimization patterns like parameter validation, pagination, or idempotent operation markers. Given baseline standards (94% of A+ tools have full docstrings, 100% have param descriptions), this falls well below production readiness.
Executes Azure CLI commands through the MCP Azure extension
Parameter 'command' lacks description, LLM cannot infer expected format, constraints, or examples.
No output schema documented. Tool returns structured results via MCPClient but the tool definition itself does not declare return type, field names, or structure. LLM cannot plan downstream calls or validate response shape.
No error handling guidance. Tool description does not explain failure modes, recovery steps, or how to disambiguate between different error classes (e.g., 'command not found' vs 'insufficient permissions' vs 'malformed syntax').
Tool description (23 chars: 'Executes Azure CLI commands through the MCP Azure extension') is below baseline average (194 chars, p10=34). Lacks guidance on when to use this tool vs other Azure tools, what prerequisites exist, or dependency hints.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 21 | - | v1 |
Input schema has no constraints, enums, patterns, or format hints. The 'command' parameter accepts any string, no validation for length, required Azure CLI keywords, or safety against command injection risks.
Tool performs destructive operations (Risk: WRITE classification) but no confirmation pattern, dry-run option, or reversibility guidance documented. Per pattern:confirmation-request, irreversible operations should support user confirmation.
No tool annotation hints (readOnlyHint, destructiveHint, idempotentHint) declared in schema. Client cannot understand risk classification without parsing description text.