keenetic
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+が必要です。
プロジェクトをクローンして依存関係をインストールします:
npm install npm run build.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で同じ値を渡すこともできます — 下記参照。接続を確認します(読み取り専用、ルーター上で何も変更しません):
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 list、claude 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: ...→ patchfeat: ...→ minorfeat!: .../BREAKING CHANGE: ...(コミット本文内) → majorchore:,docs:,refactor:,test:など — リリースは作成されない
バージョンを手動でバンプ・編集しないでください。完全にコミット履歴から導き迂回されます。
Maintenance
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
- AlicenseAqualityFmaintenanceEnables 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.1914MIT
- AlicenseBqualityDmaintenanceEnables AI assistants to monitor and securely manage AsusWRT and AsusWRT-Merlin routers via SSH with allowlisted commands, supporting read-only monitoring and controlled mutations.471MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to manage TP-Link routers by listing clients, checking status, controlling Wi-Fi, and rebooting via natural language.1MIT
- AlicenseNot gradedqualityAmaintenanceEnables MCP agents to control Keenetic routers via plain language, providing network monitoring, device management, and safe configuration changes with backup and read-only options.10216MIT
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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