Reference architecture template for building LLM-powered network operations agents with tool integration, safety guardrails, and device inventory management
Server defines 8 tools with basic schemas and descriptions. All tools have names starting with action verbs (show_, search_, ping, traceroute) and descriptions present. However, parameter descriptions are minimal or missing entirely, most lack context on expected format, constraints, or when to use them. No output schemas documented. Error handling is absent; tools return mock data without guidance on failure modes. Parameter schemas lack enums for constrained inputs (e.g., 'protocol' in show_routes should enumerate bgp|ospf|static|connected). No tool annotations (readOnlyHint, destructiveHint). Composition is reasonable, each tool has one responsibility, but descriptions are too generic to guide LLM selection effectively.
Execute a ping from a device to a target address
Search golden/reference configurations
Search technical documentation for network topics
Search operational runbooks for troubleshooting procedures
Retrieve running configuration from a network device
Retrieve interface status and statistics
Retrieve routing table from a device
No output schemas documented. Tools return free-text strings; LLMs cannot parse structured results or chain calls. E.g., show_config returns raw config text with no field extraction guidance.
Parameter descriptions are minimal or absent. 'device' param lacks guidance on format (hostname vs inventory name). 'protocol' in show_routes should enumerate valid values (bgp, ospf, static, connected) but does not. 'query' in search_* tools lacks length/format constraints.
No error handling or recovery guidance. Mock implementations always succeed; no documentation of failure modes (device unreachable, invalid protocol, search timeout). LLMs cannot distinguish retryable from fatal errors.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
Execute a traceroute from a device to a target address
No tool annotations. All tools are read-only but lack readOnlyHint. This prevents LLMs from reasoning about side effects and retry safety.
search_* tools accept 'top_k' parameter but lack constraints (min/max). No guidance on result pagination or total count. Large result sets could exhaust context window.