Asuswrt Mcp Server

by teefloo

202 downloads Not rated yet
GitHub

About

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

Explore

- 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

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Asuswrt Mcp Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

- Python 3.11+
- An AsusWRT or AsusWRT-Merlin router with SSH access enabled
- Network connectivity from the MCP client to the router

``bash
git clone https://github.com/Teeflo/asuswrt-mcp.git
cd asuswrt-mcp

python -m venv .venv

pip install -e .


bash

cp .env.example .env


Add to your claude_desktop_config.json:

json { "mcpServers": { "asuswrt-mcp": { "command": "C:\\path\\to\\asuswrt-mcp\\.venv\\Scripts\\python.exe", "args": ["-m", "asuswrt_mcp.server"], "env": { "ASUSWRT_HOST": "192.168.1.1", "ASUSWRT_SSH_USERNAME": "admin", "ASUSWRT_SSH_PASSWORD": "your_password" } } } }
``

Category

Tools

asuswrt_restart_service

Restart allowlisted services (httpd, firewall, wireless, dnsmasq, etc.)

asuswrt_dhcp_server

Enable/disable DHCP server

asuswrt_upnp

Enable/disable UPnP

asuswrt_radio

Enable/disable Wi-Fi radio bands

asuswrt_guest_wifi

Enable/disable guest Wi-Fi

asuswrt_guest_lan_access

Toggle LAN access for guest Wi-Fi

asuswrt_port_forwarding

List, add, remove, enable/disable port forwarding rules

asuswrt_vpn_server

Enable/disable OpenVPN server

asuswrt_parental_access

List, block, unblock, remove parental control rules

asuswrt_parental_block_all

Toggle block-all mode

asuswrt_dhcp_reservation

List, add, remove DHCP static reservations

| Category | Tools |
|----------|-------|
| Identity & Health | Router model, firmware version, uptime, load, memory |
| Network | LAN/WAN details, DNS config, IPv6 status, routing table |
| Clients | Connected clients, DHCP leases, ARP neighbors |
| Wireless | Radio status, SSIDs, guest networks, client counts per band |
| Services | Running processes, open ports, cron jobs |
| Storage | USB devices, mounts, partitions, filesystem usage |
| Security | UPnP, DDNS, Samba status, conntrack usage |
| VPN | OpenVPN server, WireGuard, VPN client profiles |
| Administration | Web admin ports, SSH/telnet access settings |
| Diagnostics | SSH TCP/banner/auth diagnostics, config snapshot |

All mutation tools require:
- confirm: true parameter
- ASUSWRT_ALLOW_MUTATIONS=true environment variable
- Support for dry_run: true to preview changes

| Tool | Description |
|------|-------------|
| asuswrt_restart_service | Restart allowlisted services (httpd, firewall, wireless, dnsmasq, etc.) |
| asuswrt_dhcp_server | Enable/disable DHCP server |
| asuswrt_upnp | Enable/disable UPnP |
| asuswrt_radio | Enable/disable Wi-Fi radio bands |
| asuswrt_guest_wifi | Enable/disable guest Wi-Fi |
| asuswrt_guest_lan_access | Toggle LAN access for guest Wi-Fi |
| asuswrt_port_forwarding | List, add, remove, enable/disable port forwarding rules |
| asuswrt_vpn_server | Enable/disable OpenVPN server |
| asuswrt_parental_access | List, block, unblock, remove parental control rules |
| asuswrt_parental_block_all | Toggle block-all mode |
| asuswrt_dhcp_reservation | List, add, remove DHCP static reservations |

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "asuswrt mcp server": {
            "asuswrt-mcp": {
                "command": "C:\\path\\to\\asuswrt-mcp\\.venv\\Scripts\\python.exe",
                "args": [
                    "-m",
                    "asuswrt_mcp.server"
                ],
                "env": {
                    "ASUSWRT_HOST": "192.168.1.1",
                    "ASUSWRT_SSH_USERNAME": "admin",
                    "ASUSWRT_SSH_PASSWORD": "your_password"
                }
            }
        }
    }
}

McpServers

{
    "asuswrt-mcp": {
        "command": "C:\\path\\to\\asuswrt-mcp\\.venv\\Scripts\\python.exe",
        "args": [
            "-m",
            "asuswrt_mcp.server"
        ],
        "env": {
            "ASUSWRT_HOST": "192.168.1.1",
            "ASUSWRT_SSH_USERNAME": "admin",
            "ASUSWRT_SSH_PASSWORD": "your_password"
        }
    }
}
Python 3.11+ MIT License Project Status: Active Model Context Protocol (MCP) server for secure, controlled administration of AsusWRT and AsusWRT-Merlin routers via SSH.

Overview

This MCP server provides AI assistants (like Claude, Cursor, etc.) with a safe interface to monitor and manage AsusWRT routers. It operates exclusively over SSH using allowlisted operations—no arbitrary command execution, no firmware modifications, and no factory resets.

Features

Read-Only Monitoring (42 tools)

| Category | Tools | |----------|-------| | Identity & Health | Router model, firmware version, uptime, load, memory | | Network | LAN/WAN details, DNS config, IPv6 status, routing table | | Clients | Connected clients, DHCP leases, ARP neighbors | | Wireless | Radio status, SSIDs, guest networks, client counts per band | | Services | Running processes, open ports, cron jobs | | Storage | USB devices, mounts, partitions, filesystem usage | | Security | UPnP, DDNS, Samba status, conntrack usage | | VPN | OpenVPN server, WireGuard, VPN client profiles | | Administration | Web admin ports, SSH/telnet access settings | | Diagnostics | SSH TCP/banner/auth diagnostics, config snapshot |

Mutation Tools (with safety guards)

All mutation tools require: - confirm: true parameter - ASUSWRT_ALLOW_MUTATIONS=true environment variable - Support for dry_run: true to preview changes | Tool | Description | |------|-------------| | asuswrt_restart_service | Restart allowlisted services (httpd, firewall, wireless, dnsmasq, etc.) | | asuswrt_dhcp_server | Enable/disable DHCP server | | asuswrt_upnp | Enable/disable UPnP | | asuswrt_radio | Enable/disable Wi-Fi radio bands | | asuswrt_guest_wifi | Enable/disable guest Wi-Fi | | asuswrt_guest_lan_access | Toggle LAN access for guest Wi-Fi | | asuswrt_port_forwarding | List, add, remove, enable/disable port forwarding rules | | asuswrt_vpn_server | Enable/disable OpenVPN server | | asuswrt_parental_access | List, block, unblock, remove parental control rules | | asuswrt_parental_block_all | Toggle block-all mode | | asuswrt_dhcp_reservation | List, add, remove DHCP static reservations |

Safety Model

- No arbitrary SSH: Only allowlisted commands are executed via NVRAM and service calls - No firmware operations: No flash, reset, or bootloader access - Secret redaction: Passwords and sensitive data are never exposed in tool responses - Dry-run support: Every mutation can be previewed before applying - Confirmation required: Mutations require explicit confirm=True - SSH-only transport: No exposure of the router's web API

Prerequisites

- Python 3.11+ - An AsusWRT or AsusWRT-Merlin router with SSH access enabled - Network connectivity from the MCP client to the router

Installation

1. Clone and setup

```bash git clone https://github.com/Teeflo/asuswrt-mcp.git cd asuswrt-mcp
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.