Asuswrt Mcp Server

by teefloo

202 downloads
Not rated
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

Details

Author
teefloo
Downloads
202
Categories
Other, Infrastructure, Developer Tools

- 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

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.

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"
        }
    }
}

AsusWRT MCP Server

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.