Zabbix-MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Zabbix-MCP show me all active problems sorted by severity"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Zabbix-MCP
A production-oriented Model Context Protocol server for Zabbix 7.4. It lets agent harnesses (Claude Desktop/Code, ChatGPT/Codex, Hermes, OpenClaw, Cursor…) triage problems, query metrics, manage maintenance and build/edit dashboards, with guardrails so an LLM cannot do damage by accident.
Python 3.11+, official
mcpSDK (FastMCP),httpx, Streamable HTTP + stdioDocker image, Traefik path routing (no new hostname needed), interactive Debian installer
Web admin UI for every setting, hot-reloaded
Full API coverage (228 methods / 60 API groups) without 228 tools
Tool design
Tier | Tools |
Curated |
|
Toolset | one |
Escape hatch |
|
Outputs are trimmed to useful fields, limit defaults to 50, and responses are capped (20 000 chars by default) to protect the context window.
Related MCP server: Zabbix MCP Server
Safety
READ_ONLY(default on) hard-blocks every mutating method.Two-step writes: first call returns a single-use, 5-minute
confirm_tokenbound to method + params (CONFIRM_WRITES=all|destructive|none).Unknown methods blocked; deny beats allow; users/roles/tokens/settings/modules/
script.execute/configuration.importblocked by default.Secrets never logged (stderr only, masked); JSON-lines audit log; bearer tokens stored as hashes; admin password PBKDF2.
Install
See docs/INSTALL.md. Short version: git clone … && sudo ./install.sh.
Connect your agent
See docs/CLIENTS.md for Claude Desktop, Claude Code, ChatGPT desktop/Codex, Hermes, OpenClaw,
Cursor. Skill files that teach agents the workflow live in skills/:
skills/zabbix-mcp (generic/Claude), skills/hermes/zabbix-mcp, skills/openclaw/zabbix-mcp.
Local development
uv sync
uv run pytest # 111+ tests, no Zabbix needed (fake API)
uv run ruff check .
ZABBIX_URL=https://zbx ZABBIX_API_TOKEN=… uv run zabbix-mcp check # verify connectivity
ZABBIX_URL=… ZABBIX_API_TOKEN=… uv run python scripts/live_check.py [--write] # exercise tools on a real Zabbixstdio mode (MCP_TRANSPORT=stdio) keeps stdout clean for the protocol.
Verification status
Unit/integration tests run against a fake Zabbix. CI additionally builds the Docker image and runs a contract test
against a real Zabbix 7.4 stack (scripts/live_check.py --write). Run live_check.py against your own instance after
installing to validate the curated tools end to end.
License
MIT, see LICENSE.
Available Tools
24 toolsacknowledge_problemBDestructive
Acknowledge, comment on, re-rate or close problems. Two-step: first call returns a preview.
Inputs: eventid (required), actions, message, severity, +1 more.
dashboard_widget_catalogARead-onlyIdempotent
Supported dashboard widget types with their key field names, plus layout rules.
Inputs: no named parameters.
get_active_problemsCRead-onlyIdempotent
Current unresolved problems (newest first) with host, severity and age.
Inputs: host, group, limit, min_severity, +2 more.
get_audit_logBRead-onlyIdempotent
Zabbix audit log entries (who changed what), newest first.
Inputs: user, hours, limit, action.
get_host_detailsBRead-onlyIdempotent
Status, interfaces, groups, templates, tags and item/problem counts for one host.
Inputs: host (required).
get_latest_valuesCRead-onlyIdempotent
Latest collected values of a host's items, optionally filtered by name/key.
Inputs: host (required), limit, pattern.
get_problem_eventsBRead-onlyIdempotent
Problem events (including resolved ones) in a time window, newest first.
Inputs: host, hours, limit, min_severity.
get_server_statusBRead-onlyIdempotent
Zabbix version, HA nodes, proxies, host counts and open problem counts.
Inputs: no named parameters.
get_sla_reportARead-onlyIdempotent
SLA/SLI per service for recent periods; without 'sla' lists available SLAs.
Inputs: sla, periods, service.
get_triggersCRead-onlyIdempotent
Triggers (monitored, enabled) with severity and state.
Inputs: host, limit, min_severity, only_problems.
list_host_groupsCRead-onlyIdempotent
Host groups with host counts.
Inputs: limit, search.
manage_dashboardCDestructive
Create and edit Zabbix dashboards. Changes are validated, then two-step confirmed.
Inputs: operation (required), name, page, pages, +6 more.
manage_maintenance_windowBDestructive
List, schedule (one-time) or remove maintenance windows. create/delete are two-step.
Inputs: operation (required), name, hosts, groups, +7 more.
query_metrics_historyARead-onlyIdempotent
History (or trends for windows >48h) of up to 5 matching items, downsampled to min/avg/max buckets.
Inputs: host (required), item (required), minutes, max_points.
search_hostsBRead-onlyIdempotent
Find hosts by name, technical name, IP or DNS.
Inputs: query (required), group, limit.
zabbix_alertingADestructive
Zabbix alerting API. Methods: action: create, delete, get, update; mediatype: create, delete, get, update; script: create, delete, execute, get, getscriptsbyevents, getscriptsbyhosts, update; connector: create, delete, get, update. Reads return compact defaults; writes are two-step (preview, then repeat with confirm_token). Use zabbix_describe_method for docs and parameters.
Inputs: method (required), params, confirm_token.
zabbix_configADestructive
Zabbix config API. Methods: itemprototype: create, delete, get, update; triggerprototype: create, delete, get, update; graphprototype: create, delete, get, update; hostprototype: create, delete, get, update; discoveryrule: create, delete, get, update; discoveryruleprototype: create, delete, get, update; drule: create, delete, get, update; dhost: get; dservice: get; dcheck: get; httptest: create, delete, get, update; httpstep: get; usermacro: create, createglobal, delete, deleteglobal, get, update, updateglobal; valuemap: create, delete, get, update; regexp: create, delete, get, update; correlation: create, delete, get, update; configuration: export, import, importcompare. Reads return compact defaults; writes are two-step (preview, then repeat with confirm_token). Use zabbix_describe_method for docs and parameters.
Inputs: method (required), params, confirm_token.
zabbix_describe_methodARead-onlyIdempotent
Docs link, read/write class, permission status and usage tips for one API method.
Inputs: method (required).
zabbix_hostsADestructive
Zabbix hosts API. Methods: host: create, delete, get, massadd, massremove, massupdate, update; hostgroup: create, delete, get, massadd, massremove, massupdate, propagate, update; hostinterface: create, delete, get, massadd, massremove, replacehostinterfaces, update; template: create, delete, get, massadd, massremove, massupdate, update; templategroup: create, delete, get, massadd, massremove, massupdate, propagate, update; proxy: create, delete, get, update; proxygroup: create, delete, get, update; maintenance: create, delete, get, update. Reads return compact defaults; writes are two-step (preview, then repeat with confirm_token). Use zabbix_describe_method for docs and parameters.
Inputs: method (required), params, confirm_token.
zabbix_monitoringADestructive
Zabbix monitoring API. Methods: problem: get; event: acknowledge, get; alert: get; trigger: create, delete, get, update; history: clear, get, push; trend: get; item: create, delete, get, update; graph: create, delete, get, update; graphitem: get; hanode: get; task: create, get; auditlog: get. Reads return compact defaults; writes are two-step (preview, then repeat with confirm_token). Use zabbix_describe_method for docs and parameters.
Inputs: method (required), params, confirm_token.
zabbix_raw_apiADestructive
Escape hatch: call any 7.4 API method. Same safety rules (read-only, blocklist, confirmation).
Inputs: method (required), params, confirm_token.
zabbix_search_methodsBRead-onlyIdempotent
Find Zabbix 7.4 API methods by name. Shows which tool runs each and if it is allowed.
Inputs: query (required), limit.
zabbix_servicesADestructive
Zabbix services API. Methods: service: create, delete, get, update; sla: create, delete, get, getsli, update. Reads return compact defaults; writes are two-step (preview, then repeat with confirm_token). Use zabbix_describe_method for docs and parameters.
Inputs: method (required), params, confirm_token.
zabbix_visualizationADestructive
Zabbix visualization API. Methods: dashboard: create, delete, get, update; templatedashboard: create, delete, get, update; map: create, delete, get, update; iconmap: create, delete, get, update; image: create, delete, get, update; report: create, delete, get, update. Reads return compact defaults; writes are two-step (preview, then repeat with confirm_token). Use zabbix_describe_method for docs and parameters.
Inputs: method (required), params, confirm_token.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 24 tools
The curated convenience tools (get_active_problems, get_problem_events, get_triggers, get_audit_log, manage_dashboard, get_sla_report) overlap directly with the generic grouped tools (zabbix_monitoring, zabbix_visualization, zabbix_services), so an agent must guess whether to use the wrapper or the raw group call. Descriptions hint at the distinction (compact curated reads vs full API surface), but boundaries remain fuzzy for several pairs.
Naming mixes several conventions: verb_noun wrappers (get_problem_events, search_hosts, acknowledge_problem), a zabbix_ namespace prefix (zabbix_monitoring, zabbix_raw_api, zabbix_describe_method), manage_ verbs (manage_dashboard, manage_maintenance_window), and a bare noun (dashboard_widget_catalog). Each name is readable on its own, but there is no single predictable pattern an agent can rely on.
24 tools lands at the borderline-heavy end of the scale, and some of that weight is redundant since the six grouped API tools already subsume much of what the convenience wrappers do. Given Zabbix's very large API surface the count is defensible, but it is not tightly scoped.
Coverage is broad: monitoring, hosts, config, visualization, services, alerting, docs lookup and a raw API escape hatch cover nearly every lifecycle operation, including two-step writes. Minor gaps exist (e.g. user/usergroup/role and token management APIs are not exposed), but agents can work around these via zabbix_raw_api.
Maintenance
Related MCP Connectors
Zendesk configuration management for AI agents: propose, review, apply and roll back changes.
The trust harness for AI agents. Set what an agent can do before it acts.
Read-only finance and operations controls for AI agents with evidence and safe next actions.
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Related MCP Servers
- AlicenseAqualityDmaintenance🔌 Complete MCP server for Zabbix integration - Connect AI assistants to Zabbix monitoring with 40+ tools for hosts, items, triggers, templates, problems, and more. Features read-only mode and comprehensive API coverage.3262GPL 3.0
- AlicenseBqualityAmaintenanceOfficial initMAX MCP server exposing the Zabbix API to AI assistants for monitoring and managing hosts, problems, templates, dashboards, and multiple Zabbix instances. Includes correlated monitoring views, graphs, anomaly detection, capacity forecasts, and PDF reports, with scoped tokens, read-only modes, OAuth 2.1, and an admin portal. Supports Streamable HTTP, SSE, and stdio.84247AGPL 3.0
- AlicenseAqualityBmaintenanceZabbix MCP server and CLI in one Go binary. 15 task-shaped tools: current problems, host investigation, why an alert did or did not arrive, metrics, maintenance. Zabbix 6.4+.15Apache 2.0
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to query Zabbix monitoring data through MCP, including host briefs and problem reports, with read-only access and whitelist controls.-