Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ROUTER_IPYesThe IP address of the TP-Link router192.168.0.1
ROUTER_PASSWORDYesThe password for router admin access
ROUTER_USERNAMENoThe username for router admin accessadmin

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

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_clientsA

List devices currently connected to the router (wired, wireless, guest).

router_statusA

Router overview: firmware/hardware version, operation mode, WAN IP, uptime, CPU/memory usage, SSIDs. Wi-Fi PSKs are redacted unless reveal_secrets=True.

get_firmware_infoB

Current firmware version, hardware version, and model.

check_firmware_updateA

Ask the TP-Link cloud whether a firmware update is available (update_number>0 = yes).

wifi_infoA

SSID, security and on/off state per band. Passwords redacted unless reveal_secrets=True.

dhcp_leasesB

Current DHCP leases (hostname, IP, MAC, lease time).

ethernet_portsB

Physical ethernet port link status (WAN/LAN, up/down, speed, duplex).

set_wifi_bandB

Enable or disable a wireless band ('2g', '5g', '5g_2', '6g').

get_syslogA

System log (newest first): [{time, level, type, content}]. Shows DHCP DECLINE loops, SAE/WPA handshake failures, DFS radar events, session kicks, etc. Filter by level (INFO/WARNING/ERROR) and/or log_type (see the router's categories).

get_dhcp_settingsA

DHCP server config: enable, pool ipaddr_start/end, leasetime (minutes), gateway, DNS.

set_dhcp_settingsA

Update DHCP server settings (only the given fields). Restarts the DHCP server; existing leases keep their IP until renewal. leasetime is in minutes.

list_reservationsC

DHCP address reservations: [{mac, ip, comment, hostname, enable}].

add_reservationA

Reserve an IP for a MAC (AA-BB-CC-DD-EE-FF). The correct fix for a device stuck in static-in-pool limbo — reserve it instead of relying on a static IP inside the pool.

remove_reservationC

Delete the DHCP reservation for a MAC.

get_client_statsA

Per-client wireless stats for online clients: signal_dbm (RSSI), tx/rx_rate_kbps (negotiated PHY rate), band, online_seconds, packet counts. Turns "wifi is slow" into a one-call diagnosis (weak RSSI vs low PHY rate vs a specific band).

get_wifi_radioA

Full radio settings for a band ('2g','5g','5g_2','6g'): ssid, channel, htmode (width), encryption, txpower, mu_mimo, airtime_fairness. PSK redacted unless reveal_secrets=True.

set_wifi_channelA

Set a band's channel (channel='auto' to auto-select) and optional width (htmode '20'/'40'/'80'). ⚠️ Restarts the radio: clients on that band drop for ~10 s; a DFS 5 GHz channel adds a ~60 s radar-scan quiet period. Requires confirm=True.

set_wifi_securityA

Set a band's security mode / PSK. ⚠️ Restarts the radio and disconnects EVERY client on that band until they re-auth with the new settings. Requires confirm=True.

get_wpsC

WPS global state ({wps: on/off}).

set_wpsB

Enable or disable WPS globally.

get_guest_networkA

Guest network config for a band. PSK redacted unless reveal_secrets=True.

set_guest_networkC

Turn a band's guest network on or off.

get_wireless_advancedC

Advanced radio settings ("Additional Settings"): tx power, MU-MIMO, WMM, AP isolation, airtime fairness, short GI, beacon interval, DTIM, RTS/fragmentation threshold, group-key update, plus the Wi-Fi 6 toggles OFDMA, TWT (Target Wake Time — phone power-save), and Smart Connect band steering.

set_wireless_advancedA

Set per-band tx power ('high'/'mid'/'low'), MU-MIMO, and/or airtime fairness. ⚠️ Restarts the radio; clients on the band drop briefly. Requires confirm=True.

set_ofdmaA

Enable/disable OFDMA (Wi-Fi 6). ⚠️ Restarts the radios; clients drop briefly. confirm=True.

set_twtA

Enable/disable Target Wake Time (Wi-Fi 6 power-save; eases iOS/phone battery drain). ⚠️ Restarts the radios; clients drop briefly. Requires confirm=True.

set_smart_connectA

Enable/disable Smart Connect band steering (single SSID across bands). ⚠️ Restarts the radios; clients drop briefly. Requires confirm=True.

set_wireless_sysparaA

Set the advanced radio parameters for a band — WMM, AP isolation, beacon interval, DTIM period, RTS/fragmentation threshold, group-key update interval. ⚠️ Restarts the radio; clients on the band drop briefly. Requires confirm=True.

get_ipv6_statusB

IPv6 WAN + LAN status: connection type/enable, LAN address & prefix, DNS, assign type.

session_infoA

Session observability: age_seconds, login_count, stok_prefix — lets you see the auto-recovery (re-login) happen instead of trusting it silently.

raw_requestA

Call any router endpoint, e.g. form_path='status?form=client_status', operation='load'.

An escape hatch — many forms need a specific operation ('load'/'write'/... not 'read').
Use list_endpoints() to discover valid form paths, operations, and shapes for this model.
list_endpointsA

Known API endpoints for raw_request: [{form_path, operations, purpose, read_safe}]. Optionally filter to form paths/purposes containing a substring (e.g. 'dhcp', 'wireless').

reboot_routerA

Reboot the router. Must be called with confirm=True to actually reboot.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.1/5.0

Scored across 33 tools

Disambiguation3/5

The Wi-Fi read surface is split across wifi_info, get_wifi_radio, get_wireless_advanced, and router_status with overlapping SSID/security/txpower/MU-MIMO fields; set_wireless_advanced vs set_wireless_syspara also require close reading. Descriptions are detailed enough to resolve most cases, so overlap exists but is usually manageable.

Naming Consistency3/5

Most names are snake_case and action-oriented, but the set mixes verb_noun patterns (get_firmware_info, list_clients, set_wifi_band) with noun-only names (router_status, wifi_info, dhcp_leases, ethernet_ports, session_info). It remains readable, but there is no single predictable naming convention throughout.

Tool Count2/5

33 tools is beyond the 25-tool threshold and many are granular setters (set_ofdma, set_twt, set_smart_connect, set_wireless_syspara) that could plausibly be consolidated. The router domain is broad, but the tool surface feels heavy for what an agent can reliably select among.

Completeness3/5

Core Wi-Fi, DHCP, client diagnostics, reservations, and reboot workflows are covered, and raw_request/list_endpoints provide an escape hatch. However, common router administration areas like port forwarding, firewall/MAC filtering, LAN settings, VPN/QoS, and device blocking are absent as first-class tools.