Zabbix MCP server for Claude Code, n8n, and any MCP-compatible client
zbbx-mcp
Zabbix MCP server for Claude Code, n8n, and any MCP-compatible client.
Gives LLMs direct access to your Zabbix monitoring — hosts, problems, host groups, and acknowledgements.
Quick start
1. Get a Zabbix API token
In Zabbix UI: User settings → API tokens → Create API token.
2. Add to Claude Code
claude mcp add zabbix \
-e ZABBIX_URL=https://your-zabbix.example.com \
-e ZABBIX_TOKEN=your_api_token \
-- uvx --from "git+https://github.com/velesnitski/zbbx-mcp" zbbx-mcp
3. Verify
You: show current problems with severity >= Warning
What it does
| Tool | Description |
|------|-------------|
| search_hosts | Search hosts by name pattern or host group |
| get_host | Get full details of a specific host |
| get_problems | Get current problems (active triggers) with filtering |
| get_problem_detail | Get full details of a specific problem/event |
| acknowledge_problem | Acknowledge a problem and optionally close it |
| get_hostgroups | Get host groups with optional host listing |
Environment variables
| Variable | Required | Description |
|----------|----------|-------------|
| ZABBIX_URL | Yes | Zabbix server URL (e.g., https://zabbix.example.com) |
| ZABBIX_TOKEN | Yes | Zabbix API token |
| ZABBIX_READ_ONLY | No | Set to true to disable write operations |
| DISABLED_TOOLS | No | Comma-separated tool names to disable |
| ZABBIX_ALLOW_HTTP | No | Set to 1 to allow non-HTTPS connections |
Multi-instance setup
Connect to multiple Zabbix servers simultaneously:
claude mcp add zabbix \
-e ZABBIX_INSTANCES=prod,staging \
-e ZABBIX_PROD_URL=https://zabbix.prod.company.com \
-e ZABBIX_PROD_TOKEN=prod_token \
-e ZABBIX_STAGING_URL=https://zabbix.staging.company.com \
-e ZABBIX_STAGING_TOKEN=staging_token \
-- uvx --from "git+https://github.com/velesnitski/zbbx-mcp" zbbx-mcp
Then specify the instance in your queries:
You: show problems on the staging instance
Alternative installation
From local clone
git clone https://github.com/velesnitski/zbbx-mcp.git
cd zbbx-mcp
pip install -e .
claude mcp add zabbix \
-e ZABBIX_URL=https://your-zabbix.example.com \
-e ZABBIX_TOKEN=your_api_token \
-- zbbx-mcp
HTTP transport (for n8n, Make.com, etc.)
ZABBIX_URL=https://your-zabbix.example.com \
ZABBIX_TOKEN=your_token \
zbbx-mcp --transport sse --port 8000
Development
git clone https://github.com/velesnitski/zbbx-mcp.git
cd zbbx-mcp
pip install -e ".[test]"
pytest
Security
- API tokens are passed via environment variables, never hardcoded
- HTTPS enforced by default (override with
ZABBIX_ALLOW_HTTP=1) - Error messages truncated to 200 chars to prevent internal detail leaks
- Optional read-only mode via
ZABBIX_READ_ONLY=true - Individual tools can be disabled via
DISABLED_TOOLS
Requirements
- Python 3.10+
- Zabbix 6.0+ (JSON-RPC API)
- uv (recommended) or pip
License
MIT