Skip to main content
Glama
stufently

Zabbix MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ZABBIX_AI_CLI_MCP_URLNoThe URL of the Zabbix server
ZABBIX_AI_CLI_MCP_TOKENNoZabbix API token
ZABBIX_AI_CLI_MCP_TOKEN_FILENoPath to a file containing the Zabbix API token

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
zabbix_alert_whyA

Explain whether an event produced a notification, and what stood in the way.

Walks the whole chain: suppression, delivery attempts and their errors, trigger actions, media types, and each recipient's media severity filter and active period. Any one of those links can drop a notification without recording an error anywhere.

Use when the user asks why an alert did or did not arrive, or why a notification was missing. For the problem itself call zabbix_problem; to turn a pasted notification into identifiers call zabbix_resolve first.

zabbix_api_callA

Call a Zabbix API method directly.

Read methods run immediately. Write methods produce a plan and go through approval like every other change. A method that is not in the risk registry is refused rather than guessed at. Over MCP this tool is read-only.

Use when no high-level tool covers the question and a read method such as host.get is required. For problems, hosts, metrics or alert delivery call the matching zabbix tool instead. A write through this tool is refused; to make one, call zabbix_write, or zabbix_plan_create to show the operator the change first.

zabbix_host_investigateA

Collect a diagnostic snapshot of one host in a single call.

Gathers host state, active problems, recent events, silent and unsupported items and maintenance windows. It reports facts and draws no conclusions; interpreting them is the caller's job.

Use when the user asks what is wrong with a named host or wants one diagnostic pass instead of several queries. For a short status line call zabbix_host_status; for hosts Zabbix cannot poll at all call zabbix_unreachable.

zabbix_host_statusA

Summarise one host: availability, active problems, data freshness, maintenance.

An aggregate over several API calls, returned as a handful of fields rather than several thousand characters of configuration.

Use when the user wants a short health check of one named host: whether it is up, whether it has problems, whether data is fresh. For the full diagnostic bundle call zabbix_host_investigate; to search by a name fragment call zabbix_hosts.

zabbix_hostsA

Find hosts by name fragment, pattern or group.

Matching is a case-insensitive substring over both the technical and the visible name, and exact matches are listed first. Guessing exact names is the most common way a query comes back empty.

Use when the user is looking for a host and does not have its exact name, or wants the hosts in a group. For a short health check of one host call zabbix_host_status; for a full diagnostic snapshot call zabbix_host_investigate.

zabbix_maintenance_listA

List maintenance windows, including expired ones.

Expired windows are shown by default: removing one that has already lapsed is a routine follow-up, and it cannot be done if the window is invisible.

Use when the user asks which maintenance windows exist, which hosts are silenced, or whether a window has expired. To open, extend, end or remove a window, call zabbix_write, or zabbix_plan_create to show the operator the change first.

zabbix_metrics_historyA

Read an item's values over a time window, with min, max and average.

Windows are written the way operators write them: 30m, 2h, 24h, 7d.

Use when the user asks how a metric behaved over a period, or wants its minimum, average and maximum. For only the newest value call zabbix_metrics_latest; for whether the host itself is unreachable call zabbix_unreachable.

zabbix_metrics_latestA

Show the newest value of a host's items.

Values come from history, because item.lastvalue has returned a constant zero for several releases. The history type is derived from each item automatically; querying it wrongly returns nothing rather than an error.

Use when the user wants the current value of an item, such as CPU, disk or a custom metric, on one host. For values across a time window call zabbix_metrics_history; for a host whose items stopped sending data call zabbix_host_investigate.

zabbix_plan_createA

Describe a change to Zabbix without making it. Use when the user wants to see what a change would do before anything is written. Call zabbix_write instead when the user wants the change applied now; call zabbix_plan_status to check a plan that already exists.

Returns a plan identifier and the exact command the operator must run to apply it. Nothing changes until it is applied. Use this to show the operator what a change would do; call zabbix_write to make one, or relay the approve command so the operator applies this exact plan.

