Network AIops について
Network AIops は、NAPALM 経由でマルチベンダーのネットワーク機器を操作する AI エージェント向け MCP サーバーです。オプションの NetBox 検索に対応し、機器診断や設定操作を監査ログ、暗号化認証情報、取り消し記録とともに提供します。
主な機能
- 01NAPALM によるマルチベンダー機器への接続
- 02インターフェース、隣接機器、経路、ハードウェアの照会
- 03インターフェースと BGP の根本原因診断
- 04設定のバックアップ、差分、マージ、ロールバック
- 05監査ログ、暗号化認証情報、取り消し記録
活用シーン
- 01機器の状態とインターフェースカウンターの確認
- 02インターフェース障害や BGP 隣接問題の調査
- 03変更前の設定バックアップと比較
- 04NetBox での機器・インターフェース検索
MCP 対応
MCP サーバーは、読み取り、設定変更、取り消しを行うネットワーク機器向けの 33 ツールと、オプションの NetBox ツールをクライアントに公開します。各呼び出しは監査ログに記録されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
33掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| target | any | いいえ | |
| include_secrets | boolean | いいえ |
詳細
network-aiops
免責事項:これはコミュニティが保守するオープンソースプロジェクトであり、Cisco、Arista、Juniper、NetBox Labs、またはいかなるネットワークベンダーとも提携、推奨、支援の関係はありません。 ベンダー名および製品名は、それぞれの 所有者の商標です。ソースコードは、MITライセンスの下で github.com/AIops-tools/Network-AIops にて公開されており、誰でも監査できます。
AI エージェント向けの、ガバナンスが適用されたマルチベンダーのネットワークデバイス運用 — 33 個の MCP ツールを備え、
すべてに同梱の @governed_tool ハーネスが適用されています。~/.network-aiops/ に保存される統合監査ログ、
トークン/暴走予算ガード、取り消しトークンの記録、わかりやすいリスク階層ラベルを提供します。認証情報(デバイスのパスワードと NetBox トークン)
は暗号化ストア(secrets.enc)に保存され、ディスク上にプレーンテキストで保存されることはありません。
デバイスにはNAPALM経由でアクセスします。オプションの NetBox ブロックを追加すると、信頼できる唯一の情報源への照会が可能になります。
スタンドアロン:ガバナンスハーネスはパッケージに同梱されています (
network_aiops.governance)。network-aiops は外部のスキルファミリーに依存しません。 対応範囲は一般的なデバイス操作に重点を置いており、まだ網羅的ではありません。
検証状況:テストスイートはモックを使用しており、実機デバイスでの検証はまだ行われていません — cEOS/vMX/containerlab でセルフテストできます。 詳細はdocs/VERIFICATION.mdをご覧ください。
動作する機能
デバイス情報、インターフェイス(カウンター/IP を含む)、BGP/LLDP ネイバー(概要と詳細)、ARP/MAC テーブル、VLAN、ルート照会、
ハードウェア環境、光トランシーバー、NTP、ユーザー、SNMP 情報、VRF、集約された device_health を読み取ります。読み取り専用の根本原因分析(RCA)診断を実行し、
ダウン/エラー発生中/フラッピング中のインターフェイスや、健全でない BGP ネイバーを検出します — 検出結果には、それぞれ判定の根拠となった測定値が記載されます。実行中の設定をバックアップし、
設定差分をドライランで確認し、設定のマージ/置換/ロールバックを実行できます — 以下に示す 5 つの主要な NAPALM プラットフォームすべてに対応しています。オプションの NetBox 照会(デバイスとインターフェイス)により、
変更前に意図した状態を確認できます。
NAPALM は、すべてのプラットフォームですべての getter を実装しているわけではありません。未対応の getter はクラッシュするのではなく、
「<driver> ドライバーではサポートされていません」という説明付きのエラーを返します。シークレットが返されることはありません。get_users はパスワードハッシュを伏せ、
get_snmp_information はコミュニティ文字列を伏せます。
対応デバイス
| プラットフォーム | NAPALM ドライバー | トランスポート |
|---|---|---|
| Cisco IOS/IOS-XE | ios | SSH |
| Cisco Nexus NX-OS | nxos(NX-API)/nxos_ssh(SSH) | HTTPS/SSH |
| Cisco IOS-XR | iosxr | SSH(XML エージェント) |
| Arista EOS | eos | eAPI(HTTPS) |
| Juniper Junos | junos | NETCONF(SSH) |
その他のプラットフォーム(Nokia SR OS/SR Linux、Huawei VRP など)も、NAPALM のコミュニティドライバー経由でアクセスできますが、ここでは公式にテストされていません。必要なプラットフォームがありますか? 貢献・機能リクエストをご覧ください。
対応アクション
| アクション | ツール | R/W | リスク |
|---|---|---|---|
| デバイス情報(ホスト名/ベンダー/モデル/OS/シリアル番号/稼働時間) | device_facts | R | 低 |
| インターフェース(稼働状態、速度、説明) | get_interfaces | R | 低 |
| インターフェースのトラフィックとエラーカウンター | get_interfaces_counters | R | 低 |
| インターフェースの IP アドレス | get_interfaces_ip | R | 低 |
| BGP ピア(概要/詳細) | get_bgp_neighbors / get_bgp_neighbors_detail | R | 低 |
| LLDP ピア(概要/詳細) | get_lldp_neighbors / get_lldp_neighbors_detail | R | 低 |
| ARP テーブル | get_arp_table | R | 低 |
| MAC アドレステーブル | get_mac_address_table | R | 低 |
| VLAN | get_vlans | R | 低 |
| ルート検索 | get_route_to | R | 低 |
| ハードウェア環境(ファン/温度/電源/CPU/メモリー) | get_environment | R | 低 |
| 光トランシーバーのレベル | get_optics | R | 低 |
| NTP サーバー/同期統計 | get_ntp_servers / get_ntp_stats | R | 低 |
| ローカルユーザー(ハッシュは伏字) | get_users | R | 低 |
| SNMP 情報(コミュニティは伏字) | get_snmp_information | R | 低 |
| ネットワークインスタンス(VRF) | get_network_instances | R | 低 |
| デバイスのヘルス状態の集約 | device_health | R | 低 |
| インターフェースのヘルス状態の RCA(ダウン/エラー/破棄/フラップ) | interface_health_rca | R | 低 |
| BGP ピアの RCA(ダウン/シャット/リセット/ルートなし) | bgp_neighbor_rca | R | 低 |
| 稼働中の設定をバックアップ | config_backup | R | 低 |
| 候補設定の差分を確認(ドライラン) | config_diff | R | 低 |
| 設定をマージしてコミット | config_merge | W | 中 |
| 設定全体を置き換えてコミット | config_replace | W | 高 |
| 直前のコミットをロールバック | config_rollback | W | 中 |
| NetBox のデバイス一覧 | netbox_list_devices | R | 低 |
| NetBox のデバイス取得 | netbox_get_device | R | 低 |
| NetBox のデバイスインターフェース | netbox_device_interfaces | R | 低 |
| 記録された取り消し可能な書き込みの一覧 | undo_list | R | 低 |
| 記録された逆操作を適用(管理対象、単回使用、ドライラン対応) | undo_apply | W | 中 |
このツールが判断すること、しないこと
このツールは、マルチベンダーのネットワークデバイス(NAPALM)と NetBox の操作(読み取りと書き込み)を正確かつ効率的に実行し、そのすべてを記録します。書き込みを許可するかどうかは判断しません。それはエージェントの判断、または接続に使用するアカウントの権限に委ねられます。読み取り専用の権限レベルを持つデバイスアカウントでログインし(NetBox には読み取り専用の API トークンを設定してください)、書き込みを実行すると、権限を実際に管理するサーバー側で失敗します。
そのため、読み取り専用スイッチも、ポリシーファイルも、設定する承認ゲートもありません。このツールが保証するのは、何もひそかに実行されないことです。MCP 経由でも CLI 経由でも、すべての呼び出しが ~/.network-aiops/audit.db に監査レコードを残します。また、破壊的な書き込みでは、実行前の状態を取得し、可能な場合は逆操作を記録します。
各ツールは
risk_levelを宣言し、その値は説明用の区分(none/confirm/review)として監査レコードに記録されます。これにより、レビュー担当者は高リスクの削除を示すレコードをひと目で確認できます。これはラベルであり、実行を制御するゲートではありません。
より小型のモデルやローカルモデルを実行していますか?agent-guardrails.md をご覧ください。このツールが適用するガードレール(プロンプトの予算を使って改めて指定する必要はありません)と、残りの内容に使えるそのまま利用可能なシステムプロンプトが記載されています。
クイックスタート
Claude Code プラグインとして
1 回のインストールで、エージェントにスキルと MCP サーバーの両方を追加できます。
/plugin marketplace add AIops-tools/marketplace
/plugin install network-aiops@aiops-tools
MCP サーバーは uv で取得され、このプラグインが宣言するパッケージバージョンに固定されます。これにより、監査レコードから、その書き込みを行ったコードをたどれます。認証情報は引き続き network-aiops init で設定します。詳しくは以下をご覧ください。
OpenClaw プラグインとして
同じバンドルが ClawHub で公開されており、インストールするとスキルと MCP サーバーをまとめて導入できます。
openclaw plugins install clawhub:@zw008/network-aiops
openclaw skills info network-aiops # expect: Visible to model: yes
その後、プラグインを読み込むために OpenClaw ゲートウェイを再起動してください。MCP サーバーは uv で取得され、このリリースに固定されているため、uvx が PATH 上にある必要があります。ない場合でもスキルはインストールされますが、Visible to model: no と表示されます。認証情報は以下と同じ方法で設定します。
CLI またはスタンドアロン MCP サーバーとして
uv tool install network-aiops
network-aiops init # wizard: device + driver + host + encrypted password
network-aiops doctor
network-aiops device facts -t core-sw1
network-aiops device health -t core-sw1
network-aiops diagnose interface-health -t core-sw1 # worst-first interface RCA
network-aiops diagnose bgp -t core-sw1 # worst-first BGP-neighbor RCA
network-aiops config backup -t core-sw1 -o core-sw1.cfg
プレイブック:設定に手を加える前に不安定なアップリンクをトリアージする
# 1. Ask the device what's actually wrong — findings are ranked worst-first and
# each cites the measured value (error count, last-flap seconds, uptime).
network-aiops diagnose interface-health -t core-sw1
network-aiops diagnose bgp -t core-sw1
# 2. If interface-health flags a link admin-up/oper-down with climbing errors and
# BGP shows the peer on that path recently reset, you have your root cause: a
# physical-layer fault (cable/optic) resetting the session — not routing.
# 3. Confirm intended state, then remediate with the governed, audited path.
network-aiops device counters -t core-sw1
network-aiops config diff -t core-sw1 -f fix.cfg # dry-run the change first
~/.network-aiops/config.yaml を作成します。
devices:
- name: core-sw1 # used as -t core-sw1
driver: eos # ios | nxos | nxos_ssh | iosxr | eos | junos
host: 10.0.0.1
username: admin
optional_args: # passed verbatim to NAPALM (optional)
secret: enable-pw # enable/secret
port: 443
# Optional source-of-truth:
netbox:
url: https://netbox.example.com
シークレットは ~/.network-aiops/secrets.enc に暗号化して保存されます(Fernet/AES + scrypt 派生キー、chmod 600)。config.yaml や平文の .env には決して保存しません。デバイスのパスワードはデバイス名をキーとして保存し、NetBox トークンには予約名 netbox-token を使用します。
network-aiops init # interactive wizard (recommended)
network-aiops secret set core-sw1 # store a device password (hidden prompt)
network-aiops secret set netbox-token # store the NetBox API token
network-aiops secret list # names only — values are never printed
network-aiops secret migrate # import a legacy plaintext .env, then delete it
対話なしでストアのロックを解除するには、NETWORK_AIOPS_MASTER_PASSWORD をエクスポートします(MCP サーバー/cron)。従来の平文環境変数(NETWORK_<TARGET_UPPER>_PASSWORD、NETWORK_NETBOX_TOKEN)は、非推奨の代替手段として引き続き利用できます。鍵ベースの SSH 認証では、デバイスのパスワードを空にできます。
MCP
{
"command": "network-aiops",
"args": ["mcp"],
"env": {
"NETWORK_AIOPS_CONFIG": "~/.network-aiops/config.yaml",
"NETWORK_AIOPS_MASTER_PASSWORD": "…" // unlocks the encrypted secret store
}
}
監査と安全性
- すべてのツール呼び出しは
~/.network-aiops/audit.dbに記録されます(ローカル SQLite。NETWORK_AIOPS_HOMEで保存先を変更できます)。 config_merge/config_replaceは変更前の稼働中の設定を取得し、バックアップへの逆操作となるconfig_replaceの取り消し記述子を記録します。config_replaceのrisk_levelはhighです。CLI の破壊的コマンド(config merge/replace/rollback)では二重確認が必要で、--dry-runにも対応しています(変更を確定せずに差分を表示します)。- デバイスからのテキストはすべて
sanitize()を通過します(出力の衛生処理:制御文字/書式文字の除去と切り詰め)。 - デバイスのパスワードと NetBox トークンは、暗号化された
secrets.enc(chmod 600)にのみ保存されます。ツールがパスワード、SNMP コミュニティ文字列、ハッシュを返すことはありません。
詳しくは skills/network-aiops/SKILL.md と SECURITY.md を参照してください。
関連スキル
| ご希望の内容… | 使用するスキル |
|---|---|
| ネットワーク機器の設定/情報(Cisco/Arista/Juniper) | network-aiops(このスキル) |
| Kubernetes クラスターの運用 | クラスター運用スキル |
| ハイパーバイザーの VM ライフサイクル管理 | ハイパーバイザー運用スキル |
コントリビューションと機能リクエスト
対応範囲は意図的に絞っています。まだ対応していないデバイスや操作が必要ですか?
github.com/AIops-tools/Network-AIops で issue またはプルリクエストを作成してください。コントリビューション、機能リクエスト、コメントを歓迎します。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。