iStoreOS MCP Server
Provides monitoring of AdGuardHome status on the router, including query counts, blocked queries, and top domains.
Provides Docker status monitoring, including container list, version, and disk usage.
Provides comprehensive read-only monitoring of OpenWRT/iStoreOS routers, including system status, network info, logs, and plugin status.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@iStoreOS MCP Server show me the current CPU and memory usage"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
iStoreOS MCP Server
iStoreOS/OpenWRT 路由器只读监控 MCP 服务器。
通过 SSH 或 HTTP/ubus API 连接路由器,为 AI 助手提供路由器状态数据的读取能力。可对接 Claude Desktop、Claude Code、小龙虾等 MCP 客户端,实现在手机/电脑上通过自然语言查看路由器状态、分析日志、排查网络问题。
功能特性
31 个只读工具,覆盖系统、网络、日志、服务、常见插件
双连接模式:SSH(全功能)+ HTTP/ubus API
插件感知:自动检测 OpenClash、Passwall、AdGuardHome、Samba、DDNS、FRP 等常见插件状态
安全设计:只读操作,不修改路由器配置;输入参数经过校验和转义
兼容性好:支持 iStoreOS、OpenWRT 21.02+ 及其他基于 OpenWRT 的系统
Related MCP server: MCP SSH SRE
快速开始
安装
git clone https://github.com/beck-8/istoreos-mcp.git
cd istoreos-mcp
pip install -e .配置
通过环境变量配置连接参数:
变量 | 默认值 | 说明 |
|
| 路由器 IP 地址 |
|
| 连接方式: |
|
| SSH 端口 |
|
| SSH 用户名 |
| - | SSH 密码 |
| - | SSH 私钥文件路径 |
|
| HTTP 端口 |
| - | rpcd/LuCI 密码 |
Claude Desktop / Claude Code
在 claude_desktop_config.json 中添加:
{
"mcpServers": {
"istoreos": {
"command": "istoreos-mcp",
"env": {
"ISTOREOS_HOST": "192.168.1.1",
"ISTOREOS_CONNECTION_TYPE": "ssh",
"ISTOREOS_SSH_PASSWORD": "your-password"
}
}
}
}Claude Code (CLI)
claude mcp add istoreos -- env ISTOREOS_HOST=192.168.1.1 ISTOREOS_SSH_PASSWORD=your-password istoreos-mcp直接运行
export ISTOREOS_HOST=192.168.1.1
export ISTOREOS_SSH_PASSWORD=your-password
istoreos-mcp可用工具 (31 个)
系统状态 (6)
工具 | 说明 |
| 固件版本、板型、内核、架构 |
| CPU 使用率、负载均值、核心数 |
| 内存总量/已用/可用/缓存 |
| 磁盘/闪存各分区使用率 |
| 系统运行时间 |
| CPU/SoC 温度 |
网络信息 (6)
工具 | 说明 |
| 所有网络接口状态和流量计数 |
| WAN 接口:IP、网关、DNS、连接类型 |
| 已连接设备列表 (ARP + DHCP 合并) |
| DHCP 租约:MAC、IP、主机名、过期时间 |
| DNS 上游服务器、域名配置 |
| WiFi 状态:SSID、信道、已连客户端 |
日志与流量 (5)
工具 | 说明 |
| 系统日志,支持 |
| 内核日志 (dmesg) |
| 各接口 rx/tx 字节、包数、错误、丢包 |
| 活跃连接追踪 (conntrack),支持 |
| 防火墙规则 (nftables/iptables) |
服务与系统管理 (8)
工具 | 说明 |
| 已安装软件包,支持 |
| 所有 init.d 服务的启用/运行状态 |
| Docker 版本、容器列表、磁盘占用 |
| 块设备、挂载点、文件系统、RAID 状态 |
| 运行中进程 (PID/用户/内存/CPU) |
| 端口转发 / NAT redirect 规则 |
| 定时任务列表 |
| iStoreOS 专属:固件版本、iStore 插件、overlay 空间 |
常见插件状态 (6)
工具 | 说明 |
| OpenClash:运行状态、代理模式、实时流量、连接数、日志 |
| Passwall/Passwall2:代理模式、DNS 模式、节点列表 |
| AdGuardHome:查询总数/拦截数/拦截率、热门域名 Top10 |
| Samba:共享目录列表、已连接客户端 |
| DDNS:配置的服务、域名、更新状态 |
| FRP:frpc/frps 运行状态、服务器配置、代理隧道 |
连接方式说明
SSH (推荐)
所有 31 个工具均可用。OpenWRT 默认开启 SSH,无需额外配置。
支持密码和私钥两种认证方式:
# 密码认证
export ISTOREOS_SSH_PASSWORD=your-password
# 私钥认证
export ISTOREOS_SSH_KEY=~/.ssh/id_rsaHTTP/ubus
通过 rpcd JSON-RPC 接口连接。仅以下工具可用:
get_system_infoget_network_interfacesget_wan_statusget_wifi_status
其他依赖 shell 命令的工具会返回提示信息,建议改用 SSH 连接。
使用示例
配置好 MCP 后,可以用自然语言向 AI 助手提问:
"路由器的 CPU 和内存使用率怎么样?"
"有多少设备连接了 WiFi?"
"OpenClash 运行正常吗?有多少活跃连接?"
"看看最近的系统日志,有没有异常?"
"哪个设备的流量最大?"
"AdGuardHome 今天拦截了多少广告?"
"Docker 上跑了哪些容器?"
"检查一下 DDNS 有没有更新成功"
项目结构
src/istoreos_mcp/
├── server.py # MCP 服务入口,注册所有工具
├── config.py # 环境变量配置
├── connection/
│ ├── base.py # 连接抽象接口
│ ├── ssh.py # SSH 连接 (asyncssh)
│ ├── http.py # HTTP/ubus JSON-RPC 连接 (httpx)
│ └── factory.py # 连接工厂
└── tools/
├── system.py # 系统状态工具
├── network.py # 网络信息工具
├── logs.py # 日志与流量工具
├── services.py # 服务管理工具
└── plugins.py # 常见插件状态工具兼容性
系统 | 支持状态 |
iStoreOS (所有版本) | 完全支持 |
OpenWRT 21.02+ | 完全支持 |
OpenWRT 19.07 | 基本支持 (部分 nftables 工具不可用) |
其他基于 OpenWRT 的系统 | 基本支持 |
License
English
A read-only MCP server for monitoring iStoreOS/OpenWRT routers.
Connects to your router via SSH or HTTP/ubus API, providing 31 read-only tools for AI assistants to query system status, network info, logs, traffic, services, and common plugin status (OpenClash, Passwall, AdGuardHome, Samba, DDNS, FRP).
Quick Start
pip install -e .
export ISTOREOS_HOST=192.168.1.1
export ISTOREOS_SSH_PASSWORD=your-password
istoreos-mcpClaude Desktop Config
{
"mcpServers": {
"istoreos": {
"command": "istoreos-mcp",
"env": {
"ISTOREOS_HOST": "192.168.1.1",
"ISTOREOS_CONNECTION_TYPE": "ssh",
"ISTOREOS_SSH_PASSWORD": "your-password"
}
}
}
}Compatibility
iStoreOS (all versions)
OpenWRT 21.02+
Other OpenWRT-based distributions
Available Tools
31 toolsget_active_connectionsA
Get active network connections from conntrack table (protocol, src, dst, ports, state). Use 'limit' to cap results (default 500)
Inputs: limit. Returns: result
get_adguardhome_statusA
Get AdGuardHome status: running, protection enabled, DNS queries total/blocked, top domains/clients
Inputs: no named parameters. Returns: result
get_block_devicesA
Get block devices, mount points, filesystem types, and RAID status
Inputs: no named parameters. Returns: result
get_connected_devicesA
Get list of connected devices (merged ARP table + DHCP leases) with IP, MAC, hostname
Inputs: no named parameters. Returns: result
get_cpu_temperatureA
Get CPU/SoC temperature from thermal sensors
Inputs: no named parameters. Returns: result
get_cpu_usageA
Get CPU usage percentage, load average (1/5/15 min), and core count
Inputs: no named parameters. Returns: result
get_crontabA
Get scheduled cron jobs
Inputs: no named parameters. Returns: result
get_ddns_statusA
Get DDNS (Dynamic DNS) status: configured services, domain, update status
Inputs: no named parameters. Returns: result
get_dhcp_leasesA
Get active DHCP leases: MAC, IP, hostname, expiry timestamp
Inputs: no named parameters. Returns: result
get_dns_configA
Get DNS configuration: upstream servers, domain settings
Inputs: no named parameters. Returns: result
get_docker_statusA
Get Docker status: version, containers list (name, state, ports, image), disk usage
Inputs: no named parameters. Returns: result
get_firewall_rulesA
Get firewall rules summary (nftables or iptables)
Inputs: no named parameters. Returns: result
get_frp_statusA
Get FRP (Fast Reverse Proxy) status: frpc/frps running, server config, proxy tunnels
Inputs: no named parameters. Returns: result
get_installed_packagesA
List installed packages (opkg). Use 'filter_str' to search by name (e.g. 'luci', 'docker', 'istore')
Inputs: filter_str. Returns: result
get_istoreos_modeA
Get iStoreOS system info: mode (NAS/Router), hostname, firmware version, iStore packages, overlay usage
Inputs: no named parameters. Returns: result
get_kernel_logA
Get kernel log (dmesg). Use 'lines' parameter to limit output (default 100)
Inputs: lines. Returns: result
get_memory_usageA
Get memory usage: total, used, free, available, buffers, cached (in KB)
Inputs: no named parameters. Returns: result
get_network_interfacesA
Get all network interfaces with IP addresses, status, and traffic counters
Inputs: no named parameters. Returns: result
get_openclash_statusA
Get OpenClash proxy status: running, mode, traffic, active connections, dashboard port, recent log
Inputs: no named parameters. Returns: result
get_passwall_statusA
Get Passwall/Passwall2 proxy status: running, proxy mode (TCP/UDP), DNS mode, node list
Inputs: no named parameters. Returns: result
get_port_forwardsA
Get port forwarding / NAT redirect rules from firewall config
Inputs: no named parameters. Returns: result
get_process_listA
Get running processes with PID, user, memory, CPU usage. Use 'top_n' to limit (default 20)
Inputs: top_n. Returns: result
get_samba_statusA
Get Samba file sharing status: running, configured shares, connected clients
Inputs: no named parameters. Returns: result
get_service_statusA
Get all init.d services status: name, enabled (auto-start), running
Inputs: no named parameters. Returns: result
get_storage_usageB
Get storage/disk usage for all mounted filesystems
Inputs: no named parameters. Returns: result
get_system_infoA
Get system information: firmware version, board name, kernel version, architecture
Inputs: no named parameters. Returns: result
get_system_logC
Get system log (logread). Use 'lines' parameter to limit output (default 100)
Inputs: lines. Returns: result
get_system_uptimeA
Get system uptime in seconds and human-readable format
Inputs: no named parameters. Returns: result
get_traffic_statsA
Get per-interface traffic statistics: rx/tx bytes, packets, errors, dropped
Inputs: no named parameters. Returns: result
get_wan_statusA
Get WAN interface status: IP, gateway, DNS servers, connection type
Inputs: no named parameters. Returns: result
get_wifi_statusA
Get WiFi status: SSID, channel, connected clients, signal strength per radio
Inputs: no named parameters. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
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.
Maintenance
Related MCP Connectors
IP intelligence, network diagnostics, and AI service availability tools for AI agents.
Read-only search of 2,189 AI agent tools (MCP servers, x402 APIs) with daily automated trust scores.
Monitors TLS/SSL certificate expiry, DNS resolution, and TCP port status for AI agents.
30+ marketing data tools for AI agents: keywords, SERP, backlinks, AI visibility, app store & commerce intelligence, Reddit/LinkedIn/Facebook/YouTube research, web search, page extraction, site audit, image & video generation, one-shot marketing apps. Bring your own API key from supamarketers.com — per-tool pricing in Credits.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to manage OpenWRT routers remotely via SSH, supporting system monitoring, network management, OpenThread Border Router configuration, and package management through natural language commands.1917MIT
- AlicenseNot gradedqualityDmaintenanceProvides read-only server monitoring and diagnostic tools for AI assistants to manage Linux and Unraid systems via SSH. It enables natural language interactions for container management, storage health checks, and system log analysis while keeping credentials secure.17ISC
- AlicenseBqualityDmaintenanceEnables AI assistants to monitor and securely manage AsusWRT and AsusWRT-Merlin routers via SSH with allowlisted commands, supporting read-only monitoring and controlled mutations.473MIT
- AlicenseBqualityCmaintenanceEnables management of OpenWrt routers via SSH, providing tools for network configuration, system administration, file operations, and package management through natural language.572MIT