mcp-netmiko-server について
mcp-netmiko-server は、netmiko を使って SSH 経由でネットワーク機器とやり取りできるようにする MCP サーバーです。機器の一覧は TOML ファイルで定義されます。コマンドの実行や設定変更の送信にも対応しています。
主な機能
- 01TOML ファイルによる機器一覧の定義
- 02機器へのコマンド送信と出力の取得
- 03設定コマンドの送信と自動の commit または save
- 04default セクションによるユーザー名とパスワードの共通化
活用シーン
- 01LLM によるネットワーク機器の状態確認
- 02MCP クライアントからの機器への設定変更の適用
MCP 対応
MCP サーバーとして、get_network_device_list、send_command_and_get_output、set_config_commands_and_commit_or_save の 3 つのツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-netmiko-server
LLM が SSH 経由(netmiko)でネットワークデバイスとやり取りできるようにする MCP サーバーです。
| ツール | 説明 |
|---|---|
| get_network_device_list | TOML ファイルで定義されたネットワークデバイスの名前と種類の一覧を返します。 |
| send_command_and_get_output | デバイスにコマンドを送信し、その出力を返します。 |
| set_config_commands_and_commit_or_save | デバイスに設定コマンドを送信し、自動的にコミットまたは保存します。 |
使用方法
- インストール
git clone https://github.com/upa/mcp-netmiko-server
cd mcp-netmiko-server
# Write your toml file that lists your devices
vim my-devices.network.toml
# Run via stdio
uv run --with "mcp[cli]" --with netmiko main.py my-devices.network.toml
# Run as an SSE server: URL is http://localhost:10000/sse in this case
uv run --with "mcp[cli]" --with netmiko main.py my-devices.network.toml --sse
- 設定
サンプルのネットワークデバイス のように、ネットワークデバイスを toml ファイルに記述します。
[default]
username = "rouser"
password = "rouserpassword"
[qfx1]
hostname = "172.16.0.40"
device_type = "juniper_junos"
[nexus1]
hostname = "nexus1.lab"
device_type = "cisco_nxos"
[default] は、username や password などのデフォルト値を定義する特別なセクションです。デバイスのセクションで値が定義されていない場合、デバイスはデフォルト値を継承します。
device_type の値については、netmiko のサポート対象プラットフォーム を参照してください。
- claude desktop config json:
{
"mcpServers": {
"netmiko server": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"netmiko",
"[PATH TO]/mcp-netmiko-server/main.py",
"[PATH TO]/YOUR-DEVICE.toml"
]
}
}
}
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。