Zabbix MCP 服务器

为Zabbix 7.0 LTS提供的模型上下文协议(MCP)服务器实现,支持主机、项目、触发器、模板、维护、问题、事件、用户宏、LLD规则、代理和用户管理等全面集成。

  • by vfcastr
  • Go
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 vfcastr/Zabbix-MCP

使用说明

Model Context Protocol (MCP) server implementation for Zabbix 7.0 LTS

Features • Prerequisites • Quick Start • Configuration • Tools


A. 模型上下文协议(MCP) 服务器实现 Zabbix 7.0 LTS。提供与Zabbix的全面集成,用于管理主机、项目、触发器、模板、维护、问题、事件、用户宏、LLD规则、代理、用户管理等。

🐳 推荐:我们建议通过Docker运行,因为这是测试最多的部署方法。

安全说明: MCP服务器仅供本地使用。如果使用HTTP传输,请配置 MCP_ALLOWED_ORIGINS 限制对可信来源的访问。

🚀 特性

  • 79 MCP工具 涵盖整个Zabbix API
  • 主机、项目、触发器和模板管理
  • 主机组、模板组和代理组
  • 问题和事件管理与确认
  • 用户、用户组和用户角色管理
  • 用户宏管理(主机和全局)
  • 低级发现(LLD)规则和原型
  • 代理管理
  • 审核日志访问
  • 内置Zabbix API文档搜索
  • Stdio和HTTP传输
  • 基于会话的Zabbix客户端,具有结构化日志记录功能

📋 先决条件

  • Docker(推荐)
  • 转到1.24+(如果从源代码构建)
  • Zabbix 7.0 LTS服务器
  • 有效的Zabbix API代币

⚡ 快速开始

构建Docker镜像

docker build -t zabbix-mcp:latest .

在HTTP模式下运行

docker run -p 8080:8080 --rm \
    -e ZABBIX_URL='http://your-zabbix-server/api_jsonrpc.php' \
    -e ZABBIX_TOKEN='your-api-token' \
    -e TRANSPORT_MODE='http' \
    zabbix-mcp:latest

在标准模式下运行

docker run -i --rm \
    -e ZABBIX_URL='http://your-zabbix-server/api_jsonrpc.php' \
    -e ZABBIX_TOKEN='your-api-token' \
    zabbix-mcp:latest

⚙️ 配置

MCP客户端配置

存储库中为流行的MCP客户端提供了配置示例:

克劳德代码(claude.json)

{
    "mcpServers": {
        "Zabbix": {
            "type": "http",
            "url": "YOUR-ZABBIX-MCP-SERVER-URL/mcp",
            "headers": {
                "X-Zabbix-URL": "YOUR-ZABBIX-URL",
                "X-Zabbix-Token": "YOUR-ZABBIX-TOKEN"
            }
        }
    }
}

GitHub副本(github_copilot.json)

{
    "servers": {
        "Zabbix MCP Server": {
            "type": "http",
            "url": "YOUR-ZABBIX-MCP-SERVER-URL/mcp",
            "headers": {
                "X-Zabbix-URL": "YOUR-ZABBIX-URL/api_jsonrpc.php",
                "X-Zabbix-Token": "YOUR-ZABBIX-TOKEN"
            }
        }
    }
}

谷歌双子座(gemini.json)

{
  "name": "zabbix-mcp-server",
  "version": "1.0.0",
  "description": "Zabbix MCP Server for managing Zabbix 7.0 LTS",
  "publisher": "vfcastr",
  "mcp": {
    "command": "./zabbix-mcp-server",
    "args": ["stdio"],
    "env": {
      "ZABBIX_URL": "${ZABBIX_URL}",
      "ZABBIX_TOKEN": "${ZABBIX_TOKEN}"
    }
  }
}

环境变量

变量 描述 默认值
ZABBIX_URL Zabbix API网址 http://127.0.0.1/api_jsonrpc.php
ZABBIX_TOKEN Zabbix API代币 (必需)
ZABBIX_SKIP_VERIFY 跳过TLS验证 false
TRANSPORT_MODE 运输方式(http 或 stdio) stdio
TRANSPORT_PORT HTTP端口 8080
LOG_LEVEL 日志级别 info

🛠️ 工具

总计:包括79个工具

🖥️ 主机管理

工具 说明
get_hosts 列出带有筛选器的主机
create_host 创建新主机
update_host 更新主机属性
delete_host 删除主机

📂 主机组管理

工具 说明
zabbix_get_host_groups 列出主机组
zabbix_create_host_group 创建主机组
zabbix_update_host_group 更新主机组
zabbix_delete_host_group 删除主机组

📊 项目管理

工具 说明
get_items 列出监控项目
create_item 创建项目
update_item 更新项目
delete_item 删除项目
get_history 获取历史项目值

⚡ 触发器管理

