Parametry konfiguracji: serwer Zabbix MCP

Przegląd

serwer MCP Zabbix to proces umożliwiający agentom AI pracę z Zabbix za pomocą protokołu Model Context Protocol (MCP).

W tej sekcji wymieniono parametry obsługiwane przez plik konfiguracyjny serwera MCP Zabbix (zabbix_mcp_server.conf).

Parametry są wymienione bez dodatkowych informacji. Kliknij parametr, aby wyświetlić pełne szczegóły.

Parametr Opis
AllowedIP Lista adresów IP klientów MCP rozdzielonych przecinkami, opcjonalnie w notacji CIDR, lub nazw DNS klientów MCP.
AllowTool Reguła wieloznaczna zezwalająca na użycie narzędzia.
AllowToolRegexp Reguła wyrażenia regularnego zezwalająca na użycie narzędzi.
DebugLevel Poziom debugowania.
DenyTool Reguła wieloznaczna odmawiająca użycia narzędzia.
DenyToolRegexp Reguła wyrażenia regularnego odmawiająca użycia narzędzi.
FrontendURL Punkt końcowy API Zabbix.
IgnoreURLCertErrors Określa sposób obsługi błędów walidacji certyfikatu TLS podczas uzyskiwania dostępu do API Zabbix.
ListenIP Adres IP, na którym nasłuchiwać.
ListenPort Port, na którym nasłuchiwać.
LogFile Nazwa pliku dziennika.
LogFileSize Maksymalny rozmiar pliku dziennika.
LogType Typ danych wyjściowych dziennika.
MaxResponseSize Maksymalny rozmiar odpowiedzi zwracanej przez narzędzie odczytu.
PidFile Nazwa pliku PID.
Timeout Maksymalny czas (w sekundach) oczekiwania na odpowiedź z API Zabbix.
TLSAccept Typ akceptowanych połączeń przychodzących.
TLSCertFile Pełna ścieżka do pliku zawierającego certyfikat serwera lub łańcuch certyfikatów.
TLSKeyFile Pełna ścieżka do pliku zawierającego klucz prywatny serwera.
ToolPrefix Prefiks dodawany do nazw wszystkich narzędzi.

Wszystkie parametry są opcjonalne, chyba że wyraźnie zaznaczono, że dany parametr jest wymagany.

Należy pamiętać, że:

  • Wartości domyślne odzwierciedlają wartości domyślne procesu, a nie wartości w dostarczonych plikach konfiguracyjnych;
  • Wartości obsługują zmienne środowiskowe w formacie ${NAME};
  • Zabbix obsługuje pliki konfiguracyjne wyłącznie w kodowaniu UTF-8 bez BOM;
  • Komentarze rozpoczynające się od # są obsługiwane tylko na początku wiersza.

Szczegóły parametrów

AllowedIP

Lista rozdzielanych przecinkami adresów IP, opcjonalnie w notacji CIDR, lub nazw DNS klientów MCP. Połączenia przychodzące będą akceptowane wyłącznie z hostów wymienionych na tej liście.

Przykład:

AllowedIP=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,mcp-client.example.com

Wymagane: tak

AllowTool

Reguła z symbolem wieloznacznym zezwalająca na użycie narzędzia. Parametr można określić wielokrotnie.
Wzorce z symbolami wieloznacznymi używają składni klucza pozycji, w której * oznacza dowolne znaki. Reguła jest dopasowywana do zwykłej nazwy narzędzia i ignoruje ToolPrefix.
Wszystkie reguły AllowTool, DenyTool, AllowToolRegexp i DenyToolRegexp tworzą jedną listę w kolejności, w jakiej zostały określone; pierwsza pasująca reguła decyduje o wyniku. Narzędzie, do którego nie pasuje żadna reguła, jest dozwolone.

Przykład:

AllowTool=host_get
AllowToolRegexp

Reguła wyrażenia regularnego zezwalająca na używanie narzędzi. Parametr można określić wielokrotnie.
Wyrażenia regularne używają składni RE2 i dopasowują dowolną część zwykłej nazwy narzędzia, chyba że zastosowano kotwice.

Przykład:

AllowToolRegexp=^(host|hostgroup|trigger|problem)_get$
DebugLevel

