mcpField
Z
Zabbix AI CLI

Zabbix AI CLI

ローカル
github.comクラウド・インフラ05 日前に更新

Zabbix AI CLI について

Zabbix AI CLIは、Zabbixを運用するSREやDevOpsチーム向けのGo製CLI兼MCPサーバーです。タスク単位の監視・障害対応に加え、書き込み設定、承認プラン、監査ログを備えています。

主な機能

  1. 01問題とホストのタスク別調査
  2. 02アラート原因と配信履歴の確認
  3. 03メトリクスと履歴の照会
  4. 04メンテナンス期間とメディアタイプの管理
  5. 05変更の計画・承認・監査

活用シーン

  1. 01応答しないホストや未サポート項目の調査
  2. 02通知が届かなかった理由の確認
  3. 03メトリクス値と履歴の確認
  4. 04承認を経たメンテナンス期間の変更

MCP 対応

MCPクライアントに、タスク単位のZabbix照会・操作ツールを提供します。書き込みはallow_writeで制御でき、ターミナルでの承認を必須にできます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"stufently-zabbix-ai-cli": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/stufently/zabbix-ai-cli:0.1.1"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/stufently/zabbix-ai-cli:0.1.1

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/stufently/zabbix-ai-cli:0.1.1

ツール

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

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

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

Zabbix AI CLI MCP — AI エージェント向け Zabbix MCP サーバーおよび CLI

CI Go Reference License Zabbix MCP

zabbix-ai-cli-mcp は、Zabbix MCP サーバーとコマンドラインクライアントを1つにまとめた Go バイナリです。 Claude Code、Claude Desktop、Codex、Cursor、その他あらゆる Model Context Protocol クライアントから、Zabbix にタスクに即した形でアクセスできます。現在何が故障しているか、ホストが応答しない理由、アラートが届かなかった理由などを、出力を制限し、安定した JSON 契約を保ちながら調べられます。また、1つの設定 allow_write によって、エージェントが変更を適用するか、人が計画を承認するかを決定できます。

これは、ページャーで呼び出される SRE および DevOps チームなど、Zabbix を運用し、API 全体を渡すことなくインシデントのトリアージをエージェントに任せたい人向けです。

Zabbix 6.4 以降が必要です。 ベアラートークン認証は6.4で導入されており、実装されている認証方式はこれだけです。それ以前のバージョンでは、リクエスト本文にトークンを含める必要があります。

言語モデルには一切接続しません。AI が判断し、このプログラムが実行し、Zabbix が監視します。

zabbix-ai-cli-mcp login
zabbix-ai-cli-mcp problems list
zabbix-ai-cli-mcp host investigate server01
zabbix-ai-cli-mcp alert why 757474
zabbix-ai-cli-mcp mcp

Zabbix API ラッパーをもう1つ作るのではなく、これを使う理由

host.get、problem.get、history.get をラップしても、その強力さとともに API の扱いにくさまでエージェントに渡すことになります。現在の Zabbix 7.4 サーバーでは、次のような問題があります。

  • problem.get には selectHosts がないため、問題の一覧にホストが含まれません。
  • history.get はデフォルトで数値符号なしテーブルを使うため、浮動小数点数のアイテムでは何も返しません。エラーもなく、ひそかに失敗します。
  • item.lastvalue と item.lastclock は今も存在していますが、複数のメジャーリリースにわたって、定数 "0" を返しています。
  • host.available は5.4で削除され、可用性はインターフェースに記録されます。
  • event.acknowledge はビットマスクを受け取りますが、その公式ドキュメント自体に矛盾があります。
  • searchWildcardsEnabled: true は暗黙の部分一致を無効にするため、名前の一部を指定しても完全一致検索となり、何も見つからないことがあります。

いずれもエラーではなく、確信に満ちた誤った回答を招きます。このツールは、エンドポイントではなくタスクを表すコマンドの背後に、こうした問題をすべて吸収します。

できること

