Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

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+.

zabbix-mcp-server MCP server

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_apiExecute any Zabbix API method
zabbix_api_docsGet documentation for any API method
zabbix_api_listDiscover 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

VariableDescriptionExample
ZABBIX_URLZabbix server URLhttps://your-zabbix-server.com

Authentication (choose one)

VariableDescription
ZABBIX_TOKENAPI token (recommended)
ZABBIX_USER + ZABBIX_PASSWORDUsername and password

Security

VariableDefaultDescription
READ_ONLYfalseSet to true to allow only read operations
VERIFY_SSLtrueEnable/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_CHECKfalseSkip Zabbix version compatibility check
ZABBIX_API_TIMEOUT30API request timeout in seconds

Transport

VariableDefaultDescription
ZABBIX_MCP_TRANSPORTstdioTransport type: stdio or streamable-http
ZABBIX_MCP_HOST127.0.0.1HTTP server host (when using streamable-http)
ZABBIX_MCP_PORT8000HTTP server port (when using streamable-http)
ZABBIX_MCP_STATELESS_HTTPfalseStateless HTTP mode
AUTH_TYPE-Must be no-auth for HTTP transport (when using streamable-http)

Debug

VariableDefaultDescription
DEBUGfalseSet 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_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.py

Contributing

See CONTRIBUTING.md for development guidelines.

License

GPLv3 License - see LICENSE for details.

Acknowledgments

关于 About

🔌 Complete MCP server for Zabbix integration — Connect AI assistants to Zabbix monitoring with a single unified tool covering 100% of Zabbix APIs. Includes read-only mode and documentation tools for seamless exploration of hosts, items, triggers, templates, problems, and more.

语言 Languages

Python97.8%
Dockerfile2.2%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
33
Total Commits
峰值: 12次/周
Less
More

核心贡献者 Contributors