Zabbix MCP Server

Community Other

Zabbix integration for hosts, items, triggers, templates, problems, data and more.

Install

The installation steps are in the documentation below. Documentation

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Zabbix MCP Server
  2. Why Zabbix MCP Server?
  3. The 3 Tools
  4. Quick Start
  5. Option 3: Run with docker
  6. Environment Variables
  7. Usage Examples
  8. Security Features
  9. MCP Client Configuration
  10. Troubleshooting
  11. Contributing
  12. License
  13. Acknowledgments

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

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

Frequently asked questions

What is Zabbix MCP Server?

Zabbix integration for hosts, items, triggers, templates, problems, data and more.

How do I install Zabbix MCP Server?

Follow the installation steps in its documentation, shown on this page and in its repository.

Is Zabbix MCP Server open source?

Yes. Its code is on GitHub under the GPL-3.0 license.

Who maintains Zabbix MCP Server?

It is published by mpeirone. AI.tn lists it but does not maintain or endorse it.

From the community awesome-mcp-servers lists and the project's GitHub repository. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.