netmiko-mcp-linksys
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SWITCH_HOST | Yes | Switch IP or hostname. | |
| SWITCH_USER | Yes | SSH username. | |
| SWITCH_PASSWORD | Yes | SSH password. Never logged or returned. | |
| SWITCH_AUDIT_LOG | No | If set, append one JSON line per tool call. The file is created with mode 0600. Passwords are redacted from parameters and results. | |
| SWITCH_DEVICE_TYPE | No | netmiko device type. Default: cisco_s300. | cisco_s300 |
| SWITCH_KNOWN_HOSTS | Yes | Path to an OpenSSH known_hosts file with the switch host key. System host keys are not used. | |
| SWITCH_PROTECTED_PORTS | No | Comma-separated ports (e.g. 0/24,0/25) that may not be shut down or have PoE disabled. Required before any disable / PoE-off; if unset, empty, or invalid, disable and PoE-off fail closed. | |
| NETMIKO_MCP_COMMAND_FILE | Yes | Path to a commands.yml allow/deny list. Required for show and port_overview. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
MCP server for a single Linksys LGS-series switch, based on netmiko and netmiko-mcp. Use show for allow-listed read commands. Configuration tools build fixed CLI sequences; they do not accept free-form config. There are no VLAN, reboot, or reset tools. Changes are not saved until save_config is called.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| showA | Run an allow-listed show command on the switch (no TextFSM parsing). |
| port_overviewA | Read a bundle of allow-listed status commands in one session each. Read-only: runs only the hardcoded show commands through the same netmiko-mcp command filter as the show tool. Never sends config. |
| port_set_admin_stateA | Enable or disable a switch port (no shutdown / shutdown). Does not save. |
| poe_setA | Enable or disable PoE on a copper port (0/1..0/24). Does not save. |
| port_set_descriptionA | Set an interface description, or clear it when text is omitted. Does not save. |
| save_configA | Copy running-config to startup-config by sending the privileged exec command 'save'. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Most tools have clearly distinct purposes: show, port_overview, port_set_admin_state, poe_set, port_set_description, and save_config target different actions. The only mild overlap is between show and port_overview, both read-only visibility tools, but the descriptions clarify single-command versus bundled status behavior.
All names use snake_case, but the ordering conventions are mixed: bare verb (show), noun-first (port_overview, port_set_admin_state, poe_set, port_set_description), and verb-first (save_config). The names remain readable, but the pattern is not predictable across the set.
Six tools is well-scoped for a focused switch-control server. Each tool appears to earn its place: visibility, port overview, port admin state, PoE control, description management, and saving configuration.
The server covers read-only inspection plus basic port admin state, PoE, descriptions, and config saving. However, common switch-management operations such as VLAN assignment, speed/duplex settings, and broader configuration retrieval are not represented, leaving notable gaps.