Open Source Zabbix CLI & AI Agent Companion
A developer-first, LLM-native CLI for Zabbix 7.0+ LTS. Built to transition from Model Context Protocol
(MCP) daemons to direct shell tool execution with 90%+ context token savings (-o toon),
instant 1-command AI skills setup (zbxctl skill install --all), and client-side safety guardrails.
[OK] Installed 4 built-in agent skills:
✓ zabbix-automation (GitOps, apply & diff)
✓ zabbix-troubleshooting (Incident triage & root cause)
✓ zabbix-telemetry (Metrics & token optimization)
✓ zabbix-safety (Client-side safety guardrails)
| EVENTID | HOST | PROBLEM | SEVERITY | STATUS | AGE | ACK |
|---|---|---|---|---|---|---|
| 10492 | web-prod-01 | High CPU utilization (> 95%) | 4 (High) | PROBLEM | 12m | No |
| 10501 | db-primary | PostgreSQL replication lag > 15s | 4 (High) | PROBLEM | 48m | No |
Why Shift from MCP to the CLI?
Moving from Model Context Protocol (MCP) server daemons to direct shell tool calls to accelerate automation workflow development
Lower Context Overhead
MCP servers require large JSON Schema definitions and verbose RPC envelopes in prompt turns.
zbxctl provides compact, token-efficient outputs (-o toon,
--brief) directly via standard stdout, saving thousands of LLM context tokens.
Universal Agent & CI/CD Compatibility
Virtually all AI coding assistants (Gemini, Claude, Cursor, Aider, custom scripts) and CI/CD runners natively support shell tool execution. A CLI binary works instantly everywhere without managing separate MCP daemon processes.
Faster Workflow Development
Accelerate automation development with immediate shell feedback loops. Test queries
interactively, chain commands with standard Unix pipes (| jq), and build
reproducible scripts without writing custom Python or Go API wrappers.
Deterministic Client Guardrails
Rather than relying on prompt instructions or background server hooks, safety checks run
inside the local binary before making API calls. Configurable levels (readonly,
readwrite-mine) guarantee safe execution.
| Key Dimension | Standard MCP Server Approach | zbxctl Native CLI Approach |
|---|---|---|
| Context Token Cost | High (JSON schema definitions & RPC envelopes) | Token-Optimized (minimal JSON/TOON output via stdout) |
| Agent & Tooling Support | Requires dedicated MCP client integration | Universal (works with any shell-enabled AI assistant & CI script) |
| Developer Workflow Speed | Slower multi-hop daemon RPC debugging | Instant (direct command line testing & Unix pipes) |
| Deployment Complexity | Background daemon lifecycle per environment | Zero Daemon (single statically compiled Go binary) |
| Safety Guardrails | Varies by server implementation | Built-in client-side binary safety middleware |
Watch an AI Agent Use zbxctl in Real-Time
Experience how modern AI coding assistants leverage zbxctl skills, token-optimized TOON output, and client safety guardrails to diagnose incidents and manage infrastructure
Client-Side Safety Middleware Matrix
Client-side safety controls to prevent unintended mutations during rapid automation and AI pair programming
Multi-Format Machine Outputs
Switch seamlessly between human terminal tables and token-efficient formats
// Selected format preview will render here
Interactive Command Directory
Explore zbxctl commands, flags, and raw API capabilities
Inspired by kubectl & dtctl
Bringing proven cloud-native CLI paradigms and declarative workflow patterns to Zabbix 7 monitoring
Declarative Operations & Context Switching
Inspired by kubectl, zbxctl features multi-context switching
(zbxctl config use-context), declarative resource manifests
(zbxctl apply -f manifest.yaml), and live dry-run diffing
(zbxctl diff) for Zabbix configuration management.
Structured Observability Verbs
Following the design philosophy of Dynatrace's dtctl (opens in new tab) (CITATION.cff (opens in new tab)), zbxctl
standardizes Zabbix interactions into clean, consistent verbs (get,
describe, query, doctor, cluster-info),
eliminating messy manual API scripts.
`zabbix-cli` & `zbxctl`: Two Complementary Approaches
A respectful comparative look at the established Python administration tool created by the University of Oslo (UiO / unioslo) community and the Go declarative automation engine
zabbix-cli (UiO / unioslo)
Created by the IT team at the University of Oslo (unioslo),
zabbix-cli provides an interactive REPL shell (zabbix-cli>) and
guided administrative shortcuts. Excellent for human sysadmins doing interactive terminal
management and batch script operations.
zbxctl (Declarative Engine)
Inspired by kubectl and dtctl, zbxctl is a compiled Go
static binary built for non-interactive CI/CD pipelines, GitOps spec synchronization
(apply/diff), AI pair programming (-o toon), and
multi-cluster context switching.
| Dimension | zabbix-cli (Python / unioslo) | zbxctl (Go / Declarative Engine) |
|---|---|---|
| Primary Paradigm | Interactive REPL shell (zabbix-cli>) & admin shortcuts |
Cloud-native POSIX verbs (get, describe, apply, raw) |
| Deployment | Python package (pip install zabbix-cli) |
Single cross-compiled Go static binary (Zero runtime dependencies) |
| Best Suited For | Interactive terminal administration & sysadmin wizards | CI/CD automation pipelines, GitOps spec sync, AI coding agents |
| Safety & Contexts | User confirmation prompts & profile configs | Kubeconfig multi-context switching & client safety guardrail levels |
| Output Formats | Formatted plain text tables & lists | json, table, yaml, and token-optimized toon for LLMs |
Developer & AI Ergonomics
Designed for fast terminal workflows and safe LLM agent execution
Tiered Command Architecture
Tier 1 ergonomic verbs (get, describe, apply,
delete, query, exec, wait) paired with a
Tier 2 raw JSON-RPC caller (zbxctl raw) for 100% Zabbix 7 API coverage.
Client-Side Safety Middleware
Enforce execution guardrails with 4 safety levels (readonly,
readwrite-mine, readwrite-all, dangerously-unrestricted)
directly within the binary.
Automatic Credential Masking
Display outputs automatically redact passwords, API tokens, and proxy auth headers as
[REDACTED], keeping secrets out of LLM contexts and logs.
Token-Optimized for LLMs
Export low-token verb tree summaries (zbxctl commands --brief) and consume compact
outputs in Token-Optimized Object Notation (-o toon).
Universal Authentication
Native support for Zabbix API Tokens, User/Password login, HTTP Basic Auth, SSO headers
(X-Remote-User), and client TLS mTLS certificates.
Open Source & Community Driven
Released under the permissive Apache License 2.0. Built in the open—feedback, issues, and pull requests are welcomed as we iterate!
10-Second Setup for Developers & AI Agents
Zero runtime dependencies, single static binary, and 1-command AI skills installation for Claude Code, Antigravity, Cursor, and CI/CD
Install Binary
Download the single compiled Go static binary. Zero runtime dependencies, no Python environments or node daemons required.
curl -sL .../zbxctl | tar -xz
Connect Context
Authenticate against your Zabbix 7 instance and configure context safety levels (readonly by default for AI agents).
zbxctl login https://zabbix.io -u admin
Equip AI Agents
Install 4 pre-packaged expert skills into Antigravity, Claude Code, Cursor, Windsurf, Copilot, or repo workspace with 1 command.
zbxctl skill install --all
Pre-Packaged AI Agent Skills
Built-in skills teach AI assistants how to interact with Zabbix 7 deterministically without manual prompt engineering
Declarative Zabbix 7 resource management, GitOps manifests, apply/diff workflows, and spec synchronization.
Incident investigation, active problem analysis, trigger thresholds, and root-cause diagnosis for Zabbix 7.
High-frequency metric extraction, time window filtering (--since=4h), and LLM token optimization (-o toon).
Client-side safety middleware levels (readonly, readwrite-mine, readwrite-all) and Exit Code 2 error envelopes.
Zero-Dependency Binary Downloads
Single cross-compiled static binary with zero external runtime dependencies. Precompiled for Linux, macOS, and Windows.
Linux
Works on all Linux distributions (Ubuntu, Debian, RHEL, Alpine, etc.).
curl -sL https://github.com/ErKatta/zbxctl/releases/download/v0.1.0/zbxctl_0.1.0_linux_amd64.tar.gz | tar -xz && sudo mv zbxctl /usr/local/bin/
macOS
Universal binary for Apple Silicon (M1/M2/M3/M4) and Intel Macs.
curl -sL https://github.com/ErKatta/zbxctl/releases/download/v0.1.0/zbxctl_0.1.0_darwin_arm64.tar.gz | tar -xz && sudo mv zbxctl /usr/local/bin/
Windows
Standalone executable for Windows PowerShell or Command Prompt.
Invoke-WebRequest -Uri "https://github.com/ErKatta/zbxctl/releases/download/v0.1.0/zbxctl_0.1.0_windows_amd64.zip" -OutFile "zbxctl.zip"; Expand-Archive zbxctl.zip -DestinationPath "$HOME\bin"
Go Toolchain
For developers with Go installed who prefer compiling from latest module source.
go install github.com/ErKatta/zbxctl@latest
Open Source under Apache License 2.0
zbxctl is an open-source project released under the Apache
License 2.0.
We invite developers, DevOps engineers, and AI enthusiasts to test automation workflows and
contribute to the project on GitHub.
Acknowledgements & Citations: Inspired by and acknowledging the foundational design of
dtctl (opens in new tab) (Dynatrace OSS; CITATION.cff (opens in new tab)),
kubectl (opens in new tab) (CNCF), and
zabbix-cli (opens in new tab) (University of Oslo).
To cite this project, see CITATION.cff (opens in new tab).