コマンド回答する内容
problems list現在何が故障しているか。抑制された問題も含み、それを隠しているメンテナンス期間も明示します
host investigate1回の呼び出しで、ホストの状態、アクティブな問題、最近のイベント、応答がないアイテムとサポートされていないアイテム、メンテナンスを確認します
host status1万2,000文字に及ぶ設定の代わりに、必要最小限の項目を表示します
alert why通知が届いた、または届かなかった理由。抑制、配信の試行、アクション、メディアタイプ、受信者ごとの深刻度フィルターを確認します
resolveチャットから貼り付けられた通知を、イベント、ホスト、トリガーの識別子に変換します
unreachableZabbix がポーリングできない監視対象ホストと、記録されたエラーを表示します
metrics latest / history正しい履歴タイプ、人間に読みやすい単位、min/avg/max を使って値を表示します
maintenancems* のようなホストパターンを使って、メンテナンス期間を開始、延長、終了、削除します
api call同じルールに従う、最後の手段となるコマンドです

安全性

読み取り操作は常にすぐに実行されます。それ以外の操作を実行するかどうかは、allow_write という1つの設定で決まり、デフォルトでオンです。

# ~/.config/zabbix-ai-cli-mcp/config.toml
allow_write = true            # the default; omit the key and you get this

[profiles.prod]
url = "https://zabbix.example.com"
allow_write = false           # this one profile is an exception

確信が持てない場合は、allow_write = false に設定してください。 変更のたびにコマンドが1つ必要になりますが、エージェントに予期せぬ操作をされる余裕のないインストール環境では、これが適切なデフォルトです。プロファイルのオーバーライドはファイル全体の設定より優先され、ZABBIX_AI_CLI_MCP_ALLOW_WRITE はその両方より優先されます。これにより、設定ファイルを所有していないコンテナーにも設定を伝えられます。

呼び出し元allow_write = trueallow_write = false
CLI、ターミナルを操作する人--apply で変更を適用します計画を立ててから、approve を実行します
MCP、エージェントzabbix_write で変更を適用します計画を立ててから、ターミナルで approve を実行します

書き込みが無効の場合、どのツールもフラグも変更を適用しません。変更内容が提示され、人が自分のターミナルで zabbix-ai-cli-mcp approve <plan-id> を実行します。エージェントが送信できる確認は、プロンプトインジェクションでも送信できてしまうため、確認手段は用意していません。承認はモデルのコンテキスト外で行われます。

書き込みが有効の場合、エージェント自身が変更を適用します。プロファイル、パラメーター、変更対象のオブジェクト、そして人とモデルのどちらが要求したかを含め、すべての変更が監査ログに記録されます。zabbix-ai-cli-mcp mcp --read-only は設定にかかわらず、どちらの方法も拒否します。また、書き込み可能な HTTP エンドポイントは、ベアラートークンがないと起動しません。

どちらの場合も、それ以外の制限は変わりません。プロファイルの scopes によって操作対象は引き続き制限され、リスクレジストリは認証情報を渡したりコードを実行したりするメソッドを引き続き拒否します。また、計画の実行前には、稼働中の Zabbix に対して引き続き再確認が行われます。

$ zabbix-ai-cli-mcp maintenance create "ms*" --for 2h

PLAN pl_cc89d2e87d15

Create maintenance "ms* (2h0m)" for 2h0m, 2026-08-21T05:39:00Z to 2026-08-21T07:39:00Z

Affects:
  host ms1.8qw.ru
  host ms10.8qw.ru
  ...

Risk: write
Expires: 2026-08-21T05:54:22Z

Nothing has changed yet.
To apply it: zabbix-ai-cli-mcp approve pl_cc89d2e87d15

計画の実行前に、パラメーターのハッシュが再計算され、期限が確認され、前提条件が Zabbix から再読み込みされます。計画の作成後に置き換えられたウィンドウは、削除されずに拒否されます。適用された変更はすべて監査ログに追記されます。

