Asuswrt MCP Server

Model Context Protocol (MCP) server for secure, controlled administration of AsusWRT and AsusWRT-Merlin routers via SSH.

Local serverstdioPython

What is the Asuswrt MCP MCP server?

Asuswrt MCP MCP server exists for a simple reason — assistants are far more useful when they can act on Asuswrt MCP directly instead of describing what you should do. Model Context Protocol (MCP) server for secure, controlled administration of AsusWRT and AsusWRT-Merlin routers via SSH.

What you get

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.

What the assistant can call

Once Asuswrt MCP is connected, these are the calls the assistant has available:

  • confirm — true parameter
  • Category — Tools
  • 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
  • asuswrt_restart_service — Restart allowlisted services (httpd, firewall, wireless, dnsmasq, etc.)

Configuration and credentials

You will need 3 environment variables: ASUSWRT_HOST, ASUSWRT_SSH_USERNAME, ASUSWRT_SSH_PASSWORD. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

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

Setting it up

Inspector on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.

Choosing this one

Plenty of file and storage access servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Asuswrt MCP's toolset — confirm, Category, Network and 11 more — is a fair guide to whether it matches your workflow. It is maintained by teefloo; worth a glance at recent repository activity before you build anything load-bearing on it.

We check each listing at SyncDev against the project's documentation before it goes live — if something here drifts out of date, it is a bug worth reporting.

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Asuswrt MCP.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the asuswrt mcp mcp server does with a few real requests.

Available tools

ToolWhat it does
confirmtrue parameter
CategoryTools
NetworkLAN/WAN details, DNS config, IPv6 status, routing table
ClientsConnected clients, DHCP leases, ARP neighbors
WirelessRadio status, SSIDs, guest networks, client counts per band
ServicesRunning processes, open ports, cron jobs
StorageUSB devices, mounts, partitions, filesystem usage
SecurityUPnP, DDNS, Samba status, conntrack usage
VPNOpenVPN server, WireGuard, VPN client profiles
AdministrationWeb admin ports, SSH/telnet access settings
DiagnosticsSSH TCP/banner/auth diagnostics, config snapshot
asuswrt_restart_serviceRestart allowlisted services (httpd, firewall, wireless, dnsmasq, etc.)
asuswrt_dhcp_serverEnable/disable DHCP server
asuswrt_upnpEnable/disable UPnP

How to install the Asuswrt MCP MCP server

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

Configuration as documented by the project. Restart the client after saving.

Configuration

  • Python 3.11+ - An AsusWRT or AsusWRT-Merlin router with SSH access enabled - Network connectivity from the MCP client to the router
VariableDescriptionRequired
ASUSWRT_HOSTEndpoint or connection string the server talks to.Optional
ASUSWRT_SSH_USERNAMEConfiguration value read at startup.Optional
ASUSWRT_SSH_PASSWORDConfiguration value read at startup.Optional

Example prompts to try

  • Use Asuswrt MCP to confirm.
  • Use Asuswrt MCP to Category.
  • Use Asuswrt MCP to Network.

Frequently asked questions

It connects Asuswrt MCP to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (confirm, Category, Network, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Asuswrt MCP directly.