Asuswrt Mcp Server
@teefloo
Model Context Protocol server for secure AsusWRT router administration via SSH. Provides 42+ read-only monitoring tools and guarded mutation tools for managing AsusWRT/Merlin routers
Overview
What is Asuswrt Mcp Server?
A Model Context Protocol server that provides AI assistants with a secure, controlled interface to monitor and manage AsusWRT and AsusWRT-Merlin routers exclusively over SSH using allowlisted operations.
How to use Asuswrt Mcp Server?
Install with Python 3.11+, configure the .env file with router SSH credentials, then run python -m asuswrt_mcp.server or configure it in Claude Desktop / Cursor via claude_desktop_config.json. Mutations require setting ASUSWRT_ALLOW_MUTATIONS=true and passing confirm: true.
Key features of Asuswrt Mcp Server
- 42 read-only monitoring tools for router health, network, clients, and services
- 11 mutation tools with safety guards and dry-run preview
- No arbitrary SSH execution — only allowlisted NVRAM and service calls
- Secret redaction prevents passwords from appearing in tool responses
- SSH-only transport with no exposure of the router's web API
Use cases of Asuswrt Mcp Server
- Monitor router uptime, connected clients, and wireless status via an AI assistant
- Safely restart router services like dnsmasq, firewall, or wireless
- Manage DHCP reservations, port forwarding rules, and parental controls
- Toggle Wi-Fi radios, guest networks, VPN servers, and UPnP state
- Diagnose router configuration by inspecting SSH, admin ports, and routing tables
FAQ from Asuswrt Mcp Server
What routers are supported?
AsusWRT and AsusWRT-Merlin routers with SSH access enabled.
What are the runtime requirements?
Python 3.11+ is required, and network connectivity from the MCP client to the router.
How does the safety model work?
Only allowlisted commands are executed via NVRAM and service calls. No arbitrary SSH, firmware operations, factory resets, or bootloader access is allowed.
How do I enable mutation tools?
Set the ASUSWRT_ALLOW_MUTATIONS=true environment variable and pass confirm: true in each mutation call. Dry-run is also supported with dry_run: true.
How is the server installed?
Clone the repository, create a Python virtual environment, install with pip install -e ., copy .env.example to .env, and configure router credentials.