MCP server for Apstra network infrastructure management, providing tools to query and manage blueprints, devices, virtual networks, routing zones, and network configuration
Server has 17 tools with basic schemas and descriptions, but significant quality gaps. Most tools lack parameter descriptions (only blueprint_id is documented across 11 tools). The create_vn tool has an unusually verbose description with implementation details ('layered normalization') that should be hidden. Tool descriptions are present but generic (e.g., 'Get all racks in a blueprint'). No output schemas documented. Error handling and recovery guidance absent. Naming is verb-noun compliant but descriptions lack WHEN/WHY context needed for LLM selection. No tool annotations (readOnlyHint/destructiveHint) despite clear risk levels in metadata.
Create a virtual network using the virtual-networks-batch API with layered normalization. This tool creates a virtual network (VN) using the correct Apstra batch API endpoint. Uses layered normalization to handle MCP parameter type conversion issues.
Delete a blueprint
Deploy blueprint configuration
Get formatting guidelines for presenting network infrastructure data with tables and icons
Get anomalies in a blueprint
Get application endpoints for connectivity templates in a blueprint
11 read-only tools (get_*) lack parameter descriptions beyond 'The blueprint ID'. LLMs cannot infer what 'racks', 'rz', 'vn', 'ct' mean or when to call each tool instead of similar ones.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what fields does get_bp return? Is there a blueprint_id field for chaining to get_racks?).
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
Get list of all blueprints
Get connectivity templates in a blueprint
Get configuration diff status for a blueprint
Get protocol sessions in a blueprint
Get all racks in a blueprint
Get all remote gateways in a blueprint
Get all routing zones in a blueprint
Get systems (devices) in a blueprint
Get list of all available templates
Get virtual networks in a blueprint
Server health check.
create_vn has 17 parameters, many with vague descriptions ('Optional system ID(s) as JSON string or single value'). No enum constraints for vn_type, ipv4_enabled, dhcp_service. LLMs will hallucinate invalid values.
Destructive tools (deploy, delete_blueprint, create_vn) lack confirmation/dry-run patterns. No error handling guidance. LLMs may execute irreversible operations without user consent.
Tool descriptions do not include WHEN/WHY context. 'Get all racks in a blueprint' does not explain when to call get_racks vs get_system_info or what 'racks' means in Apstra domain.