dev-tools 7 min read

Zabbix MCP Server – AI agents manage your Zabbix infrastructure

Connect any MCP-compatible AI assistant to your Zabbix monitoring stack. Zabbix MCP Server exposes 237 tools via the Model Context Protocol, letting Claude, Codex, and others query hosts, acknowledge events, and manage templates directly.

By
Share: X in
Zabbix MCP Server – 237 tools for AI-powered Zabbix management

TL;DR

TL;DR: Zabbix MCP Server is an open-source MCP server that exposes your entire Zabbix monitoring stack — 237 tools across 58 API groups — to any MCP-compatible AI assistant, letting you query hosts, manage triggers, acknowledge events, and generate PDF reports using natural language.

Source and Accuracy Notes

⚠️ This section is MANDATORY. All links must be verified from actual source, not guessed.

What Is Zabbix MCP Server?

Zabbix MCP Server is an open-source bridge between the Model Context Protocol (MCP) and the Zabbix monitoring API. It runs as a standalone HTTP service and registers the full Zabbix API surface as MCP tools.

From the project README:

MCP (Model Context Protocol) is an open standard that lets AI assistants (ChatGPT, Claude, VS Code Copilot, JetBrains AI, Codex, and others) use external tools. This server exposes the entire Zabbix API as MCP tools — allowing any compatible AI assistant to query hosts, check problems, manage templates, acknowledge events, and perform any other Zabbix operation.

The server ships with 237 Zabbix API tools across 58 API groups, plus 14 extension tools for pre-correlated views, anomaly detection, capacity forecasting, and PDF report generation. It is written in Python 3.10+ and is maintained by initMAX, with community contributions on GitHub.

Key numbers

| Metric | Value | |--------|-------| | Core API tools | 223 | | Extension/pre-correlated tools | 14 | | Total | 237 | | Zabbix compatibility | 5.0 – 8.0 | | Python minimum | 3.10 | | License | AGPL-3.0 |

Setup Workflow

Prerequisites

  • Linux server (or macOS for dev/user-mode install)
  • Python 3.10 or higher
  • A Zabbix server (5.0+) with network access
  • Zabbix API token — create one at User settings → API tokens in the Zabbix frontend

Step 1: Clone and install

git clone https://github.com/initMAX/zabbix-mcp-server.git
cd zabbix-mcp-server
sudo ./deploy/install.sh

