
Netmiko
STDIOMCP server for remote SSH access to network devices using Netmiko
MCP server for remote SSH access to network devices using Netmiko
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. |
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
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.
{ "mcpServers": { "netmiko server": { "command": "uv", "args": [ "run", "--with", "mcp[cli]", "--with", "netmiko", "[PATH TO]/mcp-netmiko-server/main.py", "[PATH TO]/YOUR-DEVICE.toml" ] } } }