openwrt-luci-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENWRT_URL | Yes | The base URL of the OpenWrt LuCI interface, e.g. http://router.example.invalid | |
| OPENWRT_PASSWORD | Yes | LuCI root password | |
| OPENWRT_USERNAME | Yes | LuCI root username (usually root) | |
| OPENWRT_ALLOW_INSECURE_HTTP | No | Set to 1 to explicitly allow plain HTTP connections. Omit when using HTTPS. |
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 |
|---|---|
| router_capabilitiesA | List method signatures for the read-only ubus objects allowed by this MCP server. |
| router_luci_pagesA | List the standard LuCI pages represented by this MCP server and their implementation status. |
| router_system_infoA | Get board, firmware, kernel, load, memory, uptime, and LuCI version information. |
| router_interfacesA | Get the current status of all logical network interfaces. |
| router_interface_detailsA | Get the read-only LuCI interface status view for one logical interface. |
| router_port_statusA | Get the LuCI overview port table with bridge/VLAN, link, counters, zones, and optional PoE state. |
| router_network_deviceB | Get status and counters for one network device such as eth0 or br-lan. |
| router_dhcp_leasesA | Get current DHCPv4 and DHCPv6 leases. |
| router_known_hostsA | Get LuCI host hints that correlate hostnames, IP addresses, and MAC addresses. |
| router_wifi_overviewA | Get configured wireless radios and networks without returning UCI secrets. |
| router_wifi_detailsA | Get the LuCI wireless status view including radio details, frequencies, and associated clients. |
| router_wifi_clientsA | List clients associated with one wireless interface, for example phy1-ap0. |
| router_servicesA | Get procd service status. This tool cannot start, stop, or restart services. |
| router_processesA | Get a bounded snapshot of running processes. |
| router_realtime_statsB | Get LuCI bandwidth, wireless, conntrack, or load samples. |
| router_routesA | Get active IPv4/IPv6 routes and policy rules using fixed read-only ip commands. |
| router_neighborsA | Get the current IPv4 ARP and IPv6 NDP neighbor tables using two fixed read-only ip commands. |
| router_firewall_statusA | Get a read-only summary of firewall defaults, zones, forwardings, redirects, and rules from UCI. |
| router_nftables_rulesA | Get a filtered, paginated read-only view of the active nftables rules, sets, maps, and counters. |
| router_wifi_scanA | Scan nearby Wi-Fi networks on one interface or every interface reported by iwinfo without changing wireless configuration. |
| router_logsA | Read a bounded tail of system or kernel logs. Kernel access uses only the fixed command /bin/dmesg -r. |
| router_connectionsA | Get a bounded snapshot of active conntrack entries. |
| router_storageA | Get mounted filesystems with total, available, and free byte counts. |
| router_packagesA | Search the installed/world package list and return a bounded result. |
| router_package_catalogA | Browse the installed and available package catalog shown by LuCI without updating, installing, or removing packages. |
| router_time_statusA | Get router local time, uptime, timezone-related system configuration, and time service status. |
| router_network_diagnosticsA | Perform passive diagnostics of WAN state, addressing, DNS, default routes, uptime, and Wi-Fi without sending probes. |
| router_run_diagnosticA | Run the fixed, non-configuring Ping, Traceroute, or DNS command used by the LuCI diagnostics page. |
| router_security_auditA | Run a read-only audit for unsafe WAN input, management port forwards, HTTP-only LuCI, and SSH password authentication. |
| router_client_summaryA | Merge DHCP leases, LuCI host hints, and Wi-Fi associations into one client inventory. |
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 30 tools
Most tools target distinct network/system domains (routes, neighbors, firewall, WiFi, DHCP, packages), and descriptions are precise. The only mild confusions are `router_wifi_details` vs `router_wifi_clients` and `router_network_diagnostics` vs `router_run_diagnostic`, but the descriptions make the differences clear.
All tools share a consistent `router_` prefix and use snake_case noun phrases organized by domain. The convention is uniform; `router_run_diagnostic` introduces a verb but still follows the same overall pattern.
With 30 tools, the set exceeds the practical limit for easy agent selection and includes many low-level status endpoints that could be consolidated into grouped retrieval tools. Although the domain is broad, 30 tools is too many for a cohesive MCP surface.
The tool surface covers all major read-only OpenWrt/LuCI domains: interfaces, routes, WiFi, firewall, logs, system stats, packages, clients, diagnostics, and security. No obvious dead ends or missing core read-only operations exist for a status/diagnostics MCP server.