- Home
- MCP servers
- Netmiko
Netmiko
- python
0
GitHub Stars
python
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"owen123-lang-netmiko_mcp_server": {
"command": "python",
"args": [
"mcp_server.py"
]
}
}
}You deploy Netmiko MCP Server to automate Cisco devices via SSH, expose a set of tools for querying interfaces, device status, and configurations, and let LLM clients like Claude Desktop interact with your network gear in natural language or scripted requests.
How to use
You run the MCP server locally and connect an MCP client to it. The server exposes tools that let you retrieve interface lists, interface details, device status, uptime, running and startup configurations, and resource usage. Use a client to issue requests such as asking for all interfaces or requesting the running configuration, and the server will translate those requests into Cisco IOS commands and return the results.
How to install
Prerequisites: Python 3.8 or newer and network access to your Cisco device (DevNet Sandbox or your own hardware). You will also need a client capable of MCP interactions, such as Claude Desktop, to issue commands to the server.
Step 1: Navigate to the project folder and set up the environment.
cd netmiko_mcp_server
Step 2: Create a virtual environment (optional but recommended) and activate it.
# Windows
python -m venv venv
venv\Scripts\activate
# Linux/Mac
python3 -m venv venv
source venv/bin/activate
Step 3: Install the required Python packages.
pip install -r requirements.txt
Additional configuration and running tips
Configure the device connection in the configuration file used by the server. The server supports connecting to a Cisco DevNet Sandbox Catalyst 8000 Always-On instance or to your own device.
Configure device connection for testing
Using Cisco DevNet Sandbox Catalyst 8000 Always-On
Update the device configuration block in the configuration file with the credentials you obtain from the sandbox. Example configuration snippet:
DEVNET_DEVICE = {
"device_type": "cisco_ios",
"host": "devnetsandboxiosxec8k.cisco.com",
"port": 22,
"username": "your_username", # From DevNet Sandbox
"password": "your_password", # From DevNet Sandbox
"secret": "your_password",
"timeout": 30,
}
Run the MCP server
Start the server to listen for MCP clients like Claude Desktop.
python mcp_server.py
Testing basic tools
Each tool can be tested individually to verify it retrieves expected data from the device.
# Test get interfaces
python tools/get_interfaces.py
# Test device status
python tools/get_device_status.py
# Test running config
python tools/get_running_config.py
Running with Claude Desktop
Claude Desktop can call the MCP server using natural language prompts. After configuring Claude Desktop to include your MCP server, you can ask things like to list interfaces or to provide the hostname and version of the device.
Available tools
get_interfaces
Retrieve a list of all interfaces and their status from the target device.
get_interface_detail
Retrieve detailed information for a specific interface.
get_device_status
Fetch general device information such as IOS version, model, hostname, and uptime.
get_device_uptime
Retrieve the device uptime information.
get_resource_usage
Obtain CPU and memory usage statistics.
get_running_config
Retrieve the running configuration, with optional filtering by a keyword.
get_interface_config
Get the configuration for a specific interface.
get_startup_config
Retrieve the startup (saved) configuration.