拒否するよりも、この仕組みのほうが重要です。このツールが置き換える以前のツールが書き込みをブロックしたときでも、実際にはコンテナーからコピーしたトークンを使って作業が行われ、何も防げないまま監査証跡だけが失われていました。記録される許可済みの手段のほうが、回避される拒否よりも優れています。

インストール

Linux または macOS では、これをターミナルに貼り付けてください。最新リリースを取得して checksums.txt と照合し、バイナリを ~/.local/bin に配置して、stdio 経由で MCP サーバーを起動します。先に2つのプレースホルダーを置き換えてください。

VERSION=$(curl -fsSLI -o /dev/null -w '%{url_effective}' \
  https://github.com/stufently/zabbix-ai-cli-mcp/releases/latest | sed 's|.*/v||')
OS=$(uname -s | tr '[:upper:]' '[:lower:]')                      # linux | darwin
ARCH=$(uname -m | sed 's/x86_64/amd64/; s/aarch64/arm64/')        # amd64 | arm64
ARCHIVE=zabbix-ai-cli-mcp_${VERSION}_${OS}_${ARCH}.tar.gz
BASE=https://github.com/stufently/zabbix-ai-cli-mcp/releases/download/v${VERSION}

TMP=$(mktemp -d) && cd "$TMP"
curl -fsSLO "$BASE/$ARCHIVE" && curl -fsSLO "$BASE/checksums.txt"
grep " $ARCHIVE\$" checksums.txt | shasum -a 256 -c -   # sha256sum -c - works too
tar -xzf "$ARCHIVE"
mkdir -p ~/.local/bin && install -m 0755 zabbix-ai-cli-mcp ~/.local/bin/
~/.local/bin/zabbix-ai-cli-mcp --version
ZABBIX_AI_CLI_MCP_URL=https://zabbix.example.com ZABBIX_AI_CLI_MCP_TOKEN=your-api-token ~/.local/bin/zabbix-ai-cli-mcp mcp

最後の行は、以下の各クライアント設定で実行するコマンドです。引数 ["mcp"] を指定した zabbix-ai-cli-mcp と、環境変数から取得する Zabbix の URL および API トークンです。起動したら Ctrl-C で停止してください。以降はクライアントが起動します。クライアント設定ではバイナリを名前で呼び出すため、~/.local/bin を PATH に追加する必要があります。追加しない場合は、絶対パスを指定してください。

ビルド済みバイナリ(Go 不要)

タグ付きの各リリースでは、amd64 および arm64 向けの Linux、macOS、Windows 用アーカイブと checksums.txt が公開されます。このセクション冒頭のコードブロックで、Linux または macOS にインストールできます。アーカイブには docs/ とエージェントスキルも含まれています。

Windows(PowerShell)では、アーカイブは zip 形式です。

$Version = (Invoke-RestMethod https://api.github.com/repos/stufently/zabbix-ai-cli-mcp/releases/latest).tag_name.TrimStart('v')
$Arch = if ($env:PROCESSOR_ARCHITECTURE -eq 'ARM64') { 'arm64' } else { 'amd64' }
$Zip = "zabbix-ai-cli-mcp_${Version}_windows_${Arch}.zip"
$Base = "https://github.com/stufently/zabbix-ai-cli-mcp/releases/download/v$Version"
Invoke-WebRequest "$Base/$Zip" -OutFile $Zip
Invoke-WebRequest "$Base/checksums.txt" -OutFile checksums.txt
$Want = ((Select-String -Path checksums.txt -Pattern " $Zip$").Line -split '\s+')[0]
if ((Get-FileHash $Zip -Algorithm SHA256).Hash -ne $Want) { throw "checksum mismatch" }
Expand-Archive $Zip -DestinationPath "$env:LOCALAPPDATA\zabbix-ai-cli-mcp" -Force
& "$env:LOCALAPPDATA\zabbix-ai-cli-mcp\zabbix-ai-cli-mcp.exe" --version

%LOCALAPPDATA%\zabbix-ai-cli-mcp を PATH に追加するか、クライアント設定で zabbix-ai-cli-mcp.exe のフルパスを指定してください。

ソースからのビルド

ホスト環境向けにビルドする場合は、Go 1.25 以降を使用してください。

go install github.com/stufently/zabbix-ai-cli-mcp/cmd/zabbix-ai-cli-mcp@latest

# Or build the current checkout.
mkdir -p bin
go build -trimpath -o bin/zabbix-ai-cli-mcp ./cmd/zabbix-ai-cli-mcp

Make ターゲットはコンテナーでの実行を前提としているため、ホストに Go は必要ありません。

make build      # Linux binary in ./bin, built inside Docker
make docker     # Linux container image for the MCP server
リリースの出所を確認する

checksums.txt で証明できるのはダウンロードが破損していないことだけであり、誰がビルドしたかは証明できません。アーカイブを置き換えられる人なら、その隣にあるチェックサムファイルも置き換えられるからです。このセクションの追加後、最初に作成されるリリースから、リリースワークフローではすべてのアーカイブ、すべての .mcpb バンドル、コンテナーイメージについてビルドの出所も署名します(GitHub artifact attestations を通じた Sigstore)。GitHub CLI を使います。

verify() {
  gh attestation verify "$1" --repo stufently/zabbix-ai-cli-mcp \
    --source-ref "refs/tags/v$VERSION" \
    --signer-workflow stufently/zabbix-ai-cli-mcp/.github/workflows/release.yml \
    --deny-self-hosted-runners
}
verify "$ARCHIVE"
verify "zabbix-ai-cli-mcp-${VERSION}-linux-amd64.mcpb"
verify "oci://ghcr.io/stufently/zabbix-ai-cli-mcp:$VERSION"

検証に成功すると、そのファイルがこのリポジトリのリリースワークフローによって、GitHub ホストランナー上で、タグ v$VERSION からビルドされたことを示します。別のリリースで証明されたファイルの名前を変更した場合は、--source-ref による検証に失敗します。0.4.3 以前のリリースに含まれるのはチェックサムのみです。

設定

zabbix-ai-cli-mcp login --profile prod

URL と API トークンの入力を求め、サーバーに対してトークンを検証してから保存します。トークンをフラグとして指定することはできません。フラグの値はシェルの履歴やプロセス一覧に表示されるため、代わりにパイプで渡してください。

printf %s "$TOKEN" | zabbix-ai-cli-mcp login --profile prod --url https://zabbix.example.com --token-stdin

スコープを指定しないプロファイルでは、書き込み設定で許可されている操作をすべて実行できます。スコープを1つでも指定すると、許可される操作は指定したスコープのみに制限されます。

zabbix-ai-cli-mcp profile scopes prod --add maintenance
zabbix-ai-cli-mcp profile show prod        # what it may do, writes included

解決順序と、ヘッドレス環境およびコンテナー環境での使用方法については、docs/authentication.md をご覧ください。

Zabbix MCP サーバーを AI クライアントに追加する

以下の各ブロックでは、上記のインストール行と同じコマンド zabbix-ai-cli-mcp を引数 ["mcp"] とともに実行します。env 内の URL と API トークンはプレースホルダーです。実際の値に置き換え、実際のトークンをコミットしないでください。クライアントにトークンを保持させたくない場合は、zabbix-ai-cli-mcp login を実行し、2つの変数の代わりに args で --profile とプロファイル名を渡してください。

Claude Code

プロジェクトのルートにあるプロジェクトファイル .mcp.json:

{
  "mcpServers": {
    "zabbix": {
      "command": "zabbix-ai-cli-mcp",
      "args": ["mcp"],
      "env": {
        "ZABBIX_AI_CLI_MCP_URL": "https://zabbix.example.com",
        "ZABBIX_AI_CLI_MCP_TOKEN": "your-api-token"
      }
    }
  }
}

同じサーバーはターミナルから登録することもできます。Claude Code を起動する環境で2つの変数を設定するか、上記の .mcp.json を使用してください。

claude mcp add zabbix -- zabbix-ai-cli-mcp mcp
zabbix-ai-cli-mcp skills install claude
Claude Desktop

claude_desktop_config.json — macOS では ~/Library/Application Support/Claude/claude_desktop_config.json、Windows では %APPDATA%\Claude\claude_desktop_config.json、Linux では ~/.config/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "zabbix": {
      "command": "zabbix-ai-cli-mcp",
      "args": ["mcp"],
      "env": {
        "ZABBIX_AI_CLI_MCP_URL": "https://zabbix.example.com",
        "ZABBIX_AI_CLI_MCP_TOKEN": "your-api-token"
      }
    }
  }
}

