MCPServer_NWTroubleShoot

thinas1115/MCPServer_NWTroubleShoot

3.1

If you are the rightful owner of MCPServer_NWTroubleShoot and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

MCPServer_NWTroubleShoot is a specialized server designed to diagnose and resolve network issues efficiently using Model Context Protocol (MCP) technology.

MCPServer_NWTroubleShoot

MCP Server that troubleshooting target network


📘 概要 (Overview)

このリポジトリは、Claude による MCP(Model Context Protocol) を用いて
ネットワークトラブルシュートを自動化する PoC 環境です。

AWX(Ansible Tower)、ContainerLab、VyOS を組み合わせ、
show コマンドの安全な実行と MCP 経由での解析を検証します。

項目内容
ホスト OSWindows 11
仮想環境WSL2 (Ubuntu 22.04.5 LTS)

alt text


📁 ディレクトリ構成 (Directory Structure)

MCPServer_NWTroubleShoot/
├─ mcp-awx/ # MCP サーバ本体 (Claude MCP 連携エントリポイント)
│ ├─ server.py # MCP⇔AWX 連携サーバ
│ ├─ .env # AWX 接続情報 (URL / Token / JobTemplate ID)
│ └─ pycache/
│
├─ awx/ # AWX 実行環境 (Ansible Execution Environment)
│ ├─ Dockerfile.awx-ee-vyos
│ ├─ execution-environment.yml
│ ├─ requirements.txt / requirements.yml
│ └─ context/
│
├─ container-lab/ # ContainerLab 構成と検証用 Playbook 群
│ └─ lab1/
│ ├─ lab1.yml
│ ├─ show.yml / show_pretty.yml
│ ├─ inventory.yml / vault.yml
│ └─ configs/, results/, ansible.cfg
│
├─ vyos/ # VyOS ISO → Docker イメージ化スクリプト
│ ├─ vyos_build.sh
│ ├─ Dockerfile
│ ├─ rootfs.tar
│ ├─ vyos-*.iso
│ └─ live/
│
└─ README.md

⚙️ 環境構築と実行 (Setup & Execution)

🧩 1. VyOS イメージビルド

cd vyos
./vyos_build.sh --iso ./vyos-2025.10.01-0021-rolling-generic-amd64.iso \
                --tag vyos:rolling-2025.10.01

VyOS ISO から rootfs を抽出し、 FROM scratch ベースで Docker イメージを生成します。 ContainerLab で利用可能な軽量 VyOS コンテナを作成します。

🧱 2. ContainerLab トポロジ起動

cd container-lab/lab1
sudo containerlab deploy -t lab1.yml

複数の VyOS ノードを構築し、 AWX 経由で show コマンドを実行・収集する環境を起動します。

🧰 3. AWX 実行環境 (Execution Environment) のビルド

cd awx
docker build -t awx-ee-vyos -f Dockerfile.awx-ee-vyos .

含まれる主な要素:

vyos.vyos コレクション

paramiko などの Python 依存モジュール

🧠 4. MCP サーバ起動

cd mcp-awx
pip install -r requirements.txt
python server.py

.env 設定例:

AWX_URL=https://awx.local
AWX_TOKEN=<your-awx-api-token>
AWX_TEMPLATE_ID=9

Claude や他の MCP クライアントからこのサーバを叩くことで、 AWX のジョブテンプレートを経由して安全に show コマンドを実行できます。


再起動時のメモ

# 1. WSL起動
wsl

# 2. Docker起動(自動起動してない場合)
sudo service docker start
# 3. AWXを再開
cd ~/awx
※下記でPod確認(自動で立ち上がってるはず)
>kubectl get pods -n awx

NAME                                               READY   STATUS      RESTARTS      AGE
awx-operator-controller-manager-85cb47dcc5-v2wj8   2/2     Running     2 (22h ago)   2d1h
awx-postgres-15-0                                  1/1     Running     0             2d1h
awx-task-7576b654fc-knpzv                          4/4     Running     0             2d
awx-web-65dd6b58b8-6b99d                           3/3     Running     0             2d

※ポートフォワード必要なら下記コマンド実行

kubectl -n awx port-forward svc/awx-service 8043:80
# 4. ContainerLabを再構築
cd ~/container-lab/lab1
sudo containerlab deploy -t lab1.yml

# 5. MCPサーバ再起動
cd ~/MCPServer_NWTroubleShoot/mcp-awx
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
fastmcp run server.py