Files
cisco-switch-mcp/README.md

59 lines
1.8 KiB
Markdown

# Cisco Switch MCP
MCP server for **Cisco Catalyst 3650** and other **IOS-XE** switches. Connects via SSH using [Netmiko](https://github.com/ktbyers/netmiko).
## Prerequisites on the switch
1. **SSH enabled**: `ip domain-name local.lan` + `crypto key generate rsa` + `ip ssh version 2`
2. **User account** with privilege 15 (or enable password configured)
3. **Management IP** reachable from the Hermes LXC
## Install
```bash
/usr/local/lib/hermes-agent/venv/bin/pip install -e /root/cisco-switch-mcp
```
## Hermes config
Add to `~/.hermes/config.yaml`:
```yaml
mcp_servers:
cisco-switch:
command: /usr/local/lib/hermes-agent/venv/bin/cisco-switch-mcp
timeout: 120
enabled: true
env:
CISCO_SWITCH_HOST: "10.77.30.40"
CISCO_SWITCH_USERNAME: "admin"
CISCO_SWITCH_PASSWORD: "your_password"
CISCO_SWITCH_DEVICE_TYPE: "cisco_xe"
CISCO_SWITCH_ALLOW_WRITES: "false"
```
Or: `echo Y | hermes mcp add cisco-switch --command /usr/local/lib/hermes-agent/venv/bin/cisco-switch-mcp --env CISCO_SWITCH_HOST=...`
Restart dashboard/gateway and start a **new chat session**.
## Tools (40+)
| Category | Examples |
|----------|----------|
| System | version, inventory, CPU, memory, environment, stack status |
| Interfaces | status, descriptions, counters, port-channels |
| VLAN/STP | vlan brief, spanning-tree |
| L2 | MAC table, CDP/LLDP neighbors, ARP |
| Diagnostics | logging, ping, traceroute, running-config |
| Writes | shutdown port, set access VLAN, description, save config |
## Safety
- Writes disabled by default (`CISCO_SWITCH_ALLOW_WRITES=false`)
- Blocks `reload`, `write erase`, `format`
- Audit log at `CISCO_SWITCH_AUDIT_LOG_PATH`
## device_type
Catalyst 3650 runs IOS-XE. Use `cisco_xe` (default). If connection fails, try `cisco_ios`.