Claude Desktop では、このサーバーをワンクリックでインストールすることもできます。お使いのオペレーティングシステム用の .mcpb を https://github.com/stufently/zabbix-ai-cli-mcp/releases/latest からダウンロードして開いてください。Desktop では、Zabbix の URL、API トークン、書き込みを許可するかどうか(Desktop 拡張機能ではデフォルトで無効)の入力を求められます。docs/mcp.md をご覧ください。

同じリリースには、各 .mcpb の SHA256 を記載した checksums.txt も公開されています。このファイルをバンドルと同じディレクトリにダウンロードし、バンドルを開く前に確認してください。

sha256sum -c --ignore-missing checksums.txt   # run next to the downloaded .mcpb

macOS では、バンドルの行を抽出し、shasum -a 256 -c - で確認してください。

Cursor

~/.cursor/mcp.json、またはプロジェクト内の .cursor/mcp.json:

{
  "mcpServers": {
    "zabbix": {
      "command": "zabbix-ai-cli-mcp",
      "args": ["mcp"],
      "env": {
        "ZABBIX_AI_CLI_MCP_URL": "https://zabbix.example.com",
        "ZABBIX_AI_CLI_MCP_TOKEN": "your-api-token"
      }
    }
  }
}
Windsurf

mcp_config.json。macOS と Linux では ~/.config/devin/mcp_config.json(または $XDG_CONFIG_HOME/devin/mcp_config.json)です。Windows では %APPDATA%\devin\mcp_config.json です。以前のビルドでは ~/.codeium/windsurf/mcp_config.json が使用されていました。