Określ poziom debugowania:

  • 0 - podstawowe informacje o uruchamianiu i zatrzymywaniu procesów Zabbix;
  • 1 - informacje krytyczne;
  • 2 - informacje o błędach;
  • 3 - ostrzeżenia;
  • 4 - debugowanie (generuje dużą ilość informacji);
  • 5 - rozszerzone debugowanie (generuje jeszcze więcej informacji).

Wartość domyślna: 3
Zakres: 0-5

DenyTool

Reguła z symbolem wieloznacznym, która blokuje narzędzie. Parametr można określić wielokrotnie.
Zablokowane narzędzie nie jest uwzględniane na liście narzędzi i nie można go wywołać. Szczegółowe informacje zawiera sekcja AllowTool.

Przykład:

DenyTool=maintenance_delete
DenyToolRegexp

Reguła wyrażenia regularnego, która blokuje narzędzia. Parametr można określić wielokrotnie.
Szczegółowe informacje zawiera sekcja AllowToolRegexp.

Przykład:

DenyToolRegexp=^problem_(close|suppress)$
FrontendURL

Punkt końcowy API Zabbix: adres URL frontend Zabbix kończący się ciągiem api_jsonrpc.php.

Przykład:

FrontendURL=https://zabbix.example.com/api_jsonrpc.php

Wymagane: tak

IgnoreURLCertErrors

Określa sposób obsługi błędów walidacji certyfikatu TLS podczas uzyskiwania dostępu do API Zabbix:
false - nie ignoruj błędów certyfikatu;
true - ignoruj błędy certyfikatu (używaj tylko w środowisku deweloperskim).

Wartość domyślna: false

ListenIP

Adres IP, na którym nasłuchiwać.

Wartość domyślna: 0.0.0.0

ListenPort

Port, na którym nasłuchuje. Ścieżka punktu końcowego MCP to /mcp.

Wartość domyślna: 8443
Zakres: 1024-32767

LogFile

Nazwa pliku dziennika.

Wartość domyślna: /tmp/zabbix_mcp_server.log

Wymagane: Nie

LogFileSize

Maksymalny rozmiar pliku dziennika w MB.
0 - wyłącza automatyczną rotację dziennika.

Wartość domyślna: 1
Zakres: 0-1024

LogType

Typ danych wyjściowych dziennika:

  • file - zapisuje dziennik w pliku określonym przez parametr LogFile;
  • system - zapisuje dziennik w syslog;
  • console - zapisuje dziennik na standardowym wyjściu.

Wartość domyślna: file

MaxResponseSize

Maksymalny rozmiar odpowiedzi zwracanej przez narzędzie odczytu. Osiągnięcie tego limitu lub wartości argumentu limit narzędzia — w zależności od tego, co nastąpi wcześniej — zatrzymuje odpowiedź.
Obsługuje przyrostki jednostek.

Wartość domyślna: 64K
Zakres: 16K-256K

PidFile

Nazwa pliku PID.

Wartość domyślna: /tmp/zabbix_mcp_server.pid

Limit czasu

Maksymalny czas (w sekundach) oczekiwania na odpowiedź z API Zabbix.

Wartość domyślna: 10
Zakres: 3-30

TLSAccept

Jakie połączenia przychodzące akceptować:

  • unencrypted - akceptowanie połączeń bez szyfrowania (domyślnie);
  • cert - akceptowanie połączeń TLS z certyfikatem.

Wartość domyślna: unencrypted

TLSCertFile

Pełna ścieżka do pliku zawierającego certyfikat serwera lub łańcuch certyfikatów.

Wymagane: Tak, jeśli parametr TLSAccept jest ustawiony na cert; w przeciwnym razie nie

TLSKeyFile

Pełna ścieżka do pliku zawierającego klucz prywatny serwera.

Wymagane: Tak, jeśli parametr TLSAccept ma wartość cert; w przeciwnym razie nie

ToolPrefix

Prefiks dodawany do nazw wszystkich narzędzi, na przykład w celu uniknięcia konfliktów nazw z narzędziami innych serwerów MCP. Na przykład przy ustawieniu ToolPrefix=zbx_ narzędzie host_get jest udostępniane jako zbx_host_get.
Dozwolone znaki: litery, cyfry, podkreślenie (_), łącznik (-) i kropka (.).
Reguły dostępu do narzędzi odnoszą się do nazw narzędzi bez prefiksu.

Przykład:

ToolPrefix=zbx_