About Netmiko Server
Netmiko Server is an MCP server published by upa in the AI category: an MCP server that enables LLMs interacting with your network devices.
The repository has 35 stars and 9 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/upa/mcp-netmiko-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (3)
get_network_device_listReturn list of network device names and types defined in a TOML file.
Parameters not published.
send_command_and_get_outputSend a command to a device and returns its output.
Parameters not published.
set_config_commands_and_commit_or_saveSend configuration commands to a device and commit or save automatically.
Parameters not published.
Ask AI
Ask AI about Netmiko Server
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 5 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- !License declaredNo license file. Legally you have no right to use it in a product.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
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"
]
}
}
}
README fetched from the repository 5 days ago. The original is authoritative.