trackmcp
Back to directory
mpeirone

zabbix-mcp-server

View on GitHub

๐Ÿ”Œ 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.

91 stars PythonDeveloper Kits Updated Nov 3, 2025

Documentation

Zabbix MCP Server

License: GPL v3
Python 3.10+
SafeSkill

A lightweight Model Context Protocol (MCP) server that provides complete access to the entire Zabbix API through just 3 tools. Compatible with Zabbix 6.0+.

Why Zabbix MCP Server?

  • Complete API Coverage - Access every Zabbix API method (100+) through a unified interface
  • Lightweight Context - Only 3 tools instead of 50+ individual tools, keeping LLM context minimal
  • Always Up-to-Date - Works with current and future Zabbix API methods automatically
  • Zabbix 6.0+ Compatible - Supports Zabbix 6.0, 6.4, 7.0, and newer versions

The 3 Tools

ToolPurpose
`zabbix_api`Execute any Zabbix API method
`zabbix_api_docs`Get documentation for any API method
`zabbix_api_list`Discover available API objects and methods

Quick Start

Option 1: Claude Code Integration

Add to your Claude Code MCP configuration:

bash
claude mcp add zabbix \
  --env ZABBIX_URL=https://your-zabbix-server.com \
  --env ZABBIX_TOKEN=your_api_token \
  -- uvx --from git+https://github.com/mpeirone/zabbix-mcp-server@main zabbix-mcp

Option 2: Run with uv

bash
git clone https://github.com/mpeirone/zabbix-mcp-server.git
cd zabbix-mcp-server
uv sync

# Configure environment
export ZABBIX_URL=https://your-zabbix-server.com
export ZABBIX_TOKEN=your_api_token

# Start the server
uv run python scripts/start_server.py

Test Connection

bash
uv run python scripts/test_server.py

Option 3: Run with docker

bash
git clone https://github.com/mpeirone/zabbix-mcp-server.git
cd zabbix-mcp-server

# Using docker-compose
docker compose up -d

# Or build manually
docker build -t zabbix-mcp-server .
docker run -e ZABBIX_URL=https://zabbix.example.com -e ZABBIX_TOKEN=your_token zabbix-mcp-server

Environment Variables

Required

VariableDescriptionExample
`ZABBIX_URL`Zabbix server URL`https://your-zabbix-server.com`

Authentication (choose one)

VariableDescription
`ZABBIX_TOKEN`API token (recommended)
`ZABBIX_USER` + `ZABBIX_PASSWORD`Username and password

Security

VariableDefaultDescription
`READ_ONLY``false`Set to `true` to allow only read operations
`VERIFY_SSL``true`Enable/disable SSL verification
`ZABBIX_API_WHITELIST``.*`Comma-separated regex patterns for allowed API methods
`ZABBIX_API_BLACKLIST`(empty)Comma-separated regex patterns for blocked API methods
`ZABBIX_SKIP_VERSION_CHECK``false`Skip Zabbix version compatibility check
`ZABBIX_API_TIMEOUT``30`API request timeout in seconds

Transport

VariableDefaultDescription
`ZABBIX_MCP_TRANSPORT``stdio`Transport type: `stdio` or `streamable-http`
`ZABBIX_MCP_HOST``127.0.0.1`HTTP server host (when using `streamable-http`)
`ZABBIX_MCP_PORT``8000`HTTP server port (when using `streamable-http`)
`ZABBIX_MCP_STATELESS_HTTP``false`Stateless HTTP mode
`AUTH_TYPE`-Must be `no-auth` for HTTP transport (when using `streamable-http`)

Debug

VariableDefaultDescription
`DEBUG``false`Set to `true` for verbose logging

Usage Examples

Get Hosts

python
zabbix_api(method='host.get', params={'output': ['hostid', 'name']})

Get Problems

python
zabbix_api(method='problem.get', params={'output': 'extend', 'recent': True})

Create Host

python
zabbix_api(method='host.create', params={
    'host': 'server-01',
    'groups': [{'groupid': '1'}],
    'interfaces': [{'type': 1, 'main': 1, 'useip': 1, 'ip': '192.168.1.100', 'port': '10050'}]
})

Get Method Documentation

python
zabbix_api_docs(method='host.create')

List Available Methods

python
zabbix_api_list()              # All objects and methods
zabbix_api_list(object='host')  # Host methods only

Security Features

Read-Only Mode

Set `READ_ONLY=true` to block all write operations:

bash
export READ_ONLY=true

Only `get`, `version`, `check`, and `export` operations will be allowed.

API Method Filtering

Control which API methods can be called using whitelist/blacklist patterns:

bash
# Allow only host.* and item.get methods
export ZABBIX_API_WHITELIST="host\..*,item\.get"

# Block all delete and create operations
export ZABBIX_API_BLACKLIST=".*\.delete,.*\.create"

Both support comma-separated regex patterns. Blacklist is checked first.

MCP Client Configuration

Claude Desktop

Add to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):

json
{
  "mcpServers": {
    "zabbix": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/mpeirone/zabbix-mcp-server@main", "zabbix-mcp"],
      "env": {
        "ZABBIX_URL": "https://zabbix.example.com",
        "ZABBIX_TOKEN": "your_api_token"
      }
    }
  }
}

Troubleshooting

Connection Issues

  • Verify `ZABBIX_URL` is accessible
  • Check authentication credentials
  • Ensure Zabbix API is enabled

Permission Errors

  • Verify Zabbix user permissions
  • Check if `READ_ONLY` mode is enabled

Method Blocked

If you see "Method is not in whitelist" or "Method is blacklisted":

  • Review `ZABBIX_API_WHITELIST` and `ZABBIX_API_BLACKLIST` patterns
  • Ensure your regex patterns match the full method name (e.g., `host.get`)

Debug Mode

bash
export DEBUG=true
uv run python scripts/start_server.py

Contributing

See CONTRIBUTING.md for development guidelines.

License

GPLv3 License - see LICENSE for details.

Acknowledgments

Frequently asked questions

What is zabbix-mcp-server?

zabbix-mcp-server is ๐Ÿ”Œ 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.

How do I install zabbix-mcp-server?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is zabbix-mcp-server open source?

Yes, it is hosted on GitHub at https://github.com/mpeirone/zabbix-mcp-server and has 91 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP