Zyxel Switch MCP Server
Click on "Install 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 Switch MCP Servershow me the running 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.
Status
The server opens a real interactive CLI session on the switch over SSH (default) or Telnet, and runs commands against it. Command syntax and the expected output formats come from the official Zyxel CLI Reference Guide (407 pages).
An offline mode (ZYXEL_MOCK=true) replays canned output so the server can be developed
and demoed without hardware. Everything it returns is fabricated.
Related MCP server: Network MCP Server
Features
Live CLI sessions: SSH (
ssh2) or Telnet with its own option negotiationAutomatic privilege handling: enters
enable/configure terminalon demand, including the enable-password promptPagination handling:
--More--prompts are answered automatically, so long output arrives completeClean output: the echoed command and the trailing prompt are stripped before the result is returned
Serialised commands: overlapping tool calls are queued so they cannot interleave on the shared stream
Legacy switch support: older KEX/cipher/HMAC algorithms are offered in addition to the modern defaults
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/humyai99/mcp-zyxel.git
cd mcp-zyxelInstall 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. When host, username and
password are all present, the server starts pre-configured and zyxel_connect can be
called with no arguments.
ZYXEL_DEFAULT_HOST- Default switch IP addressZYXEL_DEFAULT_USERNAME- Default usernameZYXEL_DEFAULT_PASSWORD- Default passwordZYXEL_ENABLE_PASSWORD- Password for privileged mode (falls back to the login password)ZYXEL_PROTOCOL-ssh(default) ortelnetZYXEL_PORT- Overrides the protocol default (22 for SSH, 23 for Telnet)ZYXEL_TIMEOUT- Command timeout in milliseconds (default: 30000)ZYXEL_DEBUG- Log every command and response to stderr (true/false)ZYXEL_MOCK-truereplays canned output and never contacts a switch
Passwords are only held in memory for the lifetime of the session, and
zyxel_connection_status redacts them.
Offline mode
ZYXEL_MOCK=true npm startExamples
Connecting to a Switch
// Use the zyxel_connect tool. protocol defaults to "ssh", and port defaults
// to 22 for SSH / 23 for Telnet, so both can usually be omitted.
{
"host": "192.168.1.100",
"username": "admin",
"password": "admin123",
"enablePassword": "admin123" // optional; only if the switch asks for one
}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 # Session state, privilege modes, command queue
│ ├── transport.ts # SSH + Telnet transports, prompt/pagination handling
│ ├── mock-transport.ts # Offline canned output (ZYXEL_MOCK=true)
│ └── 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
test/
├── fake-switch.mjs # Emulated Zyxel CLI over SSH and Telnet
└── transport.test.mjs # Integration test for both transportsDevelopment
Building
npm run buildType Checking
npm run typecheckTesting
The test suite starts an emulated Zyxel switch (login prompts, command echo,
privilege modes, --More-- pagination) on both SSH and Telnet and drives the real
transports against it, so no hardware is required.
npm testCleaning
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
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceProvides AI assistants with direct access to multi-vendor network devices for tasks like configuration management, health checks, and topology discovery through 35 specialized tools. It enables natural language control over platforms including Cisco, Juniper, and Nokia using SSH, NETCONF, and SNMP protocols.11MIT
- Flicense-qualityDmaintenanceEnables 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.
- AlicenseBqualityCmaintenanceEnables AI applications to interact with Zyxel managed switches for network configuration, monitoring, and management using authentic CLI commands.19MIT
- AlicenseAqualityBmaintenanceA comprehensive MCP server for network device management via SSH/Telnet. Supports multiple vendors such as Cisco IOS and BDCOM, enabling AI assistants to execute commands and manage routers, switches, and firewalls.4MIT
Related MCP Connectors
Phone, SMS & email for AI agents — one remote MCP endpoint, OAuth login, zero install.
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/humyai99/mcp-zyxel'
If you have feedback or need assistance with the MCP directory API, please join our Discord server