iStoreOS MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ISTOREOS_HOST | No | Router IP address | 192.168.1.1 |
| ISTOREOS_SSH_KEY | No | SSH private key file path (alternative to password) | |
| ISTOREOS_SSH_PORT | No | SSH port | 22 |
| ISTOREOS_SSH_USER | No | SSH username | root |
| ISTOREOS_HTTP_PORT | No | HTTP port | 80 |
| ISTOREOS_SSH_PASSWORD | No | SSH password (used if connection type is ssh) | |
| ISTOREOS_HTTP_PASSWORD | No | HTTP/rpcd password (required for http connection type) | |
| ISTOREOS_CONNECTION_TYPE | No | Connection type: ssh or http | ssh |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_system_infoA | Get system information: firmware version, board name, kernel version, architecture |
| get_cpu_usageA | Get CPU usage percentage, load average (1/5/15 min), and core count |
| get_memory_usageA | Get memory usage: total, used, free, available, buffers, cached (in KB) |
| get_storage_usageB | Get storage/disk usage for all mounted filesystems |
| get_system_uptimeA | Get system uptime in seconds and human-readable format |
| get_cpu_temperatureA | Get CPU/SoC temperature from thermal sensors |
| get_network_interfacesA | Get all network interfaces with IP addresses, status, and traffic counters |
| get_wan_statusA | Get WAN interface status: IP, gateway, DNS servers, connection type |
| get_connected_devicesA | Get list of connected devices (merged ARP table + DHCP leases) with IP, MAC, hostname |
| get_dhcp_leasesA | Get active DHCP leases: MAC, IP, hostname, expiry timestamp |
| get_dns_configA | Get DNS configuration: upstream servers, domain settings |
| get_wifi_statusA | Get WiFi status: SSID, channel, connected clients, signal strength per radio |
| get_system_logC | Get system log (logread). Use 'lines' parameter to limit output (default 100) |
| get_kernel_logA | Get kernel log (dmesg). Use 'lines' parameter to limit output (default 100) |
| get_traffic_statsA | Get per-interface traffic statistics: rx/tx bytes, packets, errors, dropped |
| get_active_connectionsA | Get active network connections from conntrack table (protocol, src, dst, ports, state). Use 'limit' to cap results (default 500) |
| get_firewall_rulesA | Get firewall rules summary (nftables or iptables) |
| get_installed_packagesA | List installed packages (opkg). Use 'filter_str' to search by name (e.g. 'luci', 'docker', 'istore') |
| get_service_statusA | Get all init.d services status: name, enabled (auto-start), running |
| get_docker_statusA | Get Docker status: version, containers list (name, state, ports, image), disk usage |
| get_block_devicesA | Get block devices, mount points, filesystem types, and RAID status |
| get_process_listA | Get running processes with PID, user, memory, CPU usage. Use 'top_n' to limit (default 20) |
| get_port_forwardsA | Get port forwarding / NAT redirect rules from firewall config |
| get_crontabA | Get scheduled cron jobs |
| get_istoreos_modeA | Get iStoreOS system info: mode (NAS/Router), hostname, firmware version, iStore packages, overlay usage |
| get_openclash_statusA | Get OpenClash proxy status: running, mode, traffic, active connections, dashboard port, recent log |
| get_passwall_statusA | Get Passwall/Passwall2 proxy status: running, proxy mode (TCP/UDP), DNS mode, node list |
| get_adguardhome_statusA | Get AdGuardHome status: running, protection enabled, DNS queries total/blocked, top domains/clients |
| get_samba_statusA | Get Samba file sharing status: running, configured shares, connected clients |
| get_ddns_statusA | Get DDNS (Dynamic DNS) status: configured services, domain, update status |
| get_frp_statusA | Get FRP (Fast Reverse Proxy) status: frpc/frps running, server config, proxy tunnels |
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 31 tools
All 31 tools have distinct, specific noun phrases (e.g., cpu_usage, memory_usage, firewall_rules) with no overlapping purposes. Each tool clearly targets a unique system resource, so an agent can easily differentiate them.
Every tool follows the exact pattern get_<resource>_<detail> in snake_case, with no deviations or mixed conventions. The naming is perfectly consistent and predictable.
31 tools is beyond the typical well-scoped range of 3-15 for a server. While the tools are logically grouped for a comprehensive system monitor, the count feels heavy and could be pruned or organized into subdomains.
The tool set covers a wide range of system statuses: CPU, memory, storage, network, services, security, and applications. It is comprehensive for a read-only monitoring server but lacks any action-oriented tools, leaving minor gaps in lifecycle coverage.