Multi-agent enterprise system with MCP servers for Azure resource management, Microsoft Defender security operations, and ERP integration
20 tools across Azure, Defender, and ERP domains. All have descriptions (10-100 chars, mostly adequate) and input schemas with types. However, critical gaps undermine production readiness: (1) No output schemas documented, LLMs cannot plan downstream calls or extract chaining IDs. (2) Parameter descriptions are minimal (5-20 chars) and lack format/constraint guidance. (3) No error handling guidance, tools return failures without recovery hints. (4) Destructive tools (isolate_device, scale_aks_cluster, create_journal_entry) lack confirmation/dry-run patterns. (5) No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. (6) Missing pagination for list_resource_groups and query_log_analytics. Baseline: 549 production tools average 194 chars per description and 72 chars per param annotation; this server averages ~40 chars per param description. Naming is strong (verb_noun convention, clear intent), but schema and error handling are weak.
Create or update an Azure Monitor alert rule
Create a security incident from alerts
Create a journal entry in the ERP system
Execute an Azure Automation runbook
Get current balance for an account
Get detailed information about a specific alert
Get security alerts from Microsoft Defender
No output schemas documented. LLMs cannot infer response structure, chaining IDs, or pagination cursors. Downstream tool calls require guesswork.
Destructive/WRITE tools lack confirmation or dry-run patterns. isolate_device, scale_aks_cluster, create_journal_entry can cause irreversible harm without agent safeguards.
Parameter descriptions are minimal (5-20 chars) and lack format/constraint guidance. E.g., 'metric_names' has enum but no explanation of what each metric measures. 'node_count' lacks min/max rationale.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | <=2025-11-25 | v2 |
Get Azure cost analysis for a resource or subscription
Get current inventory levels
Get metrics for Azure NetApp Files volume
Get threat indicators (IOCs) from threat intelligence
Get vendor information from ERP
Get status of virtual machines
Isolate a device from the network
List all resource groups in a subscription
Query Azure Log Analytics workspace
Query financial transactions from the ERP system
Run antivirus scan on a device
Scale an AKS cluster node pool
Update the status of an alert
No error handling guidance. Tools return failures without recovery hints. E.g., 'Resource not found' does not suggest search_* alternatives or available options.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Agents cannot distinguish safe reads from destructive writes without parsing descriptions.