asuswrt-mcp
Model Context Protocol server for secure AsusWRT router administration via SSH
Install / Use
claude mcp add teefloo -- npx -y github:teefloo/asuswrt-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AutomationSupported Platforms
Our assessment of asuswrt-mcp
asuswrt-mcp scores 74/100 on our quality scale, 2628th of 2,870 Automation skills we index.
Its MCP Server is 6.0 KB long, well organised into 38 sections with 9 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated about 6 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 81/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
asuswrt-mcp compared with similar skills
All 4 of these similar skills score higher than asuswrt-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| asuswrt-mcp (this skill)by teefloo | 74 | 3 | 6mo ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 106.0k | 4d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.2k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.7k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 90.3k | today | MCP Server |
Frequently asked questions
- How do I install asuswrt-mcp?
- Run
claude mcp add teefloo -- npx -y github:teefloo/asuswrt-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does asuswrt-mcp work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is asuswrt-mcp safe to use?
- It is MIT-licensed and scores 81/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is asuswrt-mcp still maintained?
- The repository was last updated about 6 months ago. That is recent enough to be usable, but agent tooling moves fast, so check the instructions against your agent's current version.
Skill content
View source on GitHubAsusWRT MCP Server
mcp-name: io.github.teefloo/asuswrt-mcp
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: trueparameterASUSWRT_ALLOW_MUTATIONS=trueenvironment variable- Support for
dry_run: trueto 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
git clone https://github.com/Teeflo/asuswrt-mcp.git
cd asuswrt-mcp
# Create virtual environment
python -m venv .venv
# Activate (Linux/macOS)
source .venv/bin/activate
# Activate (Windows)
.venv\Scripts\activate
# Install dependencies
pip install -e .
2. Configure environment
# Copy example configuration
cp .env.example .env
# Edit with your router credentials
# Use your favorite editor:
notepad .env # Windows
nano .env # Linux/macOS
3. Configure .env
# Required: Router connection
ASUSWRT_HOST=192.168.1.1
ASUSWRT_SSH_USERNAME=admin
ASUSWRT_SSH_PASSWORD=your_password
# Optional: SSH key authentication
# ASUSWRT_SSH_KEY_FILE=~/.ssh/id_rsa
# Optional: Enable mutations (disabled by default)
# ASUSWRT_ALLOW_MUTATIONS=true
# Optional: Connection settings
# ASUSWRT_SSH_PORT=22
# ASUSWRT_TIMEOUT_SECONDS=10
Usage
Run the MCP server
# Standard stdio mode
python -m asuswrt_mcp.server
# Or use the entry point
asuswrt-mcp
Configure in Claude Desktop / Cursor
Add to your claude_desktop_config.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"
}
}
}
}
Using with npx Inspector (development)
npx @modelcontextprotocol/inspector python -m asuswrt_mcp.server
Development
Run tests
pip install -e ".[dev]"
pytest
Run with live router integration tests
ASUSWRT_TEST_ROUTER=1 pytest
Project Structure
asuswrt-mcp/
├── src/asuswrt_mcp/
│ ├── server.py # FastMCP entrypoint & tool definitions
│ ├── service.py # Business logic & router operations
│ ├── config.py # Settings management
│ ├── clients/
│ │ └── ssh.py # SSH client wrapper
│ ├── nvram.py # NVRAM parsing utilities
│ ├── ssh_parsers.py # Output parsers for SSH commands
│ ├── security.py # Mutation guards & redaction
│ ├── validators.py # Input validation
│ ├── responses.py # Tool response formatting
│ ├── errors.py # Custom exceptions
│ └── serialization.py # Safe serialization
├── tests/ # Test suite (69 tests)
├── .env.example # Example configuration
├── pyproject.toml # Project metadata
└── README.md # This file
License
MIT License - see LICENSE for details.
Acknowledgments
- asusrouter for the underlying Python library
- MCP for the protocol specification
- AsusWRT-Merlin for the firmware
Related Skills
Agent-Reach
106.0kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
78.2kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.7kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
90.3k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
