Skip to main content

zabbix-mcp-server

Complete MCP server for Zabbix integration providing AI assistants access to 100% of Zabbix APIs through 3 unified tools

跳到安装

来源信息

仓库
reason-machines/mcp-skills
最近来源活动
2026年6月3日 01:57
检测到的 SKILL.md 语言
英语
星标
7
分支
2

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
zabbix-mcp-server
description
Complete MCP server for Zabbix integration providing AI assistants access to 100% of Zabbix APIs through 3 unified tools
triggers
["connect to zabbix monitoring","query zabbix hosts and problems","integrate zabbix with AI assistant","access zabbix api through mcp","monitor infrastructure with zabbix","get zabbix metrics and alerts","configure zabbix mcp server","read zabbix monitoring data"]
# Zabbix MCP Server > Skill by [ara.so](https://ara.so) — MCP Skills collection. A lightweight Model Context Protocol (MCP) server that provides complete access to the entire Zabbix API (100+ methods) through just 3 tools. Compatible with Zabbix 6.0+. ## What It Does The Zabbix MCP Server bridges AI assistants with Zabbix monitoring infrastructure, enabling: - Query hosts, items, triggers, templates, problems, and metrics - Create and manage monitoring configurations - Access historical data and analytics - Control Zabbix through natural language - Minimal LLM context usage (3 tools vs 50+ individual endpoints) ## Installation ### Quick Install with uvx (Recommended) ```bash # Install from GitHub uvx --from git+https://github.com/mpeirone/zabbix-mcp-server@main zabbix-mcp ``` ### Clone and Install with uv ```bash git clone https://github.com/mpeirone/zabbix-mcp-server.git cd zabbix-mcp-server uv sync ``` ### Docker Installation ```bash git clone https://github.com/mpeirone/zabbix-mcp-server.git cd zabbix-mcp-server docker compose up -d ``` ## Configuration ### Environment Variables **Required:** ```bash export ZABBIX_URL=https://your-zabbix-server.com ``` **Authentication (choose one):** ```bash # API Token (recommended) export ZABBIX_TOKEN=${ZABBIX_API_TOKEN} # Or username/password export ZABBIX_USER=${ZABBIX_USERNAME} export ZABBIX_PASSWORD=${ZABBIX_PASSWORD} ``` **Security:** ```bash export READ_ONLY=true # Restrict to read operations only export VERIFY_SSL=true # Enable SSL verification export ZABBIX_API_WHITELIST="host\..*,item\.get,problem\..*" # Allow only specific methods export ZABBIX_API_BLACKLIST=".*\.delete,.*\.create" # Block specific methods export ZABBIX_API_TIMEOUT=30 # API request timeout in seconds ``` **Transport:** ```bash export ZABBIX_MCP_TRANSPORT=stdio # or streamable-http export ZABBIX_MCP_HOST=127.0.0.1 # HTTP server host export ZABBIX_MCP_PORT=8000 # HTTP server port ``` **Debug:** ```bash export DEBUG=true # Enable verbose logging ``` ### MCP Client Configuration **Claude Desktop (macOS):** Edit `~/Library/Application Support/Claude/claude_desktop_config.json`: ```json { "mcpServers": { "zabbix": { "command": "uvx", "args": [ "--from", "git+https://github.com/mpeirone/zabbix-mcp-server@main", "zabbix-mcp" ], "env": { "ZABBIX_URL": "https://zabbix.example.com", "ZABBIX_TOKEN": "${ZABBIX_API_TOKEN}", "READ_ONLY": "true" } } } } ``` **Claude Desktop (Windows):** Edit `%APPDATA%\Claude\claude_desktop_config.json` with the same configuration. **Claude Code Integration:** ```bash claude mcp add zabbix \ --env ZABBIX_URL=https://your-zabbix-server.com \ --env ZABBIX_TOKEN=${ZABBIX_API_TOKEN} \ --env READ_ONLY=true \ -- uvx --from git+https://github.com/mpeirone/zabbix-mcp-server@main zabbix-mcp ``` ## The 3 Core Tools ### 1. zabbix_api - Execute Any Zabbix API Method The main tool for interacting with Zabbix. Supports all 100+ API methods. **Signature:** ```python zabbix_api(method: str, params: dict = {}) -> dict ``` ### 2. zabbix_api_docs - Get API Documentation Retrieve documentation for any Zabbix API method. **Signature:** ```python zabbix_api_docs(method: str) -> str ``` ### 3. zabbix_api_list - Discover Available Methods List all available API objects and their methods. **Signature:** ```python zabbix_api_list(object: str = None) -> list ``` ## Common Usage Patterns ### Querying Hosts **Get all hosts with basic info:** ```python result = zabbix_api( method='host.get', params={ 'output': ['hostid', 'host', 'name', 'status'], 'selectInterfaces': ['interfaceid', 'ip'] } ) ``` **Get hosts in specific group:** ```python result = zabbix_api( method='host.get', params={ 'output': 'extend', 'groupids': '2', 'selectGroups': 'extend' } ) ``` **Search hosts by name:** ```python result = zabbix_api( method='host.get', params={ 'output': ['hostid', 'host', 'name'], 'search': {'name': 'web-server'}, 'searchWildcardsEnabled': True } ) ``` ### Monitoring Problems and Triggers **Get recent problems:** ```python result = zabbix_api( method='problem.get', params={ 'output': 'extend', 'recent': True, 'sortfield': ['eventid'], 'sortorder': 'DESC' } ) ``` **Get active triggers:** ```python result = zabbix_api( method='trigger.get', params={ 'output': 'extend', 'filter': {'value': 1}, # Problem state 'skipDependent': 1, 'monitored': True, 'active': True, 'selectHosts': ['hostid', 'host'] } ) ``` **Get problems for specific host:** ```python result = zabbix_api( method='problem.get', params={ 'output': 'extend', 'hostids': '10084', 'recent': True, 'selectAcknowledges': 'extend' } ) ``` ### Working with Items and Metrics **Get items for a host:** ```python result = zabbix_api( method='item.get', params={ 'output': 'extend', 'hostids': '10084', 'sortfield': 'name' } ) ``` **Get historical data:** ```python result = zabbix_api( method='history.get', params={ 'output': 'extend', 'history': 0, # Float values 'itemids': '23296', 'sortfield': 'clock', 'sortorder': 'DESC', 'limit': 100 } ) ``` **Get latest values:** ```python result = zabbix_api( method='item.get', params={ 'output': ['itemid', 'name', 'lastvalue', 'lastclock'], 'hostids': '10084', 'monitored': True } ) ``` ### Creating and Managing Resources **Create a new host:** ```python result = zabbix_api( method='host.create', params={ 'host': 'server-01.example.com', 'name': 'Production Server 01', 'groups': [{'groupid': '2'}], 'interfaces': [{ 'type': 1, # Agent 'main': 1, 'useip': 1, 'ip': '192.168.1.100', 'dns': '', 'port': '10050' }] } ) ``` **Create a trigger:** ```python result = zabbix_api( method='trigger.create', params={ 'description': 'CPU load too high on {HOST.NAME}', 'expression': 'last(/server-01/system.cpu.load[percpu,avg1])>5', 'priority': 3 # Average } ) ``` **Create an item:** ```python result = zabbix_api( method='item.create', params={ 'name': 'CPU Load', 'key_': 'system.cpu.load[percpu,avg1]', 'hostid': '10084', 'type': 0, # Zabbix agent 'value_type': 0, # Float 'delay': '60s' } ) ``` ### Templates and Groups **Get templates:** ```python result = zabbix_api( method='template.get', params={ 'output': ['templateid', 'name'], 'selectGroups': 'extend' } ) ``` **Link template to host:** ```python result = zabbix_api( method='host.update', params={ 'hostid': '10084', 'templates': [{'templateid': '10001'}] } ) ``` **Get host groups:** ```python result = zabbix_api( method='hostgroup.get', params={ 'output': 'extend', 'selectHosts': ['hostid', 'host'] } ) ``` ### Discovery and Documentation **List all available API objects:** ```python result = zabbix_api_list() # Returns: ['action', 'alert', 'apiinfo', 'application', ...] ``` **List methods for specific object:** ```python result = zabbix_api_list(object='host') # Returns: ['host.create', 'host.delete', 'host.get', 'host.update', ...] ``` **Get documentation for a method:** ```python docs = zabbix_api_docs(method='host.create') # Returns: Detailed documentation with parameters and examples ``` **Get API version:** ```python result = zabbix_api(method='apiinfo.version', params={}) # Returns: {'result': '7.0.0'} ``` ## Security Patterns ### Read-Only Mode For safe exploration and querying without modification risk: ```bash export READ_ONLY=true ``` This allows only: `*.get`, `*.version`, `*.check`, `*.export` methods. ### Method Whitelisting Allow only specific API methods: ```bash # Only allow host and item queries export ZABBIX_API_WHITELIST="host\.get,item\.get,problem\.get" ``` ### Method Blacklisting Block dangerous operations: ```bash # Block all delete and update operations export ZABBIX_API_BLACKLIST=".*\.delete,.*\.update,.*\.create" ``` ### Combined Security ```bash export READ_ONLY=true export ZABBIX_API_WHITELIST="host\..*,item\..*,problem\..*,trigger\..*" export ZABBIX_API_BLACKLIST="host\.delete,item\.delete" export VERIFY_SSL=true ```
在 GitHub 查看
这个 SKILL.md 很大,SkillsMP 这里只预览前一段内容。 在 GitHub 查看