Parametri di configurazione: Zabbix MCP server

Panoramica

Il server MCP di Zabbix è un processo che consente agli agent AI di lavorare con Zabbix utilizzando il Model Context Protocol (MCP).

In questa sezione sono elencati i parametri supportati dal file di configurazione del server MCP di Zabbix (zabbix_mcp_server.conf).

I parametri sono elencati senza informazioni aggiuntive. Fare clic sul parametro per visualizzare tutti i dettagli.

Parametro Descrizione
AllowedIP Un elenco di indirizzi IP separati da virgole, facoltativamente in notazione CIDR, o di nomi DNS dei client MCP.
AllowTool Una regola con caratteri jolly che consente uno strumento.
AllowToolRegexp Una regola con espressione regolare che consente gli strumenti.
DebugLevel Il livello di debug.
DenyTool Una regola con caratteri jolly che nega uno strumento.
DenyToolRegexp Una regola con espressione regolare che nega gli strumenti.
FrontendURL L'endpoint dell'API di Zabbix.
IgnoreURLCertErrors Specifica la gestione degli errori di convalida dei certificati TLS durante l'accesso all'API di Zabbix.
ListenIP L'indirizzo IP su cui rimanere in ascolto.
ListenPort La porta su cui rimanere in ascolto.
LogFile Il nome del file di log.
LogFileSize La dimensione massima del file di log.
LogType Il tipo di output del log.
MaxResponseSize La dimensione massima di una risposta restituita da uno strumento di lettura.
PidFile Il nome del file PID.
Timeout Il tempo massimo (in secondi) di attesa di una risposta dall'API di Zabbix.
TLSAccept Quali connessioni in ingresso accettare.
TLSCertFile Il percorso completo di un file contenente il certificato del server o la catena di certificati.
TLSKeyFile Il percorso completo di un file contenente la chiave privata del server.
ToolPrefix Un prefisso aggiunto ai nomi di tutti gli strumenti.

Tutti i parametri sono facoltativi, salvo quando viene esplicitamente indicato che il parametro è obbligatorio.

Si noti che:

  • I valori predefiniti riflettono i valori predefiniti del processo, non i valori presenti nei file di configurazione forniti;
  • I valori supportano le variabili d'ambiente nel formato ${NAME};
  • Zabbix supporta i file di configurazione solo con codifica UTF-8 senza BOM;
  • I commenti che iniziano con # sono supportati solo all'inizio della riga.

Dettagli dei parametri

AllowedIP

Un elenco di indirizzi IP separati da virgole, facoltativamente in notazione CIDR, o di nomi DNS dei client MCP. Le connessioni in entrata saranno accettate solo dagli host elencati qui.

Esempio:

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

Obbligatorio: sì

AllowTool

Una regola con caratteri jolly che consente uno strumento. Il parametro può essere specificato più volte.
I modelli con caratteri jolly utilizzano la sintassi delle chiavi degli item, dove * corrisponde a qualsiasi carattere. La regola verifica il nome semplice dello strumento e ignora ToolPrefix.
Tutte le regole AllowTool, DenyTool, AllowToolRegexp e DenyToolRegexp formano un unico elenco nell'ordine in cui sono specificate; decide la prima regola corrispondente. Uno strumento che non corrisponde ad alcuna regola è consentito.

Esempio:

AllowTool=host_get
AllowToolRegexp

Una regola di espressione regolare che consente l'utilizzo degli strumenti. Il parametro può essere specificato più volte.
Le espressioni regolari utilizzano la sintassi RE2 e corrispondono a qualsiasi parte del nome semplice dello strumento, a meno che non siano ancorate.

Esempio:

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

Specificare il livello di debug:

  • 0 - informazioni di base sull'avvio e sull'arresto dei processi Zabbix;
  • 1 - informazioni critiche;
  • 2 - informazioni sugli errori;
  • 3 - avvisi;
  • 4 - per il debug (genera molte informazioni);
  • 5 - debug esteso (genera ancora più informazioni).

Predefinito: 3
Intervallo: 0-5

DenyTool

Una regola con caratteri jolly che nega uno strumento. Il parametro può essere specificato più volte.
Uno strumento negato non viene incluso nell'elenco degli strumenti e non può essere chiamato. Per i dettagli, vedere AllowTool.

Esempio:

DenyTool=maintenance_delete
DenyToolRegexp

Una regola di espressione regolare che nega gli strumenti. Il parametro può essere specificato più volte.
Per i dettagli, vedere AllowToolRegexp.

Esempio:

DenyToolRegexp=^problem_(close|suppress)$
FrontendURL

L'endpoint dell'API di Zabbix: l'URL del frontend di Zabbix che termina con api_jsonrpc.php.

Esempio:

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

Obbligatorio: sì

IgnoreURLCertErrors

Specifica la gestione degli errori di convalida dei certificati TLS durante l'accesso all'API di Zabbix:
false - non ignorare gli errori dei certificati;
true - ignorare gli errori dei certificati (utilizzare solo in un ambiente di sviluppo).

Predefinito: false

ListenIP

L'indirizzo IP su cui rimanere in ascolto.

Predefinito: 0.0.0.0

ListenPort

La porta su cui rimanere in ascolto. Il percorso dell'endpoint MCP è /mcp.

Predefinito: 8443
Intervallo: 1024-32767

LogFile

Il nome del file di log.

Predefinito: /tmp/zabbix_mcp_server.log

Obbligatorio: No

LogFileSize

La dimensione massima di un file di log in MB.
0 - disabilita la rotazione automatica dei log.

Predefinito: 1
Intervallo: 0-1024

LogType

Il tipo di output del log:

  • file - scrive il log nel file specificato dal parametro LogFile;
  • system - scrive il log nel syslog;
  • console - scrive il log nell'output standard.

Predefinito: file

MaxResponseSize

La dimensione massima di una risposta restituita da uno strumento di lettura. La risposta si interrompe al raggiungimento del primo tra questo limite e l'argomento limit dello strumento.
Supporta suffissi delle unità.

Predefinito: 64K
Intervallo: 16K-256K

PidFile

Il nome del file PID.

Predefinito: /tmp/zabbix_mcp_server.pid

Timeout

Il tempo massimo (in secondi) di attesa per una risposta dall'API di Zabbix.

Predefinito: 10
Intervallo: 3-30

TLSAccept

Quali connessioni in ingresso accettare:

  • unencrypted - accetta connessioni senza crittografia (impostazione predefinita);
  • cert - accetta connessioni con TLS e un certificato.

Predefinito: unencrypted

TLSCertFile

Il percorso completo del file contenente il certificato del server o la catena di certificati.

Obbligatorio: Sì, se TLSAccept è impostato su cert; altrimenti, no

TLSKeyFile

Il percorso completo del file contenente la chiave privata del server.

Obbligatorio: Sì, se TLSAccept è impostato su cert; altrimenti, no

ToolPrefix

Un prefisso aggiunto ai nomi di tutti gli strumenti, ad esempio per evitare conflitti di nomi con gli strumenti di altri server MCP. Ad esempio, con ToolPrefix=zbx_, lo strumento host_get viene esposto come zbx_host_get.
Caratteri consentiti: lettere, cifre, carattere di sottolineatura (_), trattino (-) e punto (.).
Le regole di accesso agli strumenti corrispondono ai nomi degli strumenti senza il prefisso.

Esempio:

ToolPrefix=zbx_