{
  "mcpServers": {
    "zabbix": {
      "command": "zabbix-ai-cli-mcp",
      "args": ["mcp"],
      "env": {
        "ZABBIX_AI_CLI_MCP_URL": "https://zabbix.example.com",
        "ZABBIX_AI_CLI_MCP_TOKEN": "your-api-token"
      }
    }
  }
}
Zed

Zed では MCP サーバーをコンテキストサーバーと呼びます。ファイルは settings.json です(zed: open settings file)。

{
  "context_servers": {
    "zabbix": {
      "command": "zabbix-ai-cli-mcp",
      "args": ["mcp"],
      "env": {
        "ZABBIX_AI_CLI_MCP_URL": "https://zabbix.example.com",
        "ZABBIX_AI_CLI_MCP_TOKEN": "your-api-token"
      }
    }
  }
}

同じエントリーは Settings → AI → MCP Servers → Add Server → Add Local Server からも追加できます。ここに表示されるサーバー名の横のインジケーターで、サーバーが起動したかどうかを確認できます。

Codex
# ~/.codex/config.toml
[mcp_servers.zabbix]
command = "zabbix-ai-cli-mcp"
args = ["mcp", "--profile", "prod"]
zabbix-ai-cli-mcp skills install codex
VS Code

その他の stdio クライアントでは、同じコマンド zabbix-ai-cli-mcp と引数 ["mcp"] に加えて、環境変数に URL とトークンを指定します。HTTP を使用するクライアントの場合:

