# Zabbix MCP

A Python MCP server that lets an AI agent read and change Zabbix data: hosts, triggers, problems, maintenance windows.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 10
- Author: mhajder
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/mhajder/zabbix-mcp
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/zabbix-mcp

## What it does

Zabbix MCP wires an agent into the Zabbix API. It hands over hosts, templates, items, triggers and host groups with filtering, plus problems, events and alerts filtered by severity. History and trend data for monitored items come through the same way, along with user macros, SLA and service information. Writes are supported too: creating, updating and deleting hosts, templates and host groups, managing triggers, items and discovery rules, running scripts on monitored hosts, acknowledging events and closing problems.

Install it from PyPI with `uvx zabbix-mcp` or `pip install zabbix-mcp`. You need Python 3.11 to 3.15 and a reachable Zabbix server in the 6.0 to 7.4 range, since the `zabbix-utils` client refuses to connect outside it unless `ZABBIX_SKIP_VERSION_CHECK=true` is set. Set `ZABBIX_URL` and `ZABBIX_TOKEN`, or `ZABBIX_USER` with `ZABBIX_PASSWORD`, before starting the server.

\`READ_ONLY_MODE=true` turns off every write operation, which is the setting to pick if the agent should only look. Tool exposure narrows through `DISABLED_TAGS`, and request volume is capped by `RATE_LIMIT_ENABLED`, `RATE_LIMIT_MAX_REQUESTS` and `RATE_LIMIT_WINDOW_MINUTES`. Three transports are available: STDIO, SSE and HTTP. The Docker image serves HTTP Streamable on port 8000 at `/mcp`, guarded by the `MCP_HTTP_BEARER_TOKEN` bearer token.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `ZABBIX_URL`, `ZABBIX_TOKEN`, `ZABBIX_USER`, `ZABBIX_PASSWORD`, `ZABBIX_VERIFY_SSL`, `ZABBIX_TIMEOUT`, `ZABBIX_SKIP_VERSION_CHECK`, `READ_ONLY_MODE`, `DISABLED_TAGS`, `LOG_LEVEL` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env ZABBIX_URL=<ZABBIX_URL> --env ZABBIX_TOKEN=<ZABBIX_TOKEN> --env ZABBIX_USER=<ZABBIX_USER> --env ZABBIX_PASSWORD=<ZABBIX_PASSWORD> --env ZABBIX_VERIFY_SSL=<ZABBIX_VERIFY_SSL> --transport stdio zabbix-mcp -- uvx zabbix-mcp
```
Replace <…> with your own values. 13 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from zabbix-mcp <command>

### Codex

**Platform CLI**
```bash
codex mcp add zabbix-mcp --env ZABBIX_URL=<ZABBIX_URL> --env ZABBIX_TOKEN=<ZABBIX_TOKEN> --env ZABBIX_USER=<ZABBIX_USER> --env ZABBIX_PASSWORD=<ZABBIX_PASSWORD> --env ZABBIX_VERIFY_SSL=<ZABBIX_VERIFY_SSL> -- uvx zabbix-mcp
```
Replace <…> with your own values. 13 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from zabbix-mcp <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "zabbix-mcp": {
            "command": "uvx",
            "args": [
                "zabbix-mcp"
            ],
            "env": {
                "ZABBIX_URL": "<ZABBIX_URL>",
                "ZABBIX_TOKEN": "<ZABBIX_TOKEN>",
                "ZABBIX_USER": "<ZABBIX_USER>",
                "ZABBIX_PASSWORD": "<ZABBIX_PASSWORD>",
                "ZABBIX_VERIFY_SSL": "<ZABBIX_VERIFY_SSL>"
            }
        }
    }
}
```
Replace <…> with your own values. 13 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from zabbix-mcp <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "zabbix-mcp": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "zabbix-mcp"
            ],
            "env": {
                "ZABBIX_URL": "<ZABBIX_URL>",
                "ZABBIX_TOKEN": "<ZABBIX_TOKEN>",
                "ZABBIX_USER": "<ZABBIX_USER>",
                "ZABBIX_PASSWORD": "<ZABBIX_PASSWORD>",
                "ZABBIX_VERIFY_SSL": "<ZABBIX_VERIFY_SSL>"
            }
        }
    }
}
```
Replace <…> with your own values. 13 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from zabbix-mcp <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e ZABBIX_URL=<ZABBIX_URL> -e ZABBIX_TOKEN=<ZABBIX_TOKEN> -e ZABBIX_USER=<ZABBIX_USER> -e ZABBIX_PASSWORD=<ZABBIX_PASSWORD> -e ZABBIX_VERIFY_SSL=<ZABBIX_VERIFY_SSL> zabbix-mcp uvx zabbix-mcp
```
Replace <…> with your own values. 13 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from zabbix-mcp <command>

## When to use it
- see which hosts are currently in a problem state
- pull item history for a given time range
- schedule a maintenance window before work on a host
- acknowledge an event and close a problem from the chat
- find hosts by group and template without clicking through the web UI

## Example prompts
- List every Zabbix problem with Disaster severity or higher
- Create a two-hour maintenance window for host `db-01`
- Show me the history for the `CPU utilization` item over the last day

## Similar
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [Oh My Posh Validator](https://affpapa.org/en/nevibecode/mcp/oh-my-posh-validator.md) — MCP server · ★ 23643
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18727
- [Coder](https://affpapa.org/en/nevibecode/mcp/coder.md) — MCP server · ★ 17160
- [mcp](https://affpapa.org/en/nevibecode/mcp/kubeshark-mcp.md) — MCP server · ★ 12109

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
