Track MCP LogoTrack MCP
Track MCP LogoTrack MCP

The world's largest repository of Model Context Protocol servers. Discover, explore, and submit MCP tools.

Product

  • Categories
  • Top MCP
  • New & Updated

Company

  • About

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy

ยฉ 2025 TrackMCP. All rights reserved.

Built with โค๏ธ by Krishna Goyal

    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.

    91 stars
    Python
    Updated Nov 3, 2025

    Documentation

    Zabbix MCP Server

    License: MIT

    Python 3.10+

    A comprehensive Model Context Protocol (MCP) server for Zabbix integration using FastMCP and python-zabbix-utils. This server provides complete access to Zabbix API functionality through MCP-compatible tools.

    Features

    ๐Ÿ  Host Management

    • host_get - Retrieve hosts with advanced filtering
    • host_create - Create new hosts with interfaces and templates
    • host_update - Update existing host configurations
    • host_delete - Remove hosts from monitoring

    ๐Ÿ‘ฅ Host Group Management

    • hostgroup_get - Retrieve host groups
    • hostgroup_create - Create new host groups
    • hostgroup_update - Modify existing host groups
    • hostgroup_delete - Remove host groups

    ๐Ÿ“Š Item Management

    • item_get - Retrieve monitoring items with filtering
    • item_create - Create new monitoring items
    • item_update - Update existing items
    • item_delete - Remove monitoring items

    โš ๏ธ Trigger Management

    • trigger_get - Retrieve triggers and alerts
    • trigger_create - Create new triggers
    • trigger_update - Modify existing triggers
    • trigger_delete - Remove triggers

    ๐Ÿ“‹ Template Management

    • template_get - Retrieve monitoring templates
    • template_create - Create new templates
    • template_update - Update existing templates
    • template_delete - Remove templates

    ๐Ÿšจ Problem & Event Management

    • problem_get - Retrieve current problems and issues
    • event_get - Get historical events
    • event_acknowledge - Acknowledge events and problems

    ๐Ÿ“ˆ Data Retrieval

    • history_get - Access historical monitoring data
    • trend_get - Retrieve trend data and statistics

    ๐Ÿ‘ค User Management

    • user_get - Retrieve user accounts
    • user_create - Create new users
    • user_update - Update user information
    • user_delete - Remove user accounts

    ๐Ÿ”— Proxy Management

    • proxy_get - Retrieve Zabbix proxies with filtering
    • proxy_create - Create new proxies
    • proxy_update - Update existing proxies
    • proxy_delete - Remove proxies

    ๐Ÿ”ง Maintenance Management

    • maintenance_get - Retrieve maintenance periods
    • maintenance_create - Schedule maintenance windows
    • maintenance_update - Modify maintenance periods
    • maintenance_delete - Remove maintenance schedules

    ๐Ÿ“Š Additional Features

    • graph_get - Retrieve graph configurations
    • discoveryrule_get - Get discovery rules
    • itemprototype_get - Retrieve item prototypes
    • configuration_export - Export Zabbix configurations
    • configuration_import - Import configurations
    • apiinfo_version - Get API version information

    Installation

    Prerequisites

    • Python 3.10 or higher
    • uv package manager
    • Access to a Zabbix server with API enabled

    Quick Start

    1. Clone the repository:

    bash
    git clone https://github.com/mpeirone/zabbix-mcp-server.git
       cd zabbix-mcp-server

    2. Install dependencies:

    bash
    uv sync

    3. Configure environment variables:

    bash
    cp config/.env.example .env
       # Edit .env with your Zabbix server details

    4. Test the installation:

    bash
    uv run python scripts/test_server.py

    Configuration

    Required Environment Variables

    • ZABBIX_URL - Your Zabbix server API endpoint (e.g., https://zabbix.example.com)

    Authentication (choose one method)

    Method 1: API Token (Recommended)

    • ZABBIX_TOKEN - Your Zabbix API token

    Method 2: Username/Password

    • ZABBIX_USER - Your Zabbix username
    • ZABBIX_PASSWORD - Your Zabbix password

    Optional Configuration

    • READ_ONLY - Set to true, 1, or yes to enable read-only mode (only GET operations allowed)
    • VERIFY_SSL - Enable/disable SSL certificate verification (default: true)

    Transport Configuration

    • ZABBIX_MCP_TRANSPORT - Transport type: stdio (default) or streamable-http

    HTTP Transport Configuration (only used when ZABBIX_MCP_TRANSPORT=streamable-http):

    • ZABBIX_MCP_HOST - Server host (default: 127.0.0.1)
    • ZABBIX_MCP_PORT - Server port (default: 8000)
    • ZABBIX_MCP_STATELESS_HTTP - Stateless mode (default: false)
    • AUTH_TYPE - Must be set to no-auth for streamable-http transport

    Usage

    Running the Server

    With startup script (recommended):

    bash
    uv run python scripts/start_server.py

    Direct execution:

    bash
    uv run python src/zabbix_mcp_server.py

    Transport Options

    The server supports two transport methods:

    STDIO Transport (Default)

    Standard input/output transport for MCP clients like Claude Desktop:

    bash
    # Set in .env or environment
    ZABBIX_MCP_TRANSPORT=stdio

    HTTP Transport

    HTTP-based transport for web integrations:

    bash
    # Set in .env or environment
    ZABBIX_MCP_TRANSPORT=streamable-http
    ZABBIX_MCP_HOST=127.0.0.1
    ZABBIX_MCP_PORT=8000
    ZABBIX_MCP_STATELESS_HTTP=false
    AUTH_TYPE=no-auth

    Note: When using streamable-http transport, AUTH_TYPE must be set to no-auth.

    Testing

    Run test suite:

    bash
    uv run python scripts/test_server.py

    Read-Only Mode

    When READ_ONLY=true, the server will only expose GET operations (retrieve data) and block all create, update, and delete operations. This is useful for:

    • ๐Ÿ“Š Monitoring dashboards
    • ๐Ÿ” Read-only integrations
    • ๐Ÿ”’ Security-conscious environments
    • ๐Ÿ›ก๏ธ Preventing accidental modifications

    Example Tool Calls

    Get all hosts:

    python
    host_get()

    Get hosts in specific group:

    python
    host_get(groupids=["1"])

    Create a new host:

    python
    host_create(
        host="server-01",
        groups=[{"groupid": "1"}],
        interfaces=[{
            "type": 1,
            "main": 1,
            "useip": 1,
            "ip": "192.168.1.100",
            "dns": "",
            "port": "10050"
        }]
    )

    Get recent problems:

    python
    problem_get(recent=True, limit=10)

    Get history data:

    python
    history_get(
        itemids=["12345"],
        time_from=1640995200,
        limit=100
    )

    Get all proxies:

    python
    proxy_get()

    Create a new active proxy:

    python
    proxy_create(
        host="proxy-01",
        status=5,
        description="Main datacenter proxy"
    )

    MCP Integration

    This server is designed to work with MCP-compatible clients like Claude Desktop. See MCP_SETUP.md for detailed integration instructions.

    Docker Support

    Using Docker Compose

    1. Configure environment:

    bash
    cp config/.env.example .env
       # Edit .env with your settings

    2. Run with Docker Compose:

    bash
    docker compose up -d

    Building Docker Image

    bash
    docker build -t zabbix-mcp-server .

    Development

    Project Structure

    code
    zabbix-mcp-server/
    โ”œโ”€โ”€ src/
    โ”‚   โ””โ”€โ”€ zabbix_mcp_server.py    # Main server implementation
    โ”œโ”€โ”€ scripts/
    โ”‚   โ”œโ”€โ”€ start_server.py         # Startup script with validation
    โ”‚   โ””โ”€โ”€ test_server.py          # Test script
    โ”œโ”€โ”€ config/
    โ”‚   โ”œโ”€โ”€ .env.example           # Environment configuration template
    โ”‚   โ””โ”€โ”€ mcp.json               # MCP client configuration example
    โ”œโ”€โ”€ pyproject.toml             # Python project configuration
    โ”œโ”€โ”€ requirements.txt           # Dependencies
    โ”œโ”€โ”€ Dockerfile                 # Docker configuration
    โ”œโ”€โ”€ docker-compose.yml         # Docker Compose setup
    โ”œโ”€โ”€ README.md                  # This file
    โ”œโ”€โ”€ MCP_SETUP.md              # MCP integration guide
    โ”œโ”€โ”€ CONTRIBUTING.md           # Contribution guidelines
    โ”œโ”€โ”€ CHANGELOG.md              # Version history
    โ””โ”€โ”€ LICENSE                   # MIT license

    Contributing

    1. Fork the repository

    2. Create a feature branch (git checkout -b feature/amazing-feature)

    3. Commit your changes (git commit -m 'Add amazing feature')

    4. Push to the branch (git push origin feature/amazing-feature)

    5. Open a Pull Request

    Running Tests

    bash
    # Test server functionality
    uv run python scripts/test_server.py
    
    # Test with Docker
    docker-compose exec zabbix-mcp python scripts/test_server.py

    Error Handling

    The server includes comprehensive error handling:

    • โœ… Authentication errors are clearly reported
    • ๐Ÿ”’ Read-only mode violations are blocked with descriptive messages
    • โœ”๏ธ Invalid parameters are validated
    • ๐ŸŒ Network and API errors are properly formatted
    • ๐Ÿ“ Detailed logging for troubleshooting

    Security Considerations

    • ๐Ÿ”‘ Use API tokens instead of username/password when possible
    • ๐Ÿ”’ Enable read-only mode for monitoring-only use cases
    • ๐Ÿ›ก๏ธ Secure your environment variables
    • ๐Ÿ” Use HTTPS for Zabbix server connections
    • ๐Ÿ”„ Regularly rotate API tokens
    • ๐Ÿ“ Store configuration files securely

    Troubleshooting

    Common Issues

    Connection Failed:

    • Verify ZABBIX_URL is correct and accessible
    • Check authentication credentials
    • Ensure Zabbix API is enabled

    Permission Denied:

    • Verify user has sufficient Zabbix permissions
    • Check if read-only mode is enabled when trying to modify data

    Tool Not Found:

    • Ensure all dependencies are installed: uv sync
    • Verify Python version compatibility (3.10+)

    Debug Mode

    Set environment variable for detailed logging:

    bash
    export DEBUG=1
    uv run python scripts/start_server.py

    Dependencies

    • FastMCP - MCP server framework
    • python-zabbix-utils - Official Zabbix Python library

    License

    This project is licensed under the MIT License - see the LICENSE file for details.

    Acknowledgments

    • Zabbix for the monitoring platform
    • Model Context Protocol for the integration standard
    • FastMCP for the server framework

    Support

    • ๐Ÿ“– Documentation
    • ๐Ÿ› Issue Tracker
    • ๐Ÿ’ฌ Discussions

    ---

    Made with โค๏ธ for the Zabbix and MCP communities

    Similar MCP

    Based on tags & features

    • AS

      Aseprite Mcp

      Pythonยท
      92
    • IS

      Isaac Sim Mcp

      Pythonยท
      83
    • FH

      Fhir Mcp Server

      Pythonยท
      55
    • PL

      Playwright Plus Python Mcp

      Pythonยท
      154

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScriptยท
      22.1k
    • SE

      Serena

      Pythonยท
      14.5k
    • MC

      Mcp Playwright

      TypeScriptยท
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScriptยท
      3.0k
    View All MCP Servers

    Similar MCP

    Based on tags & features

    • AS

      Aseprite Mcp

      Pythonยท
      92
    • IS

      Isaac Sim Mcp

      Pythonยท
      83
    • FH

      Fhir Mcp Server

      Pythonยท
      55
    • PL

      Playwright Plus Python Mcp

      Pythonยท
      154

    Trending MCP

    Most active this week

    • PL

      Playwright Mcp

      TypeScriptยท
      22.1k
    • SE

      Serena

      Pythonยท
      14.5k
    • MC

      Mcp Playwright

      TypeScriptยท
      4.9k
    • MC

      Mcp Server Cloudflare

      TypeScriptยท
      3.0k