icon for mcp server

Netmiko

STDIO

MCP server for remote SSH access to network devices using Netmiko

mcp-netmiko-server

An MCP server that enables LLMs interacting with your network devices via SSH (netmiko).

ToolDescription
get_network_device_listReturn list of network device names and types defined in a TOML file.
send_command_and_get_outputSend a command to a device and returns its output.
set_config_commands_and_commit_or_saveSend configuration commands to a device and commit or save automatically.
mcp-netmiko-demo

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" ] } } }

Be the First to Experience MCP Now