MCP server for Azure resources using azure python sdk
Single tool with critical deficiencies. Tool name 'read_create_update_azure_resources' violates single-responsibility principle (combines read, create, update). Description is generic (67 chars, below 100-char minimum for clarity). Input schema has only one parameter 'code' (string, no constraints, no format guidance). No output schema documented. No error handling guidance. Tool accepts arbitrary Python code execution, extreme security risk without validation, sandboxing, or permission gates. Baseline: A+ tools average 194 chars description, 100% have param descriptions, all have output schemas.
Execute a azure python sdks code snippet to query Azure resources
Tool name combines three distinct operations (read, create, update), violates single-responsibility principle. Should split into separate tools: read_azure_resources, create_azure_resources, update_azure_resources.
Accepts arbitrary Python code execution without validation, sandboxing, or permission gates. Agents can execute malicious code (SQL injection, command injection, data exfiltration). No input sanitization or allowlist enforcement visible.
No output schema documented. LLMs cannot predict return structure, plan downstream calls, or extract required fields. Baseline: 100% of A+ tools document return types.
Input parameter 'code' lacks description, format constraints, and usage guidance. No indication of allowed modules, syntax requirements, or examples. LLMs cannot infer what code snippets are valid.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 29 | <=2025-11-25 | v2 |
No error handling or recovery guidance. Tool will fail silently or with stack traces. No actionable error messages to guide LLM retry or fallback behavior.