MCP server for Zabbix API — daily brief, problems, hosts, items
zapi-mcp has 8 tools with consistent naming (verb_noun pattern: get_*, acknowledge_*, set_*) and descriptions present for all tools. However, parameter descriptions are minimal or missing for several tools. Input schemas are visible and typed, but lack depth in constraint documentation. Output schemas are not documented. Error handling is absent from tool definitions. The server follows basic MCP patterns but lacks LLM-optimization in descriptions and parameter guidance.
Acknowledge a Zabbix problem (mark as seen/handled)
Generate a daily monitoring brief with active problems and category-specific metrics
Fetch items (metrics) for a specific host, optionally filtered by key or search pattern
List monitored hosts, optionally filtered by tags
List active and upcoming maintenance windows
Fetch active problems from Zabbix, optionally filtered by severity and tags
Output schemas not documented. Tools return structured data but LLMs cannot infer field names, types, or pagination behavior. Downstream tool chaining is unsupported.
Parameter descriptions lack constraint details. 'min_severity' (0-5 range), 'limit' (unbounded), 'start_time' (Unix timestamp format), and 'duration' (seconds) lack explicit bounds, formats, or examples in descriptions. LLMs may pass invalid values.
No error handling guidance in tool definitions. Tools do not document what errors are possible, whether they are retryable, or what the LLM should do next (e.g., 'If authentication fails, check ZABBIX_URL and credentials').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2025-06-18+ | v2 |
Check Zabbix API health and authentication status
Schedule a maintenance window in Zabbix
Pagination not documented. get_problems, get_hosts, and get_host_items accept 'limit' but do not document offset/cursor behavior, total count, or whether results are truncated. Large result sets may blow context windows.
Destructive operations (acknowledge_problem, set_maintenance) lack confirmation or dry-run support. No tool description warns that these modify state or suggests a confirmation pattern.