はじめに
Ciscoエンジニアが公開しているMCPサーバー network-mcp-docker-suite に含まれるIOS XE用のMCPサーバーを使って、自然言語でCisco機器を操作してみます。
環境
以下の記事で構築した環境を使用します。
AIエージェントはVS Code拡張機能 GitHub Copilot Chat のAgent modeを使用します。
IOS XE MCPサーバーのデプロイ
以下のGitHubから network-mcp-docker-suite リポジトリーをクローンします。
network-mcp-docker-suite ディレクトリーに移動して、.env.example を .env としてコピーします。
cd network-mcp-docker-suite
cp .env.example .env
.env ファイルを編集し、IOS XE MCP SERVER セクションにあるIOS XEのSSHユーザー名とパスワードを設定します。
# ========================================
# IOS XE MCP SERVER (Port 8003)
# ========================================
# IOS XE Device SSH Configuration
# REQUIRED: Server fails without these credentials
IOS_XE_USERNAME=admin # SSH username for IOS XE devices
IOS_XE_PASSWORD=admin # SSH password for IOS XE devices
MCPサーバーの起動
起動方法がいくつかありますが、ここではDocker Composeを使用して IOS XE MCP Server のみを起動します。
docker-compose up -d ios-xe-mcp-server
% docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
37512202a218 vrnetlab/cisco_iol:17.16.01a "/entrypoint.sh" 7 hours ago Up 7 hours 0.0.0.0:20001->22/tcp, [::]:20001->22/tcp clab-iol-r1
9e667356ebec vrnetlab/cisco_iol:L2-17.16.01a "/entrypoint.sh" 7 hours ago Up 7 hours 0.0.0.0:20002->22/tcp, [::]:20002->22/tcp clab-iol-s1
cbb0db6a57b4 network-mcp-docker-suite-ios-xe-mcp-server "uv run python ios_x…" 6 days ago Up 18 minutes 0.0.0.0:8003->8003/tcp, [::]:8003->8003/tcp ios-xe-mcp-server
f6ab45eedaff ghcr.io/srl-labs/containerlab/devcontainer-dood-slim:0.72.0 "/bin/sh -c 'echo Co…" 7 days ago Up 18 hours magical_napier
VS Codeの設定
MCPサーバーの追加
VS Codeの任意のワークスペース (もしくはグローバル) にMCPサーバーを追加します。
参考:https://code.visualstudio.com/docs/copilot/customization/mcp-servers
{
"servers": {
"my-cisco-iosxe-mcp-server-vscode": {
"url": "http://localhost:8003/mcp",
"type": "http"
}
},
"inputs": []
}
チャットを開き、Agent を選択してAgentモードに変更し、ツールの構成を開きます。

追加したMCPサーバーにチェックが入っていることを確認します。

チャットでCisco IOLを操作
VS Codeのチャットを開き、命令をしてみます。
GitHub CopilotのFreeプランのため、モデルは Claude Haiku 4.5 を選択しています。
-
MCP経由で
clab-iol-r1(172.10.10.11)のバージョン情報を取得バージョン情報が取得できました。
実行結果を展開すると詳細を確認できます。MCP経由でshow versionコマンドを実行し、アウトプットのテキストを解析して応答してくれていることがわかります。 -
clab-iol-r1(172.10.10.11)の隣接機器情報を取得機器から
show lldp neighborsとshow cdp neighborsの結果を取得して隣接情報を教えてくれました。
-
clab-iol-r1(172.10.10.11)のEthernet0/1にIPアドレス(192.168.0.1/24)を設定clab-iol-r1のEthernet0/1にIPアドレスが設定されました。
実際の機器にSSH接続して確認してみます。% ssh -p 20001 admin@localhost (admin@localhost) Password: r1#sh ip int bri Interface IP-Address OK? Method Status Protocol Ethernet0/0 172.10.10.11 YES NVRAM up up Ethernet0/1 192.168.0.1 YES manual up up Ethernet0/2 unassigned YES NVRAM administratively down down Ethernet0/3 unassigned YES NVRAM administratively down down正しくIPアドレスが設定されています。
以上、Cisco IOS XE用MCPサーバーを使用して自然言語で Cisco IOL の操作ができることを確認できました。