工具 说明
get_triggers 列表触发器
create_trigger 创建触发器
update_trigger 更新触发器
delete_trigger 删除触发器

📋 模板管理

工具 说明
get_templates 列出模板
create_template 创建模板
update_template 更新模板
delete_template 删除模板
link_template 将模板链接到主机
unlink_template 从主机取消链接模板

📁 模板组管理

工具 说明
zabbix_get_template_groups 列出模板组
zabbix_create_template_group 创建模板组
zabbix_update_template_group 更新模板组
zabbix_delete_template_group 删除模板组

🛠️ 维护管理

工具 说明
get_maintenance 列出维护窗口
create_maintenance 创建维护窗口
update_maintenance 更新维护窗口
delete_maintenance 删除维护窗口

🚨 问题与事件管理

工具 说明
get_problems 获取当前问题
get_events 获取活动
acknowledge_event 确认/更新事件
get_trends 获取趋势数据
get_alerts 获取警报

👥 用户管理

工具 说明
get_users 列出用户
create_user 创建用户
update_user 更新用户
delete_user 删除用户

👥 用户组管理

工具 说明
get_user_groups 列出用户组
create_user_group 创建用户组
update_user_group 更新用户组
delete_user_group 删除用户组

🎭 用户角色管理

工具 说明
get_user_roles 列出用户角色
create_user_role 创建用户角色
update_user_role 更新用户角色
delete_user_role 删除用户角色

🔢 宏观管理

全局宏

工具 说明
get_global_macros 获取全局宏
create_global_macro 创建全局宏
update_global_macro 更新全局宏
delete_global_macro 删除全局宏

主机用户宏

工具 说明
get_user_macros 获取主机宏
create_user_macro 创建主机宏
update_user_macro 更新主机宏
delete_user_macro 删除主机宏

🌐 代理管理

工具 说明
zabbix_get_proxies 列出代理
zabbix_create_proxy 创建代理
zabbix_update_proxy 更新代理
zabbix_delete_proxies 删除代理

🌐 代理组管理

工具 说明
zabbix_get_proxy_groups 列出代理组
zabbix_create_proxy_group 创建代理组
zabbix_update_proxy_group 更新代理组
zabbix_delete_proxy_groups 删除代理组

🔍 LLD(低级发现)

工具 说明
get_lld_rules 获取发现规则
create_lld_rule 创建LLD规则
update_lld_rule 更新LLD规则
delete_lld_rule 删除LLD规则
copy_lld_rule 将LLD规则复制到主机

🧩 原型

项目原型

工具 说明
get_item_prototypes 获取物品原型
create_item_prototype 创建项目原型
update_item_prototype 更新商品原型
delete_item_prototype 删除项目原型

触发器原型

工具 说明
get_trigger_prototypes 获取触发器原型
create_trigger_prototype 创建触发器原型
update_trigger_prototype 更新触发器原型
delete_trigger_prototype 删除触发器原型

📜 审计和文件

工具 说明
get_audit_log 获取审核日志条目
get_zabbix_docs 搜索Zabbix API文档

🏗️ 从源头构建

git clone https://github.com/vfcastr/Zabbix-MCP.git
cd Zabbix-MCP
go build -ldflags="-X github.com/vfcastr/Zabbix-MCP/version.Version=1.0.0" -o zabbix-mcp-server ./cmd/zabbix-mcp-server

📂 项目结构

Zabbix-MCP/
├── cmd/zabbix-mcp-server/     # Entry point
├── pkg/
│   ├── client/                # Zabbix API client
│   └── tools/                 # MCP tools (79 tools)
│       ├── hosts/             # Host management
│       ├── hostgroups/        # Host group management
│       ├── items/             # Item management
│       ├── triggers/          # Trigger management
│       ├── templates/         # Template management
│       ├── templategroups/    # Template group management
│       ├── maintenance/       # Maintenance windows
│       ├── problems/          # Problem management
│       ├── events/            # Event management
│       ├── trends/            # Trend data
│       ├── alerts/            # Alert management
│       ├── users/             # User management
│       ├── usergroups/        # User group management
│       ├── userroles/         # User role management
│       ├── macros/            # User macros (host & global)
│       ├── proxies/           # Proxy management
│       ├── proxygroups/       # Proxy group management
│       ├── lld/               # LLD rules
│       ├── itemprototypes/    # Item prototypes
│       ├── triggerprototypes/ # Trigger prototypes
│       ├── auditlog/          # Audit log
│       └── docs/              # Documentation tool
├── version/                   # Version info
├── claude.json                # Claude Code config example
├── github_copilot.json        # GitHub Copilot config example
├── gemini.json                # Google Gemini config example
├── zabbix_documentation.md    # Zabbix API docs
├── Dockerfile
├── go.mod
└── README.md

📝 许可证

MPL-2.0

👤 作者

由...创建 vfcaster