zabbix-mcp-server
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"zabbix": {
"args": [
"mcp-zabbix-server"
],
"autoApprove": [
"list_problems",
"list_triggers"
],
"command": "uvx",
"disabled": false,
"env": {
"ZABBIX_API_TOKEN": "your_api_token_here",
"ZABBIX_URL": "https://your-zabbix-server.com/api_jsonrpc.php"
}
}
}
}
服务介绍
Zabbix MCP Server
Zabbix API (Problems) (Triggers) MCP(Model Context Protocol) .
- list_problems: Zabbix
- list_triggers: Zabbix
- zabbix_health: Zabbix API ()
src/
__init__.py #
server.py # MCP ( )
zabbix_api.py # Zabbix API
tools.py # MCP
config.py #
pyproject.toml #
README.md #
1.
:
# uv
pip install uv
#
uv sync
** :**
mcp[cli]>=1.13.1: MCPrequests>=2.31.0: HTTP
2. MCP ( )
JSON MCP . , MCP .
API ():
{
"mcpServers": {
"zabbix": {
"command": "python",
"args": ["src/server.py"],
"cwd": "/path/to/your/zabbix-mcp-server",
"env": {
"ZABBIX_URL": "https://your-zabbix-server.com/api_jsonrpc.php",
"ZABBIX_API_TOKEN": "your_api_token_here"
},
"disabled": false,
"autoApprove": ["list_problems", "list_triggers"]
}
}
}
/ :
{
"mcpServers": {
"zabbix": {
"command": "python",
"args": ["src/server.py"],
"cwd": "/path/to/your/zabbix-mcp-server",
"env": {
"ZABBIX_URL": "https://your-zabbix-server.com/api_jsonrpc.php",
"ZABBIX_USER": "your_username",
"ZABBIX_PASSWORD": "your_password"
},
"disabled": false,
"autoApprove": ["list_problems", "list_triggers"]
}
}
}
: JSON , mcpServers . (command, args, cwd, env) .
uvx ( )
{
"mcpServers": {
"zabbix": {
"command": "uvx",
"args": ["mcp-zabbix-server"],
"env": {
"ZABBIX_URL": "https://your-zabbix-server.com/api_jsonrpc.php",
"ZABBIX_API_TOKEN": "your_api_token_here"
},
"disabled": false,
"autoApprove": ["list_problems", "list_triggers"]
}
}
}
3. ( )
:
# 1. ()
uv sync
# 2.
export ZABBIX_URL="https://your-zabbix-server.com/api_jsonrpc.php"
export ZABBIX_API_TOKEN="your_api_token_here"
# 3. src (!)
cd src
python server.py
# uv
cd src
uv run python server.py
** :**
srcpython src/server.pyimport
** :**
- MCP STDIO
-
MCP
MCP env :
ZABBIX_URL: Zabbix JSON-RPC API URL
( )
** 1: API ()**
ZABBIX_API_TOKEN: Zabbix API
** 2: /**
ZABBIX_USER: ZabbixZABBIX_PASSWORD: Zabbix
ZABBIX_VERIFY_SSL: Zabbix API (true/false,true).false.ZABBIX_TIMEOUT: Zabbix API ().30.
# 60 ()
list_problems()
# 30
list_problems(recent=30)
# 50
list_problems(limit=50)
#
list_triggers()
# High
list_triggers(min_severity=4)
# 20
list_triggers(limit=20)
# Zabbix API (//SSL )
zabbix_health()
API
Problems
{
"problems": [
{
"eventid": "12345",
"clock": 1703123456,
"timestamp": "2023-12-21T10:30:56",
"name": "High CPU usage on server01",
"severity": 4,
"severity_name": "High",
"hosts": ["server01.example.com"],
"acknowledged": false
}
],
"total_count": 1,
"query_params": {
"recent_minutes": 60,
"limit": 100
},
"message": " 60 1 ."
}
Triggers
{
"triggers": [
{
"triggerid": "67890",
"description": "CPU usage > 90%",
"priority": 4,
"priority_name": "High",
"hosts": ["server01.example.com"],
"lastchange": 1703123456,
"lastchange_timestamp": "2023-12-21T10:30:56",
"value": 1
}
],
"total_count": 1,
"query_params": {
"min_severity": 0,
"limit": 100
},
"message": " 0 1 ."
}
- 0: Not classified
- 1: Information
- 2: Warning
- 3: Average
- 4: High
- 5: Disaster
# ModuleNotFoundError
uv sync #
# uv pip
pip install mcp[cli] requests
Import (No such file or directory)
# import
cd src # src
python server.py #
# PYTHONPATH
export PYTHONPATH="${PYTHONPATH}:$(pwd)/src"
python src/server.py
- MCP
env ZABBIX_URLJSON-RPC API (/api_jsonrpc.php)
- API
- /
- Zabbix URL
- Zabbix
- API
MCP
MCP / :
- MCP "zabbix"
-
/ - (
cwd)