zabbix-ai-cli-mcp mcp --http 127.0.0.1:8000 --bearer-token "$MCP_TOKEN"

書き込み可能なサーバーは、ベアラートークンなしでは、ループバック上であっても HTTP での起動を拒否します。トークンがなければ、マシン上のすべてのプロセスがこのサーバーを通じて Zabbix を変更できてしまうためです。また、ベアラートークンとともに --allow-remote を渡さない限り、ルーティング可能なアドレスでの起動も拒否します。認証されていない MCP エンドポイントは、Zabbix への認証されていない経路となるためです。docs/mcp.md をご覧ください。

Docker
docker run --rm -i \
  -e ZABBIX_AI_CLI_MCP_URL=https://zabbix.example.com \
  -e ZABBIX_AI_CLI_MCP_TOKEN_FILE=/run/secrets/zabbix \
  -v /path/to/token:/run/secrets/zabbix:ro \
  ghcr.io/stufently/zabbix-ai-cli-mcp:latest mcp

MCP ツール

ツールは15個で、200個ではありません。ツールが多いと、エージェントは何も実行する前にコンテキストを消費し、その大半は一度も呼び出されません。

zabbix_problems           zabbix_metrics_latest      zabbix_unreachable
zabbix_problem            zabbix_metrics_history     zabbix_maintenance_list
zabbix_hosts              zabbix_alert_why           zabbix_api_call
zabbix_host_status        zabbix_resolve             zabbix_plan_create
zabbix_host_investigate                              zabbix_plan_status
                                                     zabbix_write

書き込み操作ごとにツールを用意することはありません。zabbix_write と zabbix_plan_create は、CLI の構築にも使われる同じレジストリから生成した operation 列挙型を受け取るため、操作を追加してもツールの数は増えません。 zabbix_write が提供されるのは、allow_write で許可されている場合のみです。

プロンプトの例

  • web01 のディスクアラートが届かなかったのはなぜですか?
  • 現在、Zabbix では何が問題になっていますか?
  • Zabbix がポーリングできなかった監視対象ホストはどれですか?
  • 過去1日間の db01 の CPU 使用状況はどうでしたか?

JSON コントラクト

{
  "ok": true,
  "data": {},
  "warnings": [],
  "meta": {
    "returned": 50,
    "total": 381,
    "truncated": true,
    "truncated_reason": "row_limit",
    "partial": false,
    "zabbix_version": "7.4.10"
  }
}

エラーには、固定のコード、再試行する価値があるかどうか、次に行うべきことが含まれます。

{
  "ok": false,
  "error": {
    "code": "AUTHENTICATION_FAILED",
    "message": "Zabbix rejected the configured API token",
    "retryable": false,
    "suggestion": "run 'zabbix-ai-cli-mcp login' to configure a new token"
  }
}

zabbix-ai-cli-mcp schema を実行すると、すべての操作とそのパラメーター、JSON Schema が出力されるため、エージェントはフラグを推測するのではなく、プログラムからツールの使い方を学べます。

詳しくはdocs/json-output.mdをご覧ください。

ドキュメント

FAQ

Zabbix MCP サーバーとは何ですか?

MCP サーバーとは、Model Context Protocol を介して AI クライアントにシステムを公開する小さなプログラムです。Zabbix MCP サーバーを使うと、Claude、Codex、Cursor などのクライアントが、JSON-RPC API に対する curl 呼び出しをモデルが推測する代わりに、問題、ホスト、アイテム、イベント、メンテナンスをツールとして Zabbix に問い合わせられます。

AI エージェントによって Zabbix が変更されることはありますか?

それはご自身で決められ、設定項目は allow_write です。変更しなければ有効になっており、エージェントはメンテナンス期間を開始したり、イベントを承認したりできます。すべての変更は監査され、プロファイルのスコープとリスクレジストリによって制限されます。

