mcpField
N
Network AIops

Network AIops

ローカル
github.com/AIops-toolsクラウド・インフラ02 週間前に更新

Network AIops について

Network AIops は、NAPALM 経由でマルチベンダーのネットワーク機器を操作する AI エージェント向け MCP サーバーです。オプションの NetBox 検索に対応し、機器診断や設定操作を監査ログ、暗号化認証情報、取り消し記録とともに提供します。

主な機能

  1. 01NAPALM によるマルチベンダー機器への接続
  2. 02インターフェース、隣接機器、経路、ハードウェアの照会
  3. 03インターフェースと BGP の根本原因診断
  4. 04設定のバックアップ、差分、マージ、ロールバック
  5. 05監査ログ、暗号化認証情報、取り消し記録

活用シーン

  1. 01機器の状態とインターフェースカウンターの確認
  2. 02インターフェース障害や BGP 隣接問題の調査
  3. 03変更前の設定バックアップと比較
  4. 04NetBox での機器・インターフェース検索

MCP 対応

MCP サーバーは、読み取り、設定変更、取り消しを行うネットワーク機器向けの 33 ツールと、オプションの NetBox ツールをクライアントに公開します。各呼び出しは監査ログに記録されます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"aiops-tools-network-aiops": {
"command": "uvx",
"args": [
"network-aiops"
]
}
}
}
起動コマンドuvx network-aiops

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

パッケージ
pypinetwork-aiops0.14.0

ツール

33

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
targetanyいいえ
include_secretsbooleanいいえ

詳細

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-XEiosSSH
Cisco Nexus NX-OSnxos(NX-API)/nxos_ssh(SSH)HTTPS/SSH
Cisco IOS-XRiosxrSSH(XML エージェント)
Arista EOSeoseAPI(HTTPS)
Juniper JunosjunosNETCONF(SSH)

その他のプラットフォーム(Nokia SR OS/SR Linux、Huawei VRP など)も、NAPALM のコミュニティドライバー経由でアクセスできますが、ここでは公式にテストされていません。必要なプラットフォームがありますか? 貢献・機能リクエストをご覧ください。

対応アクション

アクションツールR/Wリスク
デバイス情報(ホスト名/ベンダー/モデル/OS/シリアル番号/稼働時間)device_factsR低
インターフェース(稼働状態、速度、説明)get_interfacesR低
インターフェースのトラフィックとエラーカウンターget_interfaces_countersR低
インターフェースの IP アドレスget_interfaces_ipR低
BGP ピア(概要/詳細)get_bgp_neighbors / get_bgp_neighbors_detailR低
LLDP ピア(概要/詳細)get_lldp_neighbors / get_lldp_neighbors_detailR低
ARP テーブルget_arp_tableR低
MAC アドレステーブルget_mac_address_tableR低
VLANget_vlansR低
ルート検索get_route_toR低
ハードウェア環境(ファン/温度/電源/CPU/メモリー)get_environmentR低
光トランシーバーのレベルget_opticsR低
NTP サーバー/同期統計get_ntp_servers / get_ntp_statsR低
ローカルユーザー(ハッシュは伏字)get_usersR低
SNMP 情報(コミュニティは伏字)get_snmp_informationR低
ネットワークインスタンス(VRF)get_network_instancesR低
デバイスのヘルス状態の集約device_healthR低
インターフェースのヘルス状態の RCA(ダウン/エラー/破棄/フラップ)interface_health_rcaR低
BGP ピアの RCA(ダウン/シャット/リセット/ルートなし)bgp_neighbor_rcaR低
稼働中の設定をバックアップconfig_backupR低
候補設定の差分を確認(ドライラン)config_diffR低
設定をマージしてコミットconfig_mergeW中
設定全体を置き換えてコミットconfig_replaceW高
直前のコミットをロールバックconfig_rollbackW中
NetBox のデバイス一覧netbox_list_devicesR低
NetBox のデバイス取得netbox_get_deviceR低
NetBox のデバイスインターフェースnetbox_device_interfacesR低
記録された取り消し可能な書き込みの一覧undo_listR低
記録された逆操作を適用(管理対象、単回使用、ドライラン対応)undo_applyW中

このツールが判断すること、しないこと

このツールは、マルチベンダーのネットワークデバイス(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 またはプルリクエストを作成してください。コントリビューション、機能リクエスト、コメントを歓迎します。

ライセンス

MIT — github.com/AIops-tools/Network-AIops

コメント

MCP は初めてですか?

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

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