MCP Netmiko
An MCP server that enables LLMs interacting with your network devices
What is MCP Netmiko?
MCP Netmiko is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to mcp server that enables llms interacting with your network devices
An MCP server that enables LLMs interacting with your network devices
This server falls under the Developer Tools and Monitoring & Observability categories on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- An MCP server that enables LLMs interacting with your networ
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx mcp-netmikoConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use MCP Netmiko
The MCP Netmiko Server lets large language models interact directly with network devices — routers, switches, and firewalls — using the battle-tested Netmiko SSH library. It exposes three focused MCP tools: listing configured devices, sending show commands to retrieve live state, and deploying configuration changes with automatic commit or save. Network engineers can describe tasks in natural language and have an AI assistant translate them into CLI commands executed securely on real infrastructure, accelerating troubleshooting and configuration audits.
Prerequisites
- Python 3.9 or later with the uv package manager installed
- Network devices reachable over SSH from the host running the server
- SSH credentials (username and password) for the target devices
- An MCP-compatible client such as Claude Desktop or Claude Code
- Netmiko-supported device types (Cisco IOS/NX-OS/ASA, Juniper, Arista, and many others)
Clone the repository
Clone the mcp-netmiko-server repository to your local machine and change into the project directory.
git clone https://github.com/upa/mcp-netmiko-server
cd mcp-netmiko-serverCreate a device inventory TOML file
Define your network devices in a TOML file. The [default] section provides shared credentials inherited by all devices unless overridden. Each device section specifies a hostname and Netmiko device_type. See the Netmiko documentation for the full list of supported platform strings.
[default]
username = "admin"
password = "s3cr3tpassword"
[core-sw-01]
hostname = "192.168.1.1"
device_type = "cisco_ios"
[edge-router]
hostname = "10.0.0.254"
device_type = "juniper_junos"
username = "netops"
password = "juniper_pw"Run the server in stdio mode
Launch the server using uv, providing the path to your device TOML file as a positional argument. uv handles dependency installation automatically on first run.
uv run --with "mcp[cli]" --with netmiko main.py devices.tomlConfigure Claude Desktop to use the server
Add the server entry to claude_desktop_config.json. Replace the paths with absolute paths to main.py and your TOML file, since Claude Desktop does not inherit your shell's working directory.
{
"mcpServers": {
"netmiko": {
"command": "uv",
"args": [
"run",
"--with", "mcp[cli]",
"--with", "netmiko",
"/absolute/path/to/mcp-netmiko-server/main.py",
"/absolute/path/to/devices.toml"
]
}
}
}Test with an SSE server for debugging
During development, run the server in SSE mode so you can inspect traffic in a browser or HTTP client before connecting your full MCP client.
uv run --with "mcp[cli]" --with netmiko main.py devices.toml --sse
# Server available at http://localhost:10000/sseMCP Netmiko Examples
Client configuration (claude_desktop_config.json)
Complete configuration for Claude Desktop pointing at the Netmiko MCP server with absolute paths.
{
"mcpServers": {
"netmiko": {
"command": "uv",
"args": [
"run",
"--with", "mcp[cli]",
"--with", "netmiko",
"/home/netops/mcp-netmiko-server/main.py",
"/home/netops/mcp-netmiko-server/lab-devices.toml"
]
}
}
}Prompts to try
Example prompts that use the three exposed tools to interact with network devices.
- "List all network devices configured in the inventory"
- "Run 'show ip interface brief' on core-sw-01 and summarize the interface states"
- "Check the BGP neighbor status on edge-router"
- "Push these interface description changes to core-sw-01 and save the config"
- "Run 'show version' on all devices and report the OS versions"Troubleshooting MCP Netmiko
SSH connection timeout or refused when running send_command_and_get_output
Verify that the hostname/IP in the TOML file is reachable from the host running the server (ping and ssh manually first). Confirm that the device_type string matches the exact Netmiko platform identifier for your device. Juniper devices may require device_type = "juniper_junos" rather than "juniper".
Authentication failure on network device
Check that the username and password in the [default] or device-specific section are correct. If the device uses key-based SSH, add use_keys = true and key_file = "/path/to/key" to the TOML device section. Netmiko supports all standard SSH authentication methods.
uv not found or dependency installation fails
Install uv with `pip install uv` or via the official installer at https://github.com/astral-sh/uv. If Netmiko installation fails during the first run, try pre-installing it: `uv pip install netmiko mcp[cli]` in the project directory.
Frequently Asked Questions about MCP Netmiko
What is MCP Netmiko?
MCP Netmiko is a Model Context Protocol (MCP) server that mcp server that enables llms interacting with your network devices It connects AI assistants to external tools and data sources through a standardized interface.
How do I install MCP Netmiko?
Follow the installation instructions on the MCP Netmiko GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with MCP Netmiko?
MCP Netmiko works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is MCP Netmiko free to use?
Yes, MCP Netmiko is open source and available under the MIT license. You can use it freely in both personal and commercial projects.
MCP Netmiko Alternatives — Similar Developer Tools Servers
Looking for alternatives to MCP Netmiko? Here are other popular developer tools servers you can use with Claude, Cursor, and VS Code.
Ecc
★ 188.2kThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Javaguide
★ 155.8kJava 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发
Gemini CLI
★ 104.5kA secure MCP server that wraps the Google Gemini CLI, allowing clients to query Gemini models using local OAuth sessions without requiring an API key. It provides tools for model interaction and diagnostics with built-in protection against command in
Awesome MCP Servers
★ 87.3k⭐ Curated list of Model Context Protocol (MCP) servers - tools that extend Claude Desktop, Cursor, Windsurf, and other MCP clients with custom capabilities.
MCP Servers
★ 86.0kModel Context Protocol Servers
CC Switch
★ 77.5kA cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io
Browse More Developer Tools MCP Servers
Explore all developer tools servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up MCP Netmiko in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use MCP Netmiko?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.