allow_write = false に設定すると、変更はできません。書き込み操作を行うとプランを生成して停止します。プランを適用するには、zabbix-ai-cli-mcp approve <plan-id> を自身のターミナルで実行します。このモードでは MCP のパラメーターから何かが適用されることはなく、そのようなパラメーターが追加された場合にはビルドが失敗するテストもあります。

監視データは AI プロバイダーに送信されますか?

いいえ。このプログラムが言語モデルに接続することはありません。Zabbix に接続して JSON を出力します。その出力を MCP クライアントがどう扱うかは、ご自身とクライアント次第です。

対応している Zabbix のバージョンはどれですか?

ベアラートークン認証が導入された Zabbix 6.4 以降に対応しています。Zabbix 7.4 を対象に開発・テストされています。

Go をインストールする必要がありますか?

いいえ。make build は Docker 内でコンパイルするため、ホストに必要なのは Docker だけです。ホストネイティブのバイナリが必要な場合は go install を利用できます。また、タグ付きリリースごとに Linux、macOS、Windows 用のアーカイブとチェックサムに加え、ghcr.io のコンテナイメージが公開されます。

Zabbix API をラップする MCP サーバーとは何が違いますか?

薄いラッパーでは、エージェントは API の扱いにくい部分をそのまま引き受けます。たとえば、ホストを指定しない problem.get、浮動小数点アイテムに対して何も返さずに終わる history.get、"0" で固定された lastvalue などです。これらはエラーではなく、もっともらしい誤答を生みます。このツールは「何が問題か」「このアラートが届かなかったのはなぜか」といった質問に答え、こうした落とし穴を吸収します。また、ツールが多いと何も実行する前にエージェントのコンテキストを消費してしまうため、200個ではなく15個のツールを提供します。

Zabbix の生の API を呼び出すこともできますか?

はい。ほかの機能と同じルールのもと、api call を通じて呼び出せます。認証情報の提供やコードの実行につながるメソッドは、スクリプトを作成してアクションで実行させるといった遠回りの方法も含め、すべて拒否されます。

AI クライアントがなくても使えますか?

はい。人が読みやすいテーブル、JSON 出力、文書化された終了コードを備えた通常の CLI なので、シェルや CI ジョブからも同じように利用できます。

テスト済みのクライアントとプラットフォーム

実際に実行したもののみを記載しています。上記の Claude Desktop、Cursor、 Windsurf、Zed、VS Code 向けクライアント設定は、各クライアントのドキュメントに記載された MCP 設定に準拠していますが、メンテナーによる動作確認は行っていません。報告を歓迎します。

クライアントOSサーバーの実行方法確認状況
Claude Code 2.1Ubuntu 26.04、x86_64stdio 経由の ghcr.io/stufently/zabbix-ai-cli-mcp イメージ(docker run -i)Zabbix 7.4.10 に対して 0.1.0 以降、日常的に使用。tools/list は 2026-10-12 に再確認
Codex CLI 0.162Ubuntu 26.04、x86_64make build でビルドしたバイナリ、stdio同じ Zabbix に対して 0.3.0 以降、日常的に使用。tools/list は 2026-10-12 に再確認
なし(CI)Ubuntu(GitHub ホステッド)、x86_64単体テストと競合状態テスト、コンテナーイメージの起動プルリクエストごと
なし(CI)macOS amd64 および arm64、Windows amd64、Linux arm64クロスコンパイルのみ。実行は未実施プルリクエストごと

互換性

Zabbix 6.4 以降に対応しています。ベアラートークン認証は 6.4 で導入されており、実装されている認証方式はこれのみです。バージョン依存の動作は明示的に検証されるため、互換性がない場合は空の結果を返さず、その旨が報告されます。

Zabbix 7.4 を対象に開発およびテストを行っています。

ライセンス

Apache-2.0。LICENSE を参照してください。

Zabbix は Zabbix LLC の商標です。 このプロジェクトは独立したオープンソースプロジェクトであり、Zabbix LLC との提携関係はなく、同社の推奨を受けているものでもありません。

コメント

MCP は初めてですか?

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

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