Available operations: api.call — Call a Zabbix API method directly. events.acknowledge — Acknowledge an event, comment on it, close it or change its severity. maintenance.create — Open a maintenance window over hosts or host groups. maintenance.delete — Remove a maintenance window permanently. maintenance.expire — End a maintenance window now, keeping its record. maintenance.extend — Push a maintenance window's end further out. triggers.disable — Disable a trigger so it stops raising problems. triggers.enable — Re-enable a disabled trigger.

zabbix_plan_statusA

Check whether a stored plan is still waiting, was applied, or has expired. Use when the user asks what happened to a change they were asked to approve, or after zabbix_plan_create while you wait. Call zabbix_plan_create to describe a new change, and call zabbix_write when the user wants that change made now.

zabbix_problemA

Show one active problem by event identifier.

Use when the user gives one event identifier and wants that problem's host, severity and state. For the list of what is broken now call zabbix_problems; to learn why its notification did or did not arrive call zabbix_alert_why.

zabbix_problemsA

List active Zabbix problems, newest first.

Suppressed problems are included by default and say which maintenance window hides them. Hiding them silently is how an outage goes unnoticed for weeks.

Use when the user asks what is broken right now, which problems are firing, or whether anything is in alarm. For one event identifier call zabbix_problem; to learn why a notification never arrived call zabbix_alert_why.

zabbix_resolveA

Turn the text of a notification into event, host and trigger identifiers.

Accepts a notification pasted out of a chat client. Without it, an instruction such as "acknowledge that one" cannot be acted on, because the identifiers only exist inside the message text.

Use when the user pastes a notification from chat and the event, host or trigger identifier is buried in that text. Once you have the event identifier, call zabbix_problem for the problem or zabbix_alert_why for the delivery chain.

zabbix_unreachableA

List monitored hosts Zabbix currently cannot poll.

Availability lives on the interface: host.available was removed in 5.4, and code still reading it sees nothing at all.

Use when the user asks which hosts Zabbix cannot poll, or which agent, SNMP, IPMI or JMX interfaces are down. A host whose interface is up but whose items went silent is not listed here: call zabbix_host_investigate for that, and zabbix_metrics_latest for the newest values.

zabbix_writeA

Change Zabbix in one call and record it in the audit log. Use when the user wants a permitted change applied now rather than only described. To show the operator the change before anything is written, call zabbix_plan_create instead; to check a plan that already exists, call zabbix_plan_status.

Prefer the narrowest operation that does the job and say plainly what you did. Operations marked destructive remove something Zabbix cannot restore on its own.

Available operations: api.call — Call a Zabbix API method directly. events.acknowledge — Acknowledge an event, comment on it, close it or change its severity. maintenance.create — Open a maintenance window over hosts or host groups. maintenance.delete — Remove a maintenance window permanently. (destructive) maintenance.expire — End a maintenance window now, keeping its record. maintenance.extend — Push a maintenance window's end further out. triggers.disable — Disable a trigger so it stops raising problems. (destructive) triggers.enable — Re-enable a disabled trigger.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.4/5.0

Scored across 15 tools

Disambiguation5/5

Each tool targets a distinct resource/action, and descriptions explicitly cross-reference the alternatives (e.g. problem vs problems, host_status vs host_investigate, write vs plan_create vs api_call). The singular/plural and short/full-diagnostic distinctions are spelled out, leaving little room for misselection.

Naming Consistency4/5

All tools consistently use a zabbix_ prefix with snake_case, which is predictable. However the internal ordering is mixed: some are bare nouns (problem, hosts, unreachable), some noun_noun (host_status, metrics_latest), and some verb or noun_verb (resolve, plan_create). Still readable and mostly uniform.

Tool Count5/5

15 tools sits squarely in the well-scoped range, and each one covers a distinct slice of the monitoring domain (problems, hosts, metrics, maintenance, alerting, change planning). No obvious redundant or filler tools.

Completeness4/5

The read surface is comprehensive (problems, hosts, metrics history/latest, maintenance, unreachable, alert chain) and writes/plans are covered via zabbix_write and zabbix_plan_*, with zabbix_api_call as an escape hatch. Minor gaps like dedicated host configuration or user/dashboard management exist but are reachable through the raw API tool.

Maintenance

ActivityActive
ResponsivenessNo issues