mcp-zyxel
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_system_infoA | Get switch system information (model, firmware, uptime, IP). |
| get_port_statusA | Get per-port link status (up/down, speed, duplex). |
| list_vlansB | List all VLANs configured on the switch. |
| get_vlan_membershipB | Get 802.1Q VLAN port membership for a VLAN (tagged/untagged/ forbidden/excluded per port). |
| get_mac_tableB | Learned MAC addresses, optionally filtered by VLAN. |
| get_pvidsA | Get the PVID (port VLAN ID) for every port. |
| set_port_vlan_membershipA | Set port membership in a VLAN (mode: tagged|untagged|forbidden|excluded). Protected ports (uplink 1, AP trunk 4) are refused. Auto-backs up current state before applying; running config is saved to startup on success. dry_run=true (default) previews without applying. |
| set_pvidA | Set a port's PVID. Protected ports (1, 4) are refused. dry_run=true (default) previews without applying. |
| backup_configB | Download a backup over HTTP into the backup dir. content: running|startup|backup|flash_log|buffer_log|tech_support. |
| get_running_config_textA | Fetch the running configuration as text (diffing/auditing). |
| save_running_to_startupB | Copy the running configuration to the startup configuration. |
| rebootA | Reboot the switch (drops management ~1 min, discards unsaved changes). Requires ack='REBOOT'. A config backup is taken first. |
| create_vlanB | Create a VLAN. dry_run=true (default) previews; auto-backup on apply. |
| delete_vlanA | Delete a VLAN. Refuses VLAN 1 and any VLAN with member ports. dry_run=true (default) previews. |
| set_system_infoA | Set system name/location/contact. dry_run=true (default) previews. |
| set_port_configA | Configure a port (speed: auto|10M|100M|1000M, duplex: auto|half|full). Refuses protected ports and disabling any port with link Up. dry_run=true (default) previews current vs target. |
| get_port_countersC | Per-port MIB counters (octets, packets, discards, errors). |
| get_stp_configC | Spanning Tree global configuration. |
| get_lag_configC | Link Aggregation (LACP) global configuration. |
| get_loopguard_configC | Loop guard (RLDP) configuration. |
| get_lldp_configC | LLDP configuration. |
| get_port_security_configC | Port Security configuration. |
| get_syslog_configC | Syslog configuration. |
| get_mirror_configC | Port mirroring configuration. |
| sync_snapshotA | Write a rebuild-ready snapshot of the switch into the directory given by ZYXEL_SYNC_DIR: scrubbed running config, JSON dumps of VLANs / ports / MACs / LLDP, a MAC-keyed inventory, and a generated topology README. Does NOT push to git. |
| sync_to_githubB | Snapshot, then commit and push it to the operator's own repository.
The target comes from |
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 26 tools
Most tools target clearly distinct resources or actions (e.g., each get_*_config covers a different switch feature, and create/delete/list/set VLAN tools are well separated). Minor potential confusion between backup_config (running config as file) and get_running_config_text, or between sync_snapshot and sync_to_github, but descriptions clarify the difference.
Names follow a consistent snake_case verb_noun pattern (get_*, set_*, create_*, delete_*, list_*), with readable abbreviations. Slight deviations like the bare 'reboot' and 'get_pvids' (plural noun rather than get_pvid) are minor and do not hinder predictability.
26 tools is on the heavy side for a switch management server. Many read-only feature getters (get_lag_config, get_loopguard_config, get_lldp_config, etc.) could be consolidated into a parameterized config getter, though each does cover a distinct feature.
Core VLAN CRUD, port configuration, and backup/sync workflows are covered. However, many features (STP, LLDP, LAG, loop guard, syslog, mirror, port security) are read-only with no corresponding setters, which is a notable gap for a switch configuration server.