mcpField
Z
Zabbix Mcp

Zabbix Mcp

ローカル
github.com/mpeirone開発ツール26124 週間前に更新

Zabbix Mcp について

Zabbix MCP Server は、3 つのツールを通じて Zabbix API の全メソッドを AI アシスタントから利用できるようにする軽量な MCP サーバーです。AI を使って Zabbix の監視情報を照会・管理したいユーザーを対象とし、Zabbix 6.0 以降に対応しています。読み取り専用モードとメソッドフィルタリングを備えています。

主な機能

  1. 013 つのツールで Zabbix API 全体をカバー
  2. 02任意の API メソッドのドキュメント参照
  3. 03読み取り専用モードによる操作制限
  4. 04API メソッドの正規表現によるホワイトリストとブラックリスト
  5. 05stdio と streamable-http のトランスポートに対応

活用シーン

  1. 01AI アシスタントによるホスト、アイテム、現在の問題の照会
  2. 02読み取り専用設定での Zabbix データの分析
  3. 03Docker でサーバーをデプロイし MCP クライアントから接続

MCP 対応

MCP サーバーとして動作し、zabbix_api、zabbix_api_docs、zabbix_api_list の 3 つのツールを MCP クライアントに公開して Zabbix API を呼び出せるようにします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Zabbix MCP サーバー

License: GPL v3 Python 3.10+ SafeSkill

わずか3つのツールでZabbix API全体に完全にアクセスできる、軽量なModel Context Protocol(MCP)サーバーです。Zabbix 6.0以降に対応しています。

zabbix-mcp-server MCP server

Zabbix MCP サーバーを選ぶ理由

  • APIを完全に網羅 - 統一されたインターフェースを通じて、あらゆるZabbix APIメソッド(100以上)にアクセスできます
  • 軽量なコンテキスト - 個別のツールを50個以上用意する代わりに、ツールを3つに絞り、LLMのコンテキストを最小限に保ちます
  • 常に最新 - 現在および将来のZabbix APIメソッドに自動的に対応します
  • Zabbix 6.0以降に対応 - Zabbix 6.0、6.4、7.0以降のバージョンをサポートします

3つのツール

ツール目的
zabbix_api任意のZabbix APIメソッドを実行します
zabbix_api_docs任意のAPIメソッドのドキュメントを取得します
zabbix_api_list利用可能なAPIオブジェクトとメソッドを確認します

クイックスタート

オプション1:Claude Codeとの連携

Claude CodeのMCP設定に追加します。

claude mcp add zabbix \
  --env ZABBIX_URL=https://your-zabbix-server.com \
  --env ZABBIX_TOKEN=your_api_token \
  -- uvx --from git+https://github.com/mpeirone/zabbix-mcp-server@main zabbix-mcp
オプション2:uvで実行
git clone https://github.com/mpeirone/zabbix-mcp-server.git
cd zabbix-mcp-server
uv sync

# Configure environment
export ZABBIX_URL=https://your-zabbix-server.com
export ZABBIX_TOKEN=your_api_token

# Start the server
uv run python scripts/start_server.py
接続をテスト
uv run python scripts/test_server.py

オプション3:dockerで実行

git clone https://github.com/mpeirone/zabbix-mcp-server.git
cd zabbix-mcp-server

# Using docker-compose
docker compose up -d

# Or build manually
docker build -t zabbix-mcp-server .
docker run -e ZABBIX_URL=https://zabbix.example.com -e ZABBIX_TOKEN=your_token zabbix-mcp-server

環境変数

必須
変数説明例
ZABBIX_URLZabbixサーバーのURLhttps://your-zabbix-server.com
認証(いずれかを選択)
変数説明
ZABBIX_TOKENAPIトークン(推奨)
ZABBIX_USER + ZABBIX_PASSWORDユーザー名とパスワード
セキュリティ
変数デフォルト説明
READ_ONLYfalsetrueに設定すると、読み取り操作のみ許可します
VERIFY_SSLtrueSSL検証を有効/無効にします
ZABBIX_API_WHITELIST.*許可するAPIメソッドの正規表現パターン(カンマ区切り)
ZABBIX_API_BLACKLIST(empty)ブロックするAPIメソッドの正規表現パターン(カンマ区切り)
ZABBIX_SKIP_VERSION_CHECKfalseZabbixのバージョン互換性チェックをスキップします
ZABBIX_API_TIMEOUT30APIリクエストのタイムアウト(秒)
トランスポート
変数デフォルト説明
ZABBIX_MCP_TRANSPORTstdioトランスポートの種類:stdioまたはstreamable-http
ZABBIX_MCP_HOST127.0.0.1HTTPサーバーのホスト(streamable-http使用時)
ZABBIX_MCP_PORT8000HTTPサーバーのポート(streamable-http使用時)
ZABBIX_MCP_STATELESS_HTTPfalseステートレスHTTPモード
AUTH_TYPE-HTTPトランスポートではno-authにする必要があります(streamable-http使用時)
デバッグ
変数デフォルト説明
DEBUGfalse詳細なログを出力するにはtrueに設定します

使用例

ホストを取得
zabbix_api(method='host.get', params={'output': ['hostid', 'name']})
問題を取得
zabbix_api(method='problem.get', params={'output': 'extend', 'recent': True})
ホストを作成
zabbix_api(method='host.create', params={
    'host': 'server-01',
    'groups': [{'groupid': '1'}],
    'interfaces': [{'type': 1, 'main': 1, 'useip': 1, 'ip': '192.168.1.100', 'port': '10050'}]
})
メソッドのドキュメントを取得
zabbix_api_docs(method='host.create')
利用可能なメソッドを一覧表示
zabbix_api_list()              # All objects and methods
zabbix_api_list(object='host')  # Host methods only

セキュリティ機能

読み取り専用モード

READ_ONLY=trueに設定して、すべての書き込み操作をブロックします。

export READ_ONLY=true

get、version、check、export操作のみ許可されます。

APIメソッドのフィルタリング

ホワイトリスト/ブラックリストのパターンを使って、呼び出し可能なAPIメソッドを制御します。

# Allow only host.* and item.get methods
export ZABBIX_API_WHITELIST="host\..*,item\.get"

# Block all delete and create operations
export ZABBIX_API_BLACKLIST=".*\.delete,.*\.create"

どちらもカンマ区切りの正規表現パターンに対応しています。ブラックリストが先にチェックされます。

MCPクライアントの設定

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または%APPDATA%\Claude\claude_desktop_config.json(Windows)に追加します。

{
  "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": "your_api_token"
      }
    }
  }
}

トラブルシューティング

接続の問題
  • ZABBIX_URL にアクセスできることを確認してください
  • 認証情報を確認してください
  • Zabbix API が有効になっていることを確認してください
権限エラー
  • Zabbix ユーザーの権限を確認してください
  • READ_ONLY モードが有効になっているか確認してください
メソッドがブロックされる場合

「Method is not in whitelist」または「Method is blacklisted」と表示される場合:

  • ZABBIX_API_WHITELIST と ZABBIX_API_BLACKLIST のパターンを確認してください
  • 正規表現のパターンがメソッド名全体(例:host.get)に一致することを確認してください
デバッグモード
export DEBUG=true
uv run python scripts/start_server.py

コントリビューション

開発ガイドラインについては、CONTRIBUTING.md を参照してください。

ライセンス

GPLv3 ライセンスの詳細については、LICENSE を参照してください。

謝辞

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。