zabbix-mcp-server
The zabbix-mcp-server provides comprehensive Zabbix API functionality through an MCP-compatible interface, enabling management and monitoring of your infrastructure.
Host Management: Create, retrieve, update, and delete hosts with advanced configurations
Host Group Management: Perform CRUD operations on host groups
Item Management: Handle monitoring items and their configurations
Trigger Management: Manage alerts and notification conditions
Template Management: Work with monitoring templates
Problem & Event Management: Retrieve problems, historical events, and acknowledge events
Data Retrieval: Access historical monitoring data and trend statistics
User Management: Manage user accounts
Maintenance Management: Schedule and manage maintenance periods
Configuration Management: Handle discovery rules, item prototypes, and user macros
Import/Export: Transfer configurations in JSON or XML formats
API Information: Retrieve Zabbix API version details
Provides Docker support for containerizing and running the Zabbix MCP server with Docker Compose or as a standalone Docker image.
Enables configuration of the Zabbix MCP server through environment variables stored in .env files for settings like server URLs and authentication credentials.
Integrates with GitHub for issue tracking, discussions, and project management related to the Zabbix MCP server development.
Requires Python 3.10+ as the runtime environment for the Zabbix MCP server implementation.
Displays status badges in the README for license information and Python version requirements.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@zabbix-mcp-servershow me the current problems with high severity"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: Orchestrator MCP
The 3 Tools
Tool | Purpose |
| Execute any Zabbix API method |
| Get documentation for any API method |
| 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 server URL |
|
Authentication (choose one)
Variable | Description |
| API token (recommended) |
| Username and password |
Security
Variable | Default | Description |
|
| Set to |
|
| Enable/disable SSL verification |
|
| Comma-separated regex patterns for allowed API methods |
| (empty) | Comma-separated regex patterns for blocked API methods |
|
| Skip Zabbix version compatibility check |
|
| API request timeout in seconds |
Transport
Variable | Default | Description |
|
| Transport type: |
|
| HTTP server host (when using |
|
| HTTP server port (when using |
|
| Stateless HTTP mode |
| - | Must be |
Debug
Variable | Default | Description |
|
| Set to |
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_URLis accessibleCheck authentication credentials
Ensure Zabbix API is enabled
Permission Errors
Verify Zabbix user permissions
Check if
READ_ONLYmode is enabled
Method Blocked
If you see "Method is not in whitelist" or "Method is blacklisted":
Review
ZABBIX_API_WHITELISTandZABBIX_API_BLACKLISTpatternsEnsure 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
Maintenance
Appeared in Searches
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mpeirone/zabbix-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server