配置参数:Zabbix MCP 服务器

概述

Zabbix MCP 服务器是一个允许 AI agent 使用模型上下文协议(MCP)与 Zabbix 协作的进程。

本节列出了 Zabbix MCP 服务器配置文件(zabbix_mcp_server.conf)支持的参数。

下方列出了参数及其简要信息。单击参数可查看完整详细信息。

参数 描述
AllowedIP MCP 客户端的 IP 地址列表(以逗号分隔,可选择使用 CIDR 表示法)或 DNS 名称列表。
AllowTool 允许某个工具的通配符规则。
AllowToolRegexp 允许工具的正则表达式规则。
DebugLevel 调试级别。
DenyTool 拒绝某个工具的通配符规则。
DenyToolRegexp 拒绝工具的正则表达式规则。
FrontendURL Zabbix API 端点。
IgnoreURLCertErrors 指定访问 Zabbix API 时 TLS 证书验证错误的处理方式。
ListenIP 要监听的 IP 地址。
ListenPort 要监听的端口。
LogFile 日志文件的名称。
LogFileSize 日志文件的最大大小。
LogType 日志输出的类型。
MaxResponseSize 读取工具返回的响应的最大大小。
PidFile PID 文件的名称。
Timeout 等待 Zabbix API 响应的最长时间(以秒为单位)。
TLSAccept 要接受的传入连接类型。
TLSCertFile 包含服务器证书或证书链的文件的完整路径名。
TLSKeyFile 包含服务器私钥的文件的完整路径名。
ToolPrefix 添加到所有工具名称前的前缀。

除非明确说明某个参数为必需参数,否则所有参数均为非必需参数。

请注意:

  • 默认值反映的是进程默认值,而不是随附配置文件中的值;
  • 值支持使用 ${NAME} 格式的环境变量;
  • Zabbix 仅支持使用 UTF-8 编码且不含 BOM 的配置文件;
  • 以 # 开头的注释仅支持出现在行首。

参数详细信息

AllowedIP

以逗号分隔的 IP 地址列表(可选择使用 CIDR 表示法),或 MCP 客户端的 DNS 名称。仅接受来自此处列出的主机的传入连接。

示例:

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)$
前端URL

Zabbix API 端点:以 api_jsonrpc.php 结尾的 Zabbix 前端 URL。

示例:

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

必填:是

IgnoreURLCertErrors

指定访问 Zabbix API 时 TLS 证书验证错误的处理方式:
false - 不忽略证书错误;
true - 忽略证书错误(仅在开发环境中使用)。

默认值:false

ListenIP

要监听的 IP 地址。

默认值:0.0.0.0

ListenPort

用于监听的端口。MCP 端点路径为 /mcp。

默认值:8443
范围:1024-32767

LogFile

日志文件的名称。

默认值:/tmp/zabbix_mcp_server.log

必填:否

LogFileSize

日志文件的最大大小,单位为 MB。
0 - 禁用自动日志轮换。

默认值:1
范围:0-1024

LogType

日志输出的类型:

  • file - 将日志写入 LogFile 参数指定的文件;
  • system - 将日志写入 syslog;
  • console - 将日志写入标准输出。

默认值:file

MaxResponseSize

读取工具返回的响应的最大大小。达到此限制或工具的 limit 参数中的较小值时,响应将停止。
支持单位后缀。

默认值:64K
范围:16K-256K

PidFile

PID 文件的名称。

默认值:/tmp/zabbix_mcp_server.pid

超时

等待 Zabbix API 响应的最长时间(以秒为单位)。

默认值:10
范围:3-30

TLSAccept

接受哪些传入连接:

  • 未加密 - 接受未加密的连接(默认);
  • 证书 - 接受使用 TLS 和证书的连接。

默认值:unencrypted

TLSCertFile

包含服务器证书或证书链的文件的完整路径名。

必填:是,如果将 TLSAccept 设置为 cert;否则为否

TLSKeyFile

包含服务器私钥的文件的完整路径名。

必填:是,如果 TLSAccept 设置为 cert;否则为否

ToolPrefix

添加到所有工具名称前的前缀,例如,用于避免与其他 MCP 服务器的工具发生名称冲突。例如,设置 ToolPrefix=zbx_ 后,host_get 工具将以 zbx_host_get 的名称公开。
允许使用的字符:字母、数字、下划线 (_)、连字符 (-) 和点号 (.)。
工具访问规则与不带前缀的工具名称匹配。

示例:

ToolPrefix=zbx_