mcpField
A
Asuswrt Mcp Server

Asuswrt Mcp Server

ローカル
github.com/teefloo開発ツール326 週間前に更新

Asuswrt Mcp Server について

Asuswrt Mcp Serverは、SSH経由でAsusWRTおよびAsusWRT-Merlinルーターを監視・管理するインターフェースです。読み取り専用の状態確認ツールに加え、確認必須で事前プレビュー可能な変更操作を備えています。

主な機能

  1. 01ルーターの稼働状況、ネットワーク、クライアントを確認
  2. 02無線、サービス、ストレージ、セキュリティを調査
  3. 03VPNと管理設定を監視
  4. 04安全制限付きで許可された設定を変更
  5. 05変更を事前確認し機密データを秘匿

活用シーン

  1. 01ルーターの状態と接続クライアントを確認
  2. 02無線ネットワークやVPN設定を調査
  3. 03DHCP、ゲストWi-Fi、ポート転送を管理
  4. 04安全制限付きのルーター変更を事前確認

MCP 対応

SSH経由でルーター監視と安全制限付き管理のツールをMCPクライアントに公開します。操作は許可リストに限定され、変更には明示的な確認が必要で、事前プレビューもできます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"asuswrt": {
"command": "uvx",
"args": [
"asuswrt-mcp"
],
"env": {
"ASUSWRT_HOST": "<ASUSWRT_HOST>",
"ASUSWRT_SSH_USERNAME": "<ASUSWRT_SSH_USERNAME>",
"ASUSWRT_SSH_PASSWORD": "<ASUSWRT_SSH_PASSWORD>",
"ASUSWRT_SSH_KEY_FILE": "<ASUSWRT_SSH_KEY_FILE>",
"ASUSWRT_ALLOW_MUTATIONS": "<ASUSWRT_ALLOW_MUTATIONS>"
}
}
}
}
起動コマンドuvx asuswrt-mcp
設定が必要な環境変数
ASUSWRT_HOSTRouter IP address (e.g., 192.168.1.1)
ASUSWRT_SSH_USERNAMESSH username for router authentication
ASUSWRT_SSH_PASSWORDシークレットSSH password for router authentication
ASUSWRT_SSH_KEY_FILEシークレットPath to SSH private key file (alternative to password)
ASUSWRT_ALLOW_MUTATIONSEnable mutation tools (default: false)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiasuswrt-mcp0.1.1

ツール

47

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

AsusWRT MCP サーバー

Python 3.11+ MIT License Project Status: Active

mcp-name: io.github.teefloo/asuswrt-mcp

SSH 経由で AsusWRT および AsusWRT-Merlin ルーターを安全かつ制御された方法で管理するための Model Context Protocol(MCP)サーバーです。

概要

この MCP サーバーは、AI アシスタント(Claude、Cursor など)に、AsusWRT ルーターを監視・管理するための安全なインターフェースを提供します。許可リストに登録された操作のみを使用して SSH 経由で動作し、任意のコマンド実行、ファームウェアの変更、工場出荷時設定へのリセットは行いません。

機能

読み取り専用の監視(42 個のツール)
カテゴリツール
識別情報と稼働状況ルーターモデル、ファームウェアバージョン、稼働時間、負荷、メモリ
ネットワークLAN/WAN の詳細、DNS 設定、IPv6 の状態、ルーティングテーブル
クライアント接続中のクライアント、DHCP リース、ARP ネイバー
ワイヤレス無線の状態、SSID、ゲストネットワーク、帯域ごとのクライアント数
サービス実行中のプロセス、開いているポート、cron ジョブ
ストレージUSB デバイス、マウント、パーティション、ファイルシステムの使用状況
セキュリティUPnP、DDNS、Samba の状態、conntrack の使用状況
VPNOpenVPN サーバー、WireGuard、VPN クライアントプロファイル
管理Web 管理ポート、SSH/telnet アクセス設定
診断SSH の TCP/バナー/認証診断、設定スナップショット
変更ツール(安全ガード付き)

すべての変更ツールには、次の条件が必要です。

  • confirm: true パラメーター
  • ASUSWRT_ALLOW_MUTATIONS=true 環境変数
  • 変更をプレビューする dry_run: true のサポート
ツール説明
asuswrt_restart_service許可リストに登録されたサービス(httpd、firewall、wireless、dnsmasq など)を再起動します
asuswrt_dhcp_serverDHCP サーバーを有効化/無効化します
asuswrt_upnpUPnP を有効化/無効化します
asuswrt_radioWi-Fi 無線帯域を有効化/無効化します
asuswrt_guest_wifiゲスト Wi-Fi を有効化/無効化します
asuswrt_guest_lan_accessゲスト Wi-Fi の LAN アクセスを切り替えます
asuswrt_port_forwardingポートフォワーディングルールの一覧表示、追加、削除、有効化/無効化を行います
asuswrt_vpn_serverOpenVPN サーバーを有効化/無効化します
asuswrt_parental_accessペアレンタルコントロールルールの一覧表示、ブロック、ブロック解除、削除を行います
asuswrt_parental_block_allすべてブロックするモードを切り替えます
asuswrt_dhcp_reservationDHCP 固定割り当ての一覧表示、追加、削除を行います
安全性モデル
  • 任意の SSH コマンドは禁止:NVRAM およびサービス呼び出しを介して、許可リストに登録されたコマンドのみを実行します
  • ファームウェア操作なし:フラッシュ、リセット、ブートローダーへのアクセスは行いません
  • シークレットのマスキング:パスワードや機密データがツールの応答に表示されることはありません
  • ドライランのサポート:すべての変更を適用前にプレビューできます
  • 確認が必須:変更には明示的な confirm=True が必要です
  • SSH のみで接続:ルーターの Web API は公開しません

前提条件

  • Python 3.11+
  • SSH アクセスが有効な AsusWRT または AsusWRT-Merlin ルーター
  • MCP クライアントからルーターへのネットワーク接続

インストール

1. クローンしてセットアップ
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. 環境を設定
# Copy example configuration
cp .env.example .env

# Edit with your router credentials
# Use your favorite editor:
notepad .env        # Windows
nano .env           # Linux/macOS
3. .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

使用方法

MCP サーバーを実行
# Standard stdio mode
python -m asuswrt_mcp.server

# Or use the entry point
asuswrt-mcp
Claude Desktop / Cursor で設定

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"
      }
    }
  }
}
npx Inspector を使用する(開発用)
npx @modelcontextprotocol/inspector python -m asuswrt_mcp.server

開発

テストを実行
pip install -e ".[dev]"
pytest
ルーターとのライブ統合テストを実行
ASUSWRT_TEST_ROUTER=1 pytest

プロジェクト構成

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

ライセンス

MIT License。詳細は LICENSE を参照してください。

謝辞

  • 基盤となる Python ライブラリを提供する asusrouter
  • プロトコル仕様を提供する MCP
  • ファームウェアを提供する AsusWRT-Merlin

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。