Monitoring Python ★ 232

mpeirone/zabbix-mcp-server

Zabbix entegrasyonu sunucular, itemler, triggerlar, şablonlar, problemler, veriler ve daha fazlası için.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "mpeirone-zabbix-mcp-server": {
      "command": "python",
      "args": [
        "-m",
        "zabbix_mcp_server"
      ]
    }
  }
}

Zabbix MCP Server

License: GPL v3 Python 3.10+ SafeSkill

Zabbix API'nin tamamına sadece 3 araç aracılığıyla erişim sağlayan hafif bir Model Context Protocol (MCP) sunucusu. Zabbix 6.0+ ile uyumlu.

Neden Zabbix MCP Server?

  • Tam API Kapsamı - 100+'dan fazla Zabbix API metoduna unified bir arayüz aracılığıyla erişin
  • Hafif Context - LLM context'ini minimal tutmak için 50+ bireysel araç yerine sadece 3 araç
  • Her Zaman Güncel - Mevcut ve gelecekteki Zabbix API metodlarıyla otomatik olarak çalışır
  • Zabbix 6.0+ Uyumlu - Zabbix 6.0, 6.4, 7.0 ve daha yeni sürümleri destekler

3 Araç

Araç Amaç
zabbix_api Herhangi bir Zabbix API metodunu execute edin
zabbix_api_docs Herhangi bir API metodu için dokumentasyon alın
zabbix_api_list Mevcut API nesnelerini ve metodlarını keşfedin

Hızlı Başlangıç

Seçenek 1: Claude Code Entegrasyonu

Claude Code MCP konfigürasyonunuza ekleyin:

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

Seçenek 2: uv ile Çalıştırın

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

# Ortam değişkenlerini yapılandırın
export ZABBIX_URL=https://your-zabbix-server.com
export ZABBIX_TOKEN=your_api_token

# Sunucuyu başlatın
uv run python scripts/start_server.py

Bağlantıyı Test Edin

uv run python scripts/test_server.py

Seçenek 3: Docker ile Çalıştırın

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

# docker-compose kullanarak
docker compose up -d

# Veya manuel olarak derleyin
docker build -t zabbix-mcp-server .
docker run -e ZABBIX_URL=https://zabbix.example.com -e ZABBIX_TOKEN=your_token zabbix-mcp-server

Ortam Değişkenleri

Gerekli

Değişken Açıklama Örnek
ZABBIX_URL Zabbix sunucusu URL'si https://your-zabbix-server.com

Kimlik Doğrulaması (birini seçin)

Değişken Açıklama
ZABBIX_TOKEN API token'ı (önerilir)
ZABBIX_USER + ZABBIX_PASSWORD Kullanıcı adı ve şifre

Güvenlik

Değişken Varsayılan Açıklama
READ_ONLY false Sadece okuma işlemlerine izin vermek için true olarak ayarlayın
VERIFY_SSL true SSL doğrulamasını etkinleştirin/devre dışı bırakın
ZABBIX_API_WHITELIST .* İzin verilen API metodları için virgülle ayrılmış regex desenler
ZABBIX_API_BLACKLIST (boş) Engellenen API metodları için virgülle ayrılmış regex desenler
ZABBIX_SKIP_VERSION_CHECK false Zabbix sürüm uyumluluğu kontrolünü atlayın
ZABBIX_API_TIMEOUT 30 API isteği timeout'u saniye cinsinden

Transport

Değişken Varsayılan Açıklama
ZABBIX_MCP_TRANSPORT stdio Transport türü: stdio veya streamable-http
ZABBIX_MCP_HOST 127.0.0.1 HTTP sunucusu host'u (streamable-http kullanırken)
ZABBIX_MCP_PORT 8000 HTTP sunucusu port'u (streamable-http kullanırken)
ZABBIX_MCP_STATELESS_HTTP false Stateless HTTP modu
AUTH_TYPE - HTTP transport için no-auth olmalıdır (streamable-http kullanırken)

Debug

Değişken Varsayılan Açıklama
DEBUG false Verbose logging için true olarak ayarlayın

Kullanım Örnekleri

Host'ları Alın

zabbix_api(method='host.get', params={'output': ['hostid', 'name']})

Problem'leri Alın

zabbix_api(method='problem.get', params={'output': 'extend', 'recent': True})

Host Oluşturun

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'}]
})

Metod Dokumentasyonunu Alın

zabbix_api_docs(method='host.create')

Mevcut Metodları Listeleyin

zabbix_api_list()              # Tüm nesneler ve metodlar
zabbix_api_list(object='host')  # Yalnızca host metodları

Güvenlik Özellikleri

Sadece Okuma Modu

Tüm yazma işlemlerini engellemek için READ_ONLY=true ayarlayın:

export READ_ONLY=true

Sadece get, version, check ve export işlemlerine izin verilecektir.

API Metodu Filtreleme

Whitelist/blacklist desenlerini kullanarak hangi API metodlarının çağrılabileceğini kontrol edin:

# Sadece host.* ve item.get metodlarına izin verin
export ZABBIX_API_WHITELIST="host\..*,item\.get"

# Tüm delete ve create işlemlerini engelleyin
export ZABBIX_API_BLACKLIST=".*\.delete,.*\.create"

Her ikisi de virgülle ayrılmış regex desenlerini destekler. Blacklist önce kontrol edilir.

MCP Client Konfigürasyonu

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) veya %APPDATA%\Claude\claude_desktop_config.json (Windows) dosyasına ekleyin:

{
  "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"
      }
    }
  }
}

Sorun Giderme

Bağlantı Sorunları

  • ZABBIX_URL erişilebilir olup olmadığını doğrulayın
  • Kimlik doğrulama kimlik bilgilerini kontrol edin
  • Zabbix API'nin etkinleştirildiğinden emin olun

İzin Hataları

  • Zabbix kullanıcı izinlerini doğrulayın
  • READ_ONLY modunun etkin olup olmadığını kontrol edin

Metod Engellendi

"Method is not in whitelist" veya "Method is blacklisted" hatasını görürseniz:

  • ZABBIX_API_WHITELIST ve ZABBIX_API_BLACKLIST desenlerini gözden geçirin
  • Regex desenlerinizin tam metod adıyla eşleştiğinden emin olun (örn. host.get)

Debug Modu

export DEBUG=true
uv run python scripts/start_server.py

Katkıda Bulunma

Geliştirme yönergeleri için CONTRIBUTING.md dosyasına bakın.

Lisans

GPLv3 Lisansı - ayrıntılar için LICENSE dosyasına bakın.

Teşekkürler

Benzer MCP sunucuları

Daha fazla: Monitoring →