Skip to main content
Glama
zyxel-mcp-server
by Nino6689

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 switch

  • zyxel_disconnect - Disconnect from the switch

  • zyxel_connection_status - Check connection status

System Information

  • zyxel_show_version - Display system version information

  • zyxel_show_system_info - Show detailed system information

  • zyxel_show_running_config - Display running configuration

  • zyxel_show_startup_config - Display startup configuration

Interface Management

  • zyxel_show_interfaces - Display interface status and configuration

  • zyxel_configure_interface - Configure interface settings

  • zyxel_configure_switchport - Configure switchport settings

VLAN Management

  • zyxel_show_vlan - Display VLAN information

  • zyxel_create_vlan - Create a new VLAN

  • zyxel_delete_vlan - Delete a VLAN

Network Monitoring

  • zyxel_show_mac_table - Display MAC address table

  • zyxel_show_arp_table - Display ARP table

  • zyxel_show_spanning_tree - Display spanning tree information

  • zyxel_ping - Test network connectivity

Configuration Management

  • zyxel_save_config - Save running configuration to startup

  • zyxel_execute_cli - Execute raw CLI commands

MCP Resources (Read-only Data)

System Resources

  • zyxel://switch/version - System version information

  • zyxel://switch/system-info - Detailed system information

  • zyxel://switch/running-config - Current running configuration

  • zyxel://switch/startup-config - Saved startup configuration

Network Resources

  • zyxel://switch/interfaces - Interface status and statistics

  • zyxel://switch/vlans - VLAN configuration and status

  • zyxel://switch/mac-table - MAC address table entries

  • zyxel://switch/arp-table - ARP table entries

  • zyxel://switch/spanning-tree - Spanning tree topology

  • zyxel://switch/port-statistics - Port traffic statistics

Documentation

  • zyxel://docs/cli-reference - Complete CLI command reference

  • zyxel://docs/troubleshooting - Troubleshooting guide

MCP Prompts (Guided Workflows)

Setup and Configuration

  • zyxel_initial_setup - Guide for initial switch setup

  • zyxel_vlan_setup - Step-by-step VLAN configuration

  • zyxel_port_configuration - Port configuration guide

Maintenance and Operations

  • zyxel_troubleshooting - Network troubleshooting procedures

  • zyxel_backup_restore - Configuration backup and restore

  • zyxel_monitoring_setup - Monitoring and logging setup

Security and Performance

  • zyxel_security_hardening - Security configuration best practices

  • zyxel_performance_optimization - Performance tuning guide

Installation

  1. Clone the repository:

git clone https://github.com/yourusername/zyxel-mcp-server.git
cd zyxel-mcp-server
  1. Install dependencies:

npm install
  1. 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 address

  • ZYXEL_DEFAULT_USERNAME - Default username

  • ZYXEL_DEFAULT_PASSWORD - Default password

  • ZYXEL_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

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. 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:

  1. Check the troubleshooting guide

  2. Search existing GitHub issues

  3. Create a new issue with detailed information

Acknowledgments

Available Tools

19 tools
zyxel_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

    B3.2/5.0

    Scored across 19 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count4/5

    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.

    Completeness3/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables 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.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables large language models to manage network devices (Cisco, Huawei, H3C, Ruijie) via Telnet/SSH, supporting command execution, configuration, and diagnostics.
      15
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables 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