Параметры конфигурации: Zabbix MCP server

Обзор

Сервер Zabbix MCP — это процесс, который позволяет агентам ИИ работать с Zabbix с использованием протокола контекста модели (MCP).

В этом разделе перечислены параметры, поддерживаемые файлом конфигурации сервера Zabbix MCP (zabbix_mcp_server.conf).

Параметры перечислены без дополнительной информации. Нажмите на параметр, чтобы просмотреть подробные сведения.

Параметр Описание
AllowedIP Список разделенных запятыми IP-адресов, при необходимости в нотации CIDR, или DNS-имен клиентов MCP.
AllowTool Правило с подстановочными знаками, разрешающее инструмент.
AllowToolRegexp Правило с регулярным выражением, разрешающее инструменты.
DebugLevel Уровень отладки.
DenyTool Правило с подстановочными знаками, запрещающее инструмент.
DenyToolRegexp Правило с регулярным выражением, запрещающее инструменты.
FrontendURL Конечная точка API Zabbix.
IgnoreURLCertErrors Определяет обработку ошибок проверки сертификата TLS при доступе к API Zabbix.
ListenIP IP-адрес, на котором выполняется прослушивание.
ListenPort Порт, на котором выполняется прослушивание.
LogFile Имя файла журнала.
LogFileSize Максимальный размер файла журнала.
LogType Тип вывода журнала.
MaxResponseSize Максимальный размер ответа, возвращаемого инструментом чтения.
PidFile Имя PID-файла.
Timeout Максимальное время (в секундах) ожидания ответа от API Zabbix.
TLSAccept Тип входящих соединений, которые следует принимать.
TLSCertFile Полный путь к файлу, содержащему сертификат сервера или цепочку сертификатов.
TLSKeyFile Полный путь к файлу, содержащему закрытый ключ сервера.
ToolPrefix Префикс, добавляемый к именам всех инструментов.

Все параметры являются необязательными, если явно не указано, что параметр обязателен.

Обратите внимание:

  • Значения по умолчанию отражают значения по умолчанию для процесса, а не значения в поставляемых файлах конфигурации;
  • Значения поддерживают переменные окружения в формате ${NAME};
  • Zabbix поддерживает файлы конфигурации только в кодировке UTF-8 без BOM;
  • Комментарии, начинающиеся с #, поддерживаются только в начале строки.

Сведения о параметрах

AllowedIP

Список IP-адресов, разделённых запятыми, при необходимости в нотации CIDR, или DNS-имён клиентов MCP. Входящие подключения будут приниматься только от узлов сети, перечисленных здесь.

Пример:

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

Обязательный: да

AllowTool

Правило с подстановочными символами, разрешающее использование инструмента. Параметр можно указывать несколько раз.
Шаблоны с подстановочными символами используют синтаксис ключа элемента данных, где * соответствует любым символам. Правило сопоставляется с простым именем инструмента и игнорирует ToolPrefix.
Все правила AllowTool, DenyTool, AllowToolRegexp и DenyToolRegexp образуют единый список в порядке их указания; решение принимает первое совпавшее правило. Инструмент, которому не соответствует ни одно правило, разрешен.

Пример:

AllowTool=host_get
AllowToolRegexp

Правило регулярного выражения, разрешающее использование инструментов. Параметр можно указывать несколько раз.
В регулярных выражениях используется синтаксис RE2; если выражение не привязано к началу или концу строки, оно сопоставляется с любой частью обычного имени инструмента.

Пример:

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

Укажите уровень отладки:

  • 0 - основная информация о запуске и остановке процессов Zabbix;
  • 1 - критическая информация;
  • 2 - информация об ошибках;
  • 3 - предупреждения;
  • 4 - отладка (выводится большой объем информации);
  • 5 - расширенная отладка (выводится еще больше информации).

Значение по умолчанию: 3
Диапазон: 0-5

DenyTool

Правило с подстановочными знаками, запрещающее использование инструмента. Параметр можно указывать несколько раз.
Запрещенный инструмент не включается в список инструментов и не может быть вызван. Подробную информацию см. в разделе AllowTool.

Пример:

DenyTool=maintenance_delete
DenyToolRegexp

Правило регулярного выражения, запрещающее использование инструментов. Параметр можно указывать несколько раз.
Подробнее см. в разделе AllowToolRegexp.

Пример:

DenyToolRegexp=^problem_(close|suppress)$
FrontendURL

Конечная точка API Zabbix: URL веб-интерфейса Zabbix, оканчивающийся на api_jsonrpc.php.

Пример:

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

Обязательный параметр: да

IgnoreURLCertErrors

Определяет обработку ошибок проверки сертификата TLS при обращении к API Zabbix:
false - не игнорировать ошибки сертификата;
true - игнорировать ошибки сертификата (используйте только в среде разработки).

Значение по умолчанию: false

ListenIP

IP-адрес для прослушивания.

По умолчанию: 0.0.0.0

ListenPort

Порт для прослушивания. Путь конечной точки MCP: /mcp.

Значение по умолчанию: 8443
Диапазон: 1024–32767

LogFile

Имя файла журнала.

По умолчанию: /tmp/zabbix_mcp_server.log

Обязательный: нет

LogFileSize

Максимальный размер файла журнала в МБ.
0 - отключить автоматическую ротацию журналов.

Значение по умолчанию: 1
Диапазон: 0-1024

LogType

Тип вывода журнала:

  • file — записывать журнал в файл, указанный параметром LogFile;
  • system — записывать журнал в syslog;
  • console — записывать журнал в стандартный вывод.

Значение по умолчанию: file

MaxResponseSize

Максимальный размер ответа, возвращаемого инструментом чтения. Ответ прекращается при достижении первого из ограничений: этого значения или аргумента limit инструмента.
Поддерживаются суффиксы единиц измерения.

Значение по умолчанию: 64K
Диапазон: 16K-256K

PidFile

Имя PID-файла.

По умолчанию: /tmp/zabbix_mcp_server.pid

Тайм-аут

Максимальное время (в секундах) ожидания ответа от API Zabbix.

По умолчанию: 10
Диапазон: 3-30

TLSAccept

Какие входящие подключения принимать:

  • unencrypted - принимать подключения без шифрования (по умолчанию);
  • cert - принимать подключения с TLS и сертификатом.

По умолчанию: unencrypted

TLSCertFile

Полный путь к файлу, содержащему сертификат сервера или цепочку сертификатов.

Обязательный параметр: да, если TLSAccept установлен в значение cert; в противном случае — нет

TLSKeyFile

Полный путь к файлу, содержащему закрытый ключ сервера.

Обязательно: да, если для TLSAccept задано значение cert; в противном случае — нет

ToolPrefix

Префикс, добавляемый к именам всех инструментов, например для предотвращения конфликтов имен с инструментами других MCP-серверов. Например, при использовании ToolPrefix=zbx_ инструмент host_get предоставляется как zbx_host_get.
Допустимые символы: буквы, цифры, символ подчеркивания (_), дефис (-) и точка (.).
Правила доступа к инструментам соответствуют именам инструментов без префикса.

Пример:

ToolPrefix=zbx_