Production-grade Python MCP server for UniFi Site Manager, Network, and Protect APIs
52 tools across network, protect, and site_manager modules. Examined source code reveals tool registration via FastMCP but critical gaps: (1) No visible input schemas in provided code, cannot verify parameter types, constraints, or descriptions. (2) Tool descriptions appear minimal or absent in the registration layer. (3) Output schemas not documented. (4) Error handling patterns not evident. Naming follows verb_noun pattern (list_devices, get_wlan, create_network, delete_route) which is correct, but definitions themselves are not visible in the provided excerpt.
No input schemas visible in provided source code. Cannot verify parameter types, constraints, or descriptions for any of 52 tools.
Output schemas not documented. LLMs cannot plan downstream tool calls or extract required fields without knowing response structure.
Destructive tools (delete_wlan, delete_network, delete_firewall_rule, etc.) lack confirmation or dry-run patterns. No evidence of recovery guidance in error handling.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | <=2025-11-25 | v2 |
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) visible. Cannot signal to clients which tools are safe to retry or have side effects.