The install script (requires sudo) performs the following:

  1. Creates a dedicated system user zabbix-mcp with no login shell
  2. Creates a Python virtual environment at /opt/zabbix-mcp/venv
  3. Installs the server and all dependencies
  4. Copies the example config to /etc/zabbix-mcp/config.toml
  5. Installs a systemd service unit (zabbix-mcp-server)
  6. Sets up logrotate for /var/log/zabbix-mcp/*.log (daily, 30-day retention)
  7. Verifies file permissions and offers to fix any issues

Step 2: Configure

Edit the config file:

sudo nano /etc/zabbix-mcp/config.toml

At minimum, set your Zabbix URL and API token:

[[servers]]
name = "production"
url = "https://zabbix.example.com"
token = "YOUR_ZABBIX_API_TOKEN_HERE"

The config file supports named tokens with scopes, IP restrictions, server binding, and expiry — all managed via CLI, config, or the admin web portal.

Step 3: Start the service

sudo systemctl start zabbix-mcp-server
sudo systemctl enable zabbix-mcp-server

The server listens on http://127.0.0.1:8080/mcp by default.

Step 4: Connect an AI client

The Client MCP Wizard (beta) at http://127.0.0.1:9090/wizard generates copy-paste config snippets for 14 AI clients including Claude Desktop, Codex, Cursor, VS Code Copilot, JetBrains AI, Goose, Open WebUI, n8n, and others.

For Claude Desktop, add this to your claude_desktop_config.json:

{
  "mcpServers": {
    "zabbix": {
      "command": "npx",
      "args": ["-y", "@initmax/zabbix-mcp-server"]
    }
  }
}

Or use the generic HTTP transport with a bearer token:

{
  "mcpServers": {
    "zabbix": {
      "url": "http://127.0.0.1:8080/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_MCP_TOKEN"
      }
    }
  }
}

Deeper Analysis

Architecture

The server is transport-agnostic. It defaults to Streamable HTTP (recommended) and also supports SSE for clients like n8n that lack session management. Both transports are available on the same port:

  • Streamable HTTP: http://127.0.0.1:8080/mcp
  • SSE: http://127.0.0.1:8080/sse

The admin web portal runs on port 9090 and handles token management, user administration, server configuration, settings, and an audit log.

Tool filtering and token budget

With 237 tools, a full tool catalog can strain LLM context limits. The server supports tool filtering by category (monitoring, alerts, users, extensions, etc.) or individual API prefix, reducing the visible surface to only the methods you need.

Compact output mode returns only key fields by default; the LLM can request extend for full details. Combined, these reduce response token usage significantly.

Extension tools

Beyond raw API wrapping, 14 extension tools provide pre-correlated views that fold multiple API calls into a single round-trip:

  • host_status_get — correlated host health across multiple dimensions
  • hostgroup_overview_get — group-level status summary
  • infrastructure_summary_get — cross-tier infrastructure overview
  • problem_active_get — fold 3-5 raw API calls into one round-trip
  • graph_render — PNG export of any Zabbix graph
  • anomaly_detect — z-score analysis on item history
  • capacity_forecast — linear regression on capacity trends
  • item_threshold_search — filter items by lastvalue thresholds
  • report_generate — PDF report generation
  • action_prepare / action_confirm — two-step write approval workflow
  • health_check — server diagnostics
  • zabbix_raw_api_call — admin escape hatch for any unwrapped API method

Security model

  • Per-server read-only mode to prevent accidental writes
  • Multi-token authentication with named tokens, scopes, IP restrictions, server binding, and expiry
  • Per-client rate limiting (300 calls/min default) to protect Zabbix from flooding
  • Auto-reconnect on session expiry

Practical Evaluation Checklist

  • Is Zabbix 5.0–8.0 already running in your environment? Then this is a zero-overhead upgrade — install the server, point it at your existing Zabbix URL, and your AI assistant gains full monitoring access.
  • Do you run multiple Zabbix instances (prod/staging/dev)? Multi-server support lets one MCP server proxy all of them with separate tokens per instance.
  • Need to stay under LLM context limits? Use tool filtering and compact output mode.
  • Writing to Zabbix (acknowledge events, update triggers)? Enable per-token write scopes and two-step action confirmation (action_prepare / action_confirm) for safety.
  • Want PDF reports generated from Zabbix data? The built-in report_generate tool produces them without external dependencies.

Security Notes

  • The server binds to localhost by default and requires a Zabbix API token for authentication — no anonymous access.
  • API tokens are stored in /etc/zabbix-mcp/config.toml with filesystem permissions handled by the install script.
  • Rate limiting (300 req/min per client) prevents accidental or malicious flooding of the Zabbix API.
  • Read-only mode and per-token write scopes provide defense-in-depth for production Zabbix instances.
  • SafeSkill security scan: safeskill.dev/scan/initmax-zabbix-mcp-server — verified 100/100.

FAQ

Q: Does this work with Zabbix Cloud (Zabbix SaaS)? A: Yes — as long as your Zabbix Cloud instance is reachable over the network and you have an API token, point the server URL at your Zabbix Cloud instance and it works identically to on-premises deployments.

Q: How is this different from calling the Zabbix API directly? A: Direct API calls require constructing JSON-RPC requests, handling authentication headers, and parsing raw Zabbix API responses. The MCP server wraps all of that — you describe what you want in natural language and the LLM calls the appropriate tool. It also normalizes responses (symbolic enum names, timestamp conversion, auto-fill defaults) to be more LLM-friendly.

Q: Can I limit which Zabbix users or groups the AI can see? A: Token scopes in config.toml let you restrict a token’s access to specific Zabbix user groups or API methods. The MCP server enforces these scopes when proxying requests.

Q: What if I need a Zabbix API method that is not explicitly wrapped? A: The zabbix_raw_api_call tool is an escape hatch that lets you call any Zabbix API method directly, even if it has no dedicated tool wrapper.

Q: Does it support TLS/HTTPS? A: Yes. The README documents TLS/HTTPS setup including reverse proxy configurations. See the TLS / HTTPS section in the official docs.

Conclusion

Zabbix MCP Server turns your Zabbix monitoring stack into a set of AI-accessible tools. With 237 tools covering the full Zabbix API surface, pre-correlated extension views, multi-server support, and a token-based security model, it fits cleanly into existing DevOps workflows. If you already run Zabbix and use Claude, Codex, or any other MCP-compatible AI assistant, this bridges the gap between natural-language queries and live infrastructure data.

Install it with five commands, point it at your Zabbix URL, and your AI assistant can answer questions like “which hosts have active problems right now?” or “generate a PDF capacity report for the last 30 days.”