zabbix-mcp-server
๐ 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.
Documentation
Zabbix MCP Server
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
| Tool | Purpose |
|---|---|
| `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:
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-mcpOption 2: Run with uv
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.pyTest Connection
uv run python scripts/test_server.pyOption 3: Run with docker
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-serverEnvironment Variables
Required
| Variable | Description | Example |
|---|---|---|
| `ZABBIX_URL` | Zabbix server URL | `https://your-zabbix-server.com` |
Authentication (choose one)
| Variable | Description |
|---|---|
| `ZABBIX_TOKEN` | API token (recommended) |
| `ZABBIX_USER` + `ZABBIX_PASSWORD` | Username and password |
Security
| Variable | Default | Description |
|---|---|---|
| `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
| Variable | Default | Description |
|---|---|---|
| `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
| Variable | Default | Description |
|---|---|---|
| `DEBUG` | `false` | Set to `true` for verbose logging |
Usage Examples
Get Hosts
zabbix_api(method='host.get', params={'output': ['hostid', 'name']})Get Problems
zabbix_api(method='problem.get', params={'output': 'extend', 'recent': True})Create Host
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
zabbix_api_docs(method='host.create')List Available Methods
zabbix_api_list() # All objects and methods
zabbix_api_list(object='host') # Host methods onlySecurity Features
Read-Only Mode
Set `READ_ONLY=true` to block all write operations:
export READ_ONLY=trueOnly `get`, `version`, `check`, and `export` operations will be allowed.
API Method Filtering
Control which API methods can be called using whitelist/blacklist patterns:
# 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):
{
"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
export DEBUG=true
uv run python scripts/start_server.pyContributing
See CONTRIBUTING.md for development guidelines.
License
GPLv3 License - see LICENSE for details.
Acknowledgments
- Zabbix - Monitoring platform
- Model Context Protocol - Integration standard
- FastMCP - MCP framework
- python-zabbix-utils - Official Zabbix Python library
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
AWS MCP Servers โ helping you get the most out of AWS, wherever you use MCP. Python-based implementation. Trusted by 6900+ developers.
A simple, secure MCP-to-OpenAPI proxy server Python-based implementation. Trusted by 3500+ developers. Trusted by 3500+ developers.
MCP server that interacts with Obsidian via the Obsidian rest API community plugin Python-based implementation. Trusted by 2300+ developers.
Default Configuration: MCP CLI defaults to using Ollama with the gpt-oss reasoning model for local, privacy-focused operation without requiring API keys.
Official MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
๐ OpenHands: Code Less, Make More for the Model Context Protocol. Enhance AI assistants with powerful integrations. Python-based implementation.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP