vigor3912s-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VIGOR_HOST | Yes | Hostname or IP address of the DrayTek Vigor 3912S router. | |
| VIGOR_PORT | No | SSH port of the router (default 22). | 22 |
| VIGOR_USER | Yes | SSH username for the router. | |
| EXPOSE_TOOLS | No | Which tools to expose: 'readonly' (default) or 'all'. | readonly |
| VIGOR_LOG_DB | No | Path to SQLite database for logging (default data/vigor3912s.db). | |
| VIGOR_PASSWORD | Yes | SSH password for the router. | |
| VIGOR_AUTO_COMMIT | No | Set to 'false' to skip automatic 'sys commit' after a confirmed write. | |
| VIGOR_HUMAN_CONFIRM | No | Set to 'true' to require human confirmation for write commands via confirmation_id and passphrase. | |
| VIGOR_DISABLED_TOOLS | No | Comma-separated list of tool IDs to disable (filter). | |
| VIGOR_TOOL_OUTPUT_LIMIT | No | Maximum output size for read tools (cap). | |
| VIGOR_CONFIRM_PASSPHRASE | No | Passphrase required for human confirmation of write commands. | |
| VIGOR_SSH_HOST_FINGERPRINT | Yes | SSH host key fingerprint (SHA256:...) required for host-key pinning. | |
| VIGOR_SSH_INSECURE_SKIP_VERIFY | No | Set to 'true' to skip SSH host key verification (only for tests/simulated DrayOS). |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| show_statusA | System uptime, LAN DNS, IP, per-WAN link status (read-only) |
| show_lanA | LAN/VLAN interfaces: IP, mask, DHCP pool, gateway (read-only) |
| show_dmzA | DMZ host configuration (read-only) |
| show_dnsB | DNS server settings per LAN (read-only) |
| show_openportB | Opened ports (NAT) (read-only) |
| show_natA | NAT port redirection running table (read-only) |
| show_portmapC | Port mapping table (read-only) |
| show_pmtimeC | Port mapping timeout settings (read-only) |
| show_sessionB | Session usage statistics (read-only) |
| show_trafficC | Traffic statistics (read-only) |
| show_clienttrafficB | Per-client traffic statistics (read-only) |
| show_cpuC | CPU usage (read-only) |
| show_memoryA | Memory usage (read-only) |
| show_cocpuB | Co-processor usage (read-only) |
| show_cputempB | CPU temperature (read-only) |
| show_statisticB | Interface statistics (read-only) |
| show_flowC | Flow tracking view (read-only) |
| show_voipC | VoIP status (read-only) |
| show_qryrdslA | Query ADSL/VDSL line info (read-only) |
| sys_versionA | Router model, firmware version, IP, build date (read-only) |
| sys_cmdlogA | Command history (read-only) |
| sys_ccB | Country / wireless region code (read-only) |
| sys_qrybufC | Memory / buffer usage (read-only) |
| sys_pollbufB | Poll buffer usage (read-only) |
| sys_healthC | System health (read-only) |
| sys_infoC | System information (read-only) |
| sys_fr_logB | Failure-related log (read-only) |
| sys_max_sessionB | Maximum session configuration (read-only) |
| sys_app_statisticC | Application statistics (read-only) |
| sys_app_bandwidthA | Application bandwidth usage (read-only) |
| sys_timeB | System time (read-only) |
| sys_dnsCacheTblA | DNS cache table (read-only) |
| sys_dashboardA | Dashboard summary (read-only) |
| sys_passwdC | Change the admin password (write — requires confirmation) |
| sys_nameA | Set router name (write — requires confirmation) |
| sys_domainnameB | Set router domain name (write — requires confirmation) |
| sys_commitB | Save running settings (SRAM) to FLASH (write — requires confirmation) |
| sys_rebootB | Restart the router immediately (write — requires confirmation) |
| sys_autorebootC | Configure scheduled auto-restart (mode=hours requires hours param) (write — requires confirmation) |
| sys_tftpdC | Enable/disable TFTP server for firmware upgrade (write — requires confirmation) |
| sys_syslogC | Enable/disable syslog (write — requires confirmation) |
| sys_mailalertC | Enable/disable mail alert (write — requires confirmation) |
| sys_webhookB | Enable/disable webhook (write — requires confirmation) |
| sys_tr069B | Enable/disable TR-069 (write — requires confirmation) |
| sys_algB | Enable/disable ALG (write — requires confirmation) |
| sys_licenseD | License operations (write — requires confirmation) |
| wan_statusA | Per-WAN link state, mode, IP, gateway, traffic, DNS (read-only) |
| wan_detectA | WAN connection detection status (read-only) |
| wan_detect_mtuA | WAN MTU detection status (read-only) |
| wan_detect_mtu6B | IPv6 WAN MTU detection status (read-only) |
| wan_enableC | Enable a WAN interface (write — requires confirmation) |
| wan_disableB | Disable a WAN interface (write — requires confirmation) |
| wan_mtuB | Set WAN MTU (write — requires confirmation) |
| wan_dnsB | Set WAN DNS servers (write — requires confirmation) |
| wan_forwardC | Enable/disable inter-WAN forwarding (write — requires confirmation) |
| wan_failoverC | Configure WAN failover (write — requires confirmation) |
| wan_lbC | Configure WAN load balancing (write — requires confirmation) |
| wan_budgetB | Configure WAN data budget (write — requires confirmation) |
| wan_vlanB | Set WAN VLAN tag (write — requires confirmation) |
| dhcp_statusA | DHCP server status + lease/reservation table (read-only) |
| nat_viewA | NAT configuration view (read-only) |
| dhcp_onA | Enable DHCP server (requires reboot to apply) (write — requires confirmation) |
| dhcp_offA | Disable DHCP server (requires reboot to apply) (write — requires confirmation) |
| dhcp_startipB | Set DHCP start IP and pool count (write — requires confirmation) |
| dhcp_gatewayC | Set DHCP pool gateway (write — requires confirmation) |
| dhcp_dns1B | Set DHCP primary DNS (write — requires confirmation) |
| dhcp_dns2B | Set DHCP secondary DNS (write — requires confirmation) |
| dhcp_leasetimeB | Set DHCP lease time (write — requires confirmation) |
| nat_dmzC | Set DMZ host (write — requires confirmation) |
| ip_route_statusA | Routing table (connected/static/default) (read-only) |
| ip_arp_statusA | ARP table (read-only) |
| ip_pingA | Ping an IPv4 host (5 packets) (read-only) |
| ip_tracertA | Traceroute to an IPv4 host (read-only) |
| ip_sessionA | IP session table (read-only) |
| ip_dnsforwardC | DNS forward table (read-only) |
| ip_lanDNSResB | LAN DNS resolution cache (read-only) |
| ip_addrC | Set LAN IP (write — requires confirmation) |
| ip_nmaskA | Set LAN netmask (write — requires confirmation) |
| ip_route_addB | Add a static route (write — requires confirmation) |
| ip_route_delA | Delete a static route (write — requires confirmation) |
| ip_bindmacC | Bind IP to MAC address (write — requires confirmation) |
| mngt_sshportC | Set SSH port (write — requires confirmation) |
| mngt_telnetportB | Set telnet port (write — requires confirmation) |
| mngt_httpportC | Set HTTP port (write — requires confirmation) |
| mngt_httpsportC | Set HTTPS port (write — requires confirmation) |
| mngt_sshtimeoutB | Set SSH session timeout (write — requires confirmation) |
| mngt_telnettimeoutC | Set telnet session timeout (write — requires confirmation) |
| mngt_nopingB | Enable/disable ping response (write — requires confirmation) |
| mngt_defensewormB | Enable/disable worm defense (write — requires confirmation) |
| mngt_bfpC | Enable/disable brute-force protection (write — requires confirmation) |
| linux_statusC | Linux application status (read-only) |
| linux_ssh_enableC | Enable SSH service to the Linux environment (write — requires confirmation) |
| linux_ssh_disableC | Disable SSH service to the Linux environment (write — requires confirmation) |
| linux_ssh_portC | Set SSH port for the Linux environment (write — requires confirmation) |
| linux_setlinuxipC | Set Linux app IP (first time; reboot to apply) (write — requires confirmation) |
| port_statusB | Ethernet port status (read-only) |
| port_sniff_statusC | Port sniffing status (read-only) |
| port_speedC | Set ethernet port speed/duplex (write — requires confirmation) |
| ddns_showC | DDNS configuration (read-only) |
| ddns_logC | DDNS log (read-only) |
| ddns_enableB | Enable/disable DDNS (write — requires confirmation) |
| ddns_forceupdateC | Force DDNS update (write — requires confirmation) |
| ipf_viewB | IP filter rules view (read-only) |
| ipf_setC | Set IP filter option (write — requires confirmation) |
| ipf_ruleD | Manage IP filter rules (write — requires confirmation) |
| vpn_listB | VPN profile list (read-only) |
| vpn_remoteC | Remote VPN users (read-only) |
| vpn_graphC | VPN graph status (read-only) |
| vpn_setupC | Configure a VPN profile (write — requires confirmation) |
| vpn_ovpnC | OpenVPN configuration (write — requires confirmation) |
| vpn_dial_outC | VPN dial-out configuration (write — requires confirmation) |
| qos_setupC | Configure QoS (write — requires confirmation) |
| qos_classC | Configure QoS class (write — requires confirmation) |
| dos_viewA | View DoS defense configuration (read-only) |
| dos_blacklist_showA | Show DoS blocking list (read-only) |
| dos_whitelist_showA | Show DoS passing (white) list (read-only) |
| dos_activateC | Activate DoS defense system (write — requires confirmation) |
| dos_deactivateC | Deactivate DoS defense system (write — requires confirmation) |
| internet_viewB | View Internet access profile (read-only) |
| internet_setA | Set WAN internet access mode (PPPoE/DHCP/static/...) (write — requires confirmation) |
| ha_showB | HA configuration (read-only) |
| ha_statusB | HA status (read-only) |
| ha_setC | Configure HA (write — requires confirmation) |
| vrrp_showA | VRRP configuration (read-only) |
| vrrp_enableA | Enable/disable VRRP (write — requires confirmation) |
| vrrp_setC | Configure VRRP (write — requires confirmation) |
| vrrp_applyC | Apply VRRP configuration (write — requires confirmation) |
| vrrp_resetC | Reset VRRP (write — requires confirmation) |
| vigbrg_statusB | Vigor bridge status (read-only) |
| vigbrg_wanstatusA | Vigor bridge WAN status (read-only) |
| vigbrg_wlanstatusB | Vigor bridge wireless status (read-only) |
| vigbrg_setC | Configure Vigor bridge (write — requires confirmation) |
| vlan_statusB | VLAN status (read-only) |
| vlan_onC | Enable VLAN (write — requires confirmation) |
| vlan_offB | Disable VLAN (write — requires confirmation) |
| vlan_groupC | Configure VLAN group (write — requires confirmation) |
| switch_statusC | Switch status (read-only) |
| switch_listC | Switch port list (read-only) |
| switch_queryC | Switch query (read-only) |
| switch_onB | Enable switch feature (write — requires confirmation) |
| switch_offC | Disable switch feature (write — requires confirmation) |
| apm_showB | AP management status (read-only) |
| apm_queryC | AP query (read-only) |
| apm_stanumB | AP station number (read-only) |
| apm_enableC | Enable AP management (write — requires confirmation) |
| apm_disableB | Disable AP management (write — requires confirmation) |
| dpdk_statisticB | DPDK statistics (read-only) |
| dpdk_cmdlogC | DPDK command log (read-only) |
| nand_usageB | NAND storage usage (read-only) |
| nand_badB | NAND bad blocks (read-only) |
| usb_devstatB | USB device status (read-only) |
| usb_diskC | USB disk info (read-only) |
| usb_tempC | USB temperature (read-only) |
| hsportal_infoB | Hotspot portal info (read-only) |
| hsportal_levelB | Hotspot portal level (read-only) |
| hsportal_setupB | Configure hotspot portal (write — requires confirmation) |
| log_tailB | Display logs to the end (read-only) |
| log_callA | Call log (read-only) |
| log_filterC | IP filter log (read-only) |
| log_wanC | WAN log (read-only) |
| log_pppB | PPP/MP log (read-only) |
| fs_lsB | List router file system (read-only) |
| fs_infoC | File system info (read-only) |
| fs_pwdA | Print working directory (read-only) |
| object_ip_viewC | IP objects view (read-only) |
| object_service_viewC | Service objects view (read-only) |
| radius_showB | RADIUS configuration (read-only) |
| radius_show_local_cerB | RADIUS local certificates (read-only) |
| local8021x_showB | Local 802.1X configuration (read-only) |
| local8021x_show_local_cerB | Local 802.1X certificates (read-only) |
| user_accountD | Configure user account (write — requires confirmation) |
| user_editC | Edit user profile (write — requires confirmation) |
| user_setD | Set user management general setup (write — requires confirmation) |
| user_setdefaultB | Reset all user profiles to factory default (write — requires confirmation) |
| upnp_onC | Enable UPnP (write — requires confirmation) |
| upnp_offC | Disable UPnP (write — requires confirmation) |
| upnp_natB | UPnP NAT view (read-only) |
| wol_sendA | Send Wake-on-LAN magic packet (write — requires confirmation) |
| appqos_viewA | APP QoS profile view (read-only) |
| appqos_enableB | Enable/disable APP QoS (write — requires confirmation) |
| service_showC | MyVigor service status (read-only) |
| service_getC | MyVigor service data (read-only) |
| csm_appe_showB | APP enforcement profile view (read-only) |
| csm_appe_setB | Set APP enforcement profile (write — requires confirmation) |
| csm_ucfC | URL content filter settings (write — requires confirmation) |
| csm_wcfC | Web content filter settings (write — requires confirmation) |
| csm_dnsfC | DNS filter settings (write — requires confirmation) |
| msubnet_statusB | Multi-subnet status (read-only) |
| msubnet_switchA | Enable/disable multi-subnet (write — requires confirmation) |
| testmail_sendC | Send a test mail (write — requires confirmation) |
| ip6_pingA | Ping an IPv6 host (read-only) |
| ip6_tracertA | Traceroute to an IPv6 host (read-only) |
| ip6_addrB | Configure an IPv6 address (write — requires confirmation) |
| ip6_mngtB | Enable/disable IPv6 management for a protocol (write — requires confirmation) |
| ldap_viewA | LDAP configuration view (read-only) |
| ldap_setC | Configure LDAP (write — requires confirmation) |
| ldap_userC | LDAP user operations (write — requires confirmation) |
| tacacsplus_viewA | TACACS+ configuration view (read-only) |
| tacacsplus_setB | Configure TACACS+ (write — requires confirmation) |
| portmaptime_listA | List port mapping timeout settings (read-only) |
| portmaptime_setC | Set port mapping session timeout (t=TCP, u=UDP, i=ICMP, w=WWW, s=SYN) (write — requires confirmation) |
| portmaptime_flushC | Flush all portmaps (diagnostics) (write — requires confirmation) |
| swm_showC | Switch management status (read-only) |
| swm_getB | Switch management data (read-only) |
| swm_enableC | Enable switch management (write — requires confirmation) |
| swm_disableC | Disable switch management (write — requires confirmation) |
| swm_postC | Switch management POST (write — requires confirmation) |
| swm_groupC | Configure switch group (write — requires confirmation) |
| swm_profileC | Configure switch profile (write — requires confirmation) |
| swm_detailD | Switch detail operation (write — requires confirmation) |
| swm_maintainD | Switch maintenance (write — requires confirmation) |
| swm_searchD | Switch search (write — requires confirmation) |
| swm_dbC | Switch database operation (write — requires confirmation) |
| swm_alertC | Switch alert configuration (write — requires confirmation) |
| swm_logD | Switch log (write — requires confirmation) |
| swm_snmpD | Switch SNMP (write — requires confirmation) |
| swm_tr069C | Switch TR-069 (write — requires confirmation) |
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 217 tools
Many tools have overlapping purposes, such as show_traffic, show_clienttraffic, show_statistic, sys_app_statistic, and sys_app_bandwidth all providing traffic/statistics views. Similarly, multiple status/info tools (show_status, sys_info, sys_health, sys_dashboard) blur boundaries, and several switch management tools (swm_show, swm_get, swm_query-like) are hard to distinguish.
The naming is mostly verb_noun with prefixes like show_, sys_, wan_, dhcp_, but there is inconsistency: some use show_ (show_traffic), some use status (dhcp_status, linux_status, port_sniff_status), some use view (dos_view, internet_view, nat_view), and some use mixed forms like sys_dnsCacheTbl, sys_fr_log, and portmaptime_list. The pattern is readable but not uniform.
217 tools is an extreme number for an MCP server, far beyond the typical well-scoped range. Even for a comprehensive router management interface, this creates overwhelming selection complexity and suggests the server exposes nearly every CLI command as a separate tool rather than a curated API.
The tool surface is extremely comprehensive, covering nearly every router subsystem: WAN, LAN, DHCP, NAT, VPN, QoS, firewall, VLAN, switch, AP management, IPv6, logging, and more. There are minor gaps (e.g., no explicit firmware upgrade tool beyond TFTP enable, no direct NAT rule creation tool), but the breadth is impressive and most workflows are covered.