配置参数: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_