mcp-netmiko-server
mcp-netmiko-serverは、SSHを介してネットワークデバイスと対話するためのMCPサーバーです。TOMLファイルを使用してデバイスのリストを取得し、コマンドを送信して出力を取得することができます。また、設定コマンドを送信し、自動的にコミットまたは保存する機能も備えています。
GitHubスター
13
ユーザー評価
未評価
フォーク
3
イシュー
0
閲覧数
2
お気に入り
0
README
mcp-netmiko-server
An MCP server that enables LLMs interacting with your network devices via SSH (netmiko).
Tool | Description |
---|---|
get_network_device_list | Return list of network device names and types defined in a TOML file. |
send_command_and_get_output | Send a command to a device and returns its output. |
set_config_commands_and_commit_or_save | Send configuration commands to a device and commit or save automatically. |
How to use
- Install
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
- Configuration
List your network devices in a toml file like sample.network.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]
is a special section that defines the default values such
as username
and password
. Devices inherit the default values if
not defined on their sections.
For device_type
values, see netmiko Supported
Platforms.
- 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"
]
}
}
}
作者情報
スレッド