Netmiko

Provides MCP endpoints to interact with Cisco devices via Netmiko, exposing tools to fetch interfaces, device status, configurations, and resource usage.
  • 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.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational