zyxel-mcp-server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@zyxel-mcp-server Show me the current VLAN configuration"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Zyxel Switch MCP Server
A comprehensive Model Context Protocol (MCP) server for Zyxel switch CLI commands, enabling AI applications to interact with Zyxel switches for network configuration, monitoring, and management operations.
✅ PRODUCTION READY: Real Zyxel CLI Commands Integrated
This MCP server now contains authentic Zyxel CLI commands and response formats extracted from official Zyxel documentation (407-page CLI Reference Guide). All mock implementations have been replaced with real command syntax.
Related MCP server: NetPilot-MCP
Features
✅ Real CLI Command Support: Authentic Zyxel switch CLI commands from official documentation
✅ Production-Ready Responses: Actual command output formats for GS1920/GS1900/XGS series
✅ Network Configuration: Interface configuration, VLAN management, and routing setup
✅ Real-time Monitoring: System status, port statistics, and network diagnostics
✅ Secure Operations: Authenticated command execution with proper error handling
✅ MCP Compliance: Full Model Context Protocol implementation with tools, resources, and prompts
Supported Zyxel Models
Based on the integrated CLI documentation:
GS1920 Series (24/48 port variants)
GS1900 Series
XGS1930 Series
XGS2220 Series
Other managed Zyxel switches with CLI access
MCP Tools (CLI Commands)
Connection Management
zyxel_connect- Connect to a Zyxel switchzyxel_disconnect- Disconnect from the switchzyxel_connection_status- Check connection status
System Information
zyxel_show_version- Display system version informationzyxel_show_system_info- Show detailed system informationzyxel_show_running_config- Display running configurationzyxel_show_startup_config- Display startup configuration
Interface Management
zyxel_show_interfaces- Display interface status and configurationzyxel_configure_interface- Configure interface settingszyxel_configure_switchport- Configure switchport settings
VLAN Management
zyxel_show_vlan- Display VLAN informationzyxel_create_vlan- Create a new VLANzyxel_delete_vlan- Delete a VLAN
Network Monitoring
zyxel_show_mac_table- Display MAC address tablezyxel_show_arp_table- Display ARP tablezyxel_show_spanning_tree- Display spanning tree informationzyxel_ping- Test network connectivity
Configuration Management
zyxel_save_config- Save running configuration to startupzyxel_execute_cli- Execute raw CLI commands
MCP Resources (Read-only Data)
System Resources
zyxel://switch/version- System version informationzyxel://switch/system-info- Detailed system informationzyxel://switch/running-config- Current running configurationzyxel://switch/startup-config- Saved startup configuration
Network Resources
zyxel://switch/interfaces- Interface status and statisticszyxel://switch/vlans- VLAN configuration and statuszyxel://switch/mac-table- MAC address table entrieszyxel://switch/arp-table- ARP table entrieszyxel://switch/spanning-tree- Spanning tree topologyzyxel://switch/port-statistics- Port traffic statistics
Documentation
zyxel://docs/cli-reference- Complete CLI command referencezyxel://docs/troubleshooting- Troubleshooting guide
MCP Prompts (Guided Workflows)
Setup and Configuration
zyxel_initial_setup- Guide for initial switch setupzyxel_vlan_setup- Step-by-step VLAN configurationzyxel_port_configuration- Port configuration guide
Maintenance and Operations
zyxel_troubleshooting- Network troubleshooting procedureszyxel_backup_restore- Configuration backup and restorezyxel_monitoring_setup- Monitoring and logging setup
Security and Performance
zyxel_security_hardening- Security configuration best practiceszyxel_performance_optimization- Performance tuning guide
Installation
Clone the repository:
git clone https://github.com/yourusername/zyxel-mcp-server.git
cd zyxel-mcp-serverInstall dependencies:
npm installBuild the project:
npm run buildUsage
Direct Execution
npm startAs MCP Server
Configure your MCP client to use this server:
{
"mcpServers": {
"zyxel": {
"command": "npx",
"args": ["zyxel-mcp-server"]
}
}
}Development Mode
npm run devConfiguration
The server can be configured through environment variables:
ZYXEL_DEFAULT_HOST- Default switch IP addressZYXEL_DEFAULT_USERNAME- Default usernameZYXEL_DEFAULT_PASSWORD- Default passwordZYXEL_TIMEOUT- Command timeout in milliseconds (default: 30000)ZYXEL_DEBUG- Enable debug logging (true/false)
Examples
Connecting to a Switch
// Use the zyxel_connect tool
{
"host": "192.168.1.100",
"username": "admin",
"password": "admin123",
"port": 22
}Creating a VLAN
// Use the zyxel_create_vlan tool
{
"vlanId": 100,
"name": "Production_VLAN",
"description": "Production network VLAN"
}Configuring an Interface
// Use the zyxel_configure_interface tool
{
"interface": "ethernet 1/5",
"description": "User Workstation",
"shutdown": false,
"speed": "auto",
"duplex": "auto"
}Project Structure
src/
├── cli/
│ ├── handler.ts # CLI command execution
│ └── types.ts # Type definitions
├── tools/
│ └── manager.ts # MCP tools implementation
├── resources/
│ └── manager.ts # MCP resources implementation
├── prompts/
│ └── manager.ts # MCP prompts implementation
└── index.ts # Main server entry pointDevelopment
Building
npm run buildType Checking
npm run typecheckCleaning
npm run cleanContributing
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Commit your changes (
git commit -m 'Add amazing feature')Push to the branch (
git push origin feature/amazing-feature)Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Supported Zyxel Models
This MCP server has been designed to work with various Zyxel switch models, including:
GS1920 Series
GS1900 Series
XGS1930 Series
XGS2220 Series
And other Zyxel managed switches with CLI access
Support
For issues and support:
Check the troubleshooting guide
Search existing GitHub issues
Create a new issue with detailed information
Acknowledgments
Model Context Protocol specification
Zyxel for their comprehensive CLI documentation
Available Tools
19 toolszyxel_clear_mac_tableB
Clear MAC address table entries
Inputs: vlan, interface.
zyxel_configure_interfaceC
Configure interface settings
Inputs: interface (required), speed, duplex, shutdown, +1 more.
zyxel_configure_switchportC
Configure switchport settings for an interface
Inputs: mode (required), interface (required), accessVlan, allowedVlans.
zyxel_connectA
Connect to a Zyxel switch using Telnet or SSH
Inputs: host (required), password (required), username (required), port, +3 more.
zyxel_connection_statusA
Get the current connection status
Inputs: no named parameters.
zyxel_create_vlanB
Create a new VLAN
Inputs: vlanId (required), name.
zyxel_disconnectA
Disconnect from the Zyxel switch
Inputs: no named parameters.
zyxel_execute_cliC
Execute a raw CLI command on the Zyxel switch
Inputs: command (required), privilegeLevel.
zyxel_pingB
Ping a remote host from the switch
Inputs: target (required), size, count.
zyxel_save_configA
Save running configuration to startup configuration
Inputs: confirm.
zyxel_show_arp_tableA
Display ARP table
Inputs: interface, ipAddress.
zyxel_show_interfacesA
Display interface status and configuration
Inputs: detail, interface.
zyxel_show_mac_tableC
Display MAC address table
Inputs: vlan, address, interface.
zyxel_show_running_configA
Display the current running configuration
Inputs: section.
zyxel_show_spanning_treeB
Display Spanning Tree Protocol information
Inputs: instance, interface.
zyxel_show_startup_configB
Display the startup configuration
Inputs: no named parameters.
zyxel_show_system_infoB
Display comprehensive system information
Inputs: no named parameters.
zyxel_show_versionA
Display system version information
Inputs: no named parameters.
zyxel_show_vlanC
Display VLAN information
Inputs: vlanId.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 19 tools
Each tool targets a distinct aspect of switch management: session control, system info, config, interfaces, VLANs, MAC, STP, ARP, ping, and raw CLI. There is no ambiguity between tools like show_running_config vs show_startup_config or configure_interface vs configure_switchport as they have clear different purposes.
All tools follow a consistent 'zyxel_verb_noun' snake_case pattern (e.g., zyxel_show_version, zyxel_create_vlan). The verb list (show, create, configure, clear, ping) is uniform and descriptive.
19 tools is slightly high but appropriate for a comprehensive network switch management server covering session, system, config, interfaces, VLANs, MAC, STP, ARP, ping, and CLI execution. The set feels well-scoped without bloat.
Covers many core operations (show, create, configure, save, clear, ping) but lacks some lifecycle actions like deleting a VLAN or modifying existing VLAN settings. The presence of a raw CLI tool partially mitigates gaps, but the tool surface itself is incomplete for full management.
Maintenance
Related MCP Connectors
AI helper for choosing and speccing network & security products from Cisco, Arista, Juniper and more
AI network lab: build and validate real multi-vendor router and switch labs from a prompt.
- DNS-DATA RemoteDeprecatedcom.dns-data
Connect AI assistants to authorized Windows and macOS devices for files, commands, and management.
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with Cisco IOS-XE network devices over SSH using structured tools. Provides read and write capabilities for network management with built-in validation and security.-
- AlicenseNot gradedqualityDmaintenanceEnables large language models to manage network devices (Cisco, Huawei, H3C, Ruijie) via Telnet/SSH, supporting command execution, configuration, and diagnostics.15MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to execute SSH commands on network devices using natural language, supporting multiple vendors and authentication methods for automated network management.GPL 3.0
- AlicenseBqualityDmaintenanceEnables AI applications to interact with Zyxel switches via CLI for network configuration, monitoring, and management, supporting SSH/Telnet sessions and MCP-compliant tools, resources, and prompts.19MIT