Nino6689/zyxel-mcp-server
If you are the rightful owner of zyxel-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
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.
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.
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-server
- Install dependencies:
npm install
- Build the project:
npm run build
Usage
Direct Execution
npm start
As MCP Server
Configure your MCP client to use this server:
{
"mcpServers": {
"zyxel": {
"command": "npx",
"args": ["zyxel-mcp-server"]
}
}
}
Development Mode
npm run dev
Configuration
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 point
Development
Building
npm run build
Type Checking
npm run typecheck
Cleaning
npm run clean
Contributing
- 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 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
- Search existing GitHub issues
- Create a new issue with detailed information
Acknowledgments
- Model Context Protocol specification
- MCP TypeScript SDK
- Zyxel for their comprehensive CLI documentation