Skip to main content
Glama

Keenetic-router-plugin

イアIエージェントがRCI(ルーターのウェブインターフェースが使うのと同じAPI)を使ってKeeneticルーターを管理できるようにするプラグイン(MCPサーバー + skill)。クラウドを介さず、ローカルネットワーク上で直接動作します。MCPサーバーは独立しており、任意のMCPクライアント(例:Codex)で動作します。skill(AI向けのKeeneticドメイン知識)はClaude Codeプラグインエコシステム専用です。

KeeneticOS 5.0.12でテスト済み。別のモデル/ファームウェアでは一部のRCIパスが異なる場合があります。作業を始める前にnpm run smokeを実行してください(読み取り専用で、ルーター上では何も変更しません)。

このプラグインでAIができることとできないこと

読み取り — 確認なしで、いつでも可能: ファームウェアのバージョン、WANステータス、インターフェース一覧、接続済みデバイス、Wi-Fiクライアント、ポートフォワーディング、ルート、DHCP予約、VPNインターフェース、設定の完全エクスポート(export_config)。

変更 — AIが明示的にconfirm: trueを渡した場合のみ: Wi-Fiパスワードの変更、アクセスポイントの有効化/無効化、ポートフォワードの追加/削除、ルートの追加/削除、設定済みVPNトンネルへのネットワークの接続/切り離し、.batファイルからのルート一括適用。confirm: trueがない場合、呼び出しは拒否されます。AIにまずdryRun: trueで実行するよう依頼できます。何も適用せず、ルーターに送信される内容を表示します。

危険な操作 — サーバー設定でALLOW_DESTRUCTIVE=trueをさらに必須にする: ルーターの再起動。このフラグが有効でない限り、confirm: trueを渡しても、AIを介してルーターを再起動することはできません。

このプラグインがそもそもできないこと(未実装): VPNトンネルをゼロから作成する(WireGuard/OpenVPN/IPsec)、工場出荷時設定にリセットする、ファームウェアを更新する。

各write/destructive呼び出し(適用、拒否、エラーで失敗したものを含む)はaudit.logに記録されます。

Related MCP server: AsusWRT MCP Server

インストール

Node.js 20+が必要です。

  1. プロジェクトをクローンして依存関係をインストールします:

    npm install
    npm run build
  2. .env.exampleを同じフォルダの.envにコピーして入力します:

    ROUTER_HOST=192.168.1.1        # LAN-адрес роутера (в свойствах сети — "основной шлюз")
    ROUTER_PORT=80
    ROUTER_LOGIN=имя_пользователя
    ROUTER_PASSWORD=пароль_пользователя
    ALLOW_DESTRUCTIVE=false        # true — разрешить reboot_router

    .envの代わりに、サーバー登録時に--envで同じ値を渡すこともできます — 下記参照。

  3. 接続を確認します(読み取り専用、ルーター上で何も変更しません):

    npm run smoke

    いずれかのリクエストがエラーを返した場合、お使いのモデル/ファームウェアではRCIパスが異なる可能性があります。AIを操作する前にsrc/capabilities/*.tsで修正してください。

Claude Codeへの接続

プラグインとして接続する(推奨 — skill付きで):

claude --plugin-dir "<путь-к-проекту>"

永続的に接続するには(1セッションだけでなく)、プロジェクトをgitリポジトリまたはローカルmarketplaceに置いたら/plugin installを使用してください。

skillなしのサーバーに接続する:

claude mcp add --transport stdio --scope user keenetic -- node "<путь-к-проекту>/dist/index.js"

.envを作成していない場合は、直接ここに認証情報を追加してください:

claude mcp add --transport stdio --scope user \
  --env ROUTER_HOST=192.168.1.1 --env ROUTER_LOGIN=имя_пользователя --env ROUTER_PASSWORD=его_пароль \
  keenetic -- node "<путь-к-проекту>/dist/index.js"

接続確認: claude mcp listclaude mcp get keenetic、またはセッション内で/mcp

この後、ダイアログで「ルーターに接続されているデバイスを表示して」や「ゲストWi-Fiのパスワードを変更する」などと入力できます。

Codexへ接続

~/.codex/config.toml に:

[mcp_servers.keenetic]
command = "node"
args = ["<путь-к-проекту>/dist/index.js"]

セキュリティ

ガードモデル(confirm/dryRun/ALLOW_DESTRUCTIVE)は、AIの偶発的または不注意な操作から保護します。ただし、ルーター自体のパスワードは保護しません.env や設定が第三者に漏えた場合、そのパスワードを使ってサーバーやこれらの制限を迂回し、ルーターに直接アクセスできてしまいます。

  • export_config は形式的には読み取り専用ですが、シークレットを平文または弱い難読化状態で返します(パスワードハッシュ、WPA-PSK、WireGuardのパラメータ)。これはウェブ管理画面の「保存」ボタンの情報と同じ内容ですが、AIとのやり取りの中に現れるという違いがあります。このツール自体が呼び出し前に警告するようAIに求めています。

  • ルーターのウェブ管理画面(システム → ユーザー)で、サービス用の専用ユーザーを登録し、可能な場合はadminを避けてください。ただし、一部の操作(特にset_wifi_password/set_wifi_enabled)はKeeneticではadminのみ利用可能です。それが必要な場合は、adminを新しい一意のパスワードで使用してください。

  • RCI/ウェブ管理画面をインターネットに公開しないでください — リモートアクセス、管理権限付きのKeenDNS、このアカウント用の管理画面へのポートフォワードを有効にしないでください。Keeneticはデフォルトで外部からは遮断されています。

  • .envへのアクセスをOSレベルで制限してください(macOS/Linuxではchmod 600 .env、Windowsではファイルのプロパティ → 「セキュリティ」タブ)。このファイルはすでに.gitignoreに入っています。

  • 長くて一意な、他のパスワードと一致しないパスワードを使用してください。

開発

npm run dev     # запуск сервера напрямую через tsx, без сборки
npm test        # unit-тесты (без обращения к реальному роутеру)
npm run smoke   # live read-only проверка на реальном роутере из .env

バージョンとリリース

プロジェクトのバージョン(package.json, .claude-plugin/plugin.json)はmasterプッシュ時に自動的にバンプされます。GitHub Actions が semantic-release を実行し、コミットメッセージ(Angular convention)からバージョンのレベルを決定します:

  • fix: ... → patch

  • feat: ... → minor

  • feat!: ... / BREAKING CHANGE: ...(コミット本文内) → major

  • chore:, docs:, refactor:, test: など — リリースは作成されない

バージョンを手動でバンプ・編集しないでください。完全にコミット履歴から導き迂回されます。

Install Server
F
license - not found
B
quality
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Enables AI agents to manage OpenWRT routers remotely via SSH, supporting system monitoring, network management, OpenThread Border Router configuration, and package management through natural language commands.
    19
    14
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to monitor and securely manage AsusWRT and AsusWRT-Merlin routers via SSH with allowlisted commands, supporting read-only monitoring and controlled mutations.
    47
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to manage TP-Link routers by listing clients, checking status, controlling Wi-Fi, and rebooting via natural language.
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables MCP agents to control Keenetic routers via plain language, providing network monitoring, device management, and safe configuration changes with backup and read-only options.
    102
    16
    MIT

View all related MCP servers

Related MCP Connectors

  • Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.

  • Curated knowledge API for AI agents - skill packs, semantic search, validated patterns.

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kykyryky23/Keenetic-router-plugin'

If you have feedback or need assistance with the MCP directory API, please join our Discord server