Zabbix MCP Server
Zabbix integration for hosts, items, triggers, templates, problems, data and more.
التثبيت
خطوات التثبيت موجودة في التوثيق أدناه. التوثيق
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
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-mcp
Option 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.py
Test Connection
uv run python scripts/test_server.py
Option 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-server
Environment 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 only
Security Features
Read-Only Mode
Set READ_ONLY=true to block all write operations:
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:
# 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 accessible - Check 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_BLACKLISTpatterns - Ensure your regex patterns match the full method name (e.g.,
host.get)
Debug Mode
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
- Zabbix - Monitoring platform
- Model Context Protocol - Integration standard
- FastMCP - MCP framework
- python-zabbix-utils - Official Zabbix Python library
الأسئلة الشائعة
ما هو Zabbix MCP Server؟
Zabbix integration for hosts, items, triggers, templates, problems, data and more.
كيف أثبّت Zabbix MCP Server؟
اتبع خطوات التثبيت في توثيقه المعروض في هذه الصفحة وفي مستودعه.
هل Zabbix MCP Server مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص GPL-3.0.
من يصون Zabbix MCP Server؟
ينشره mpeirone. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من القوائم المجتمعية awesome-mcp-servers ومستودع المشروع على GitHub. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.