keenetic
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ROUTER_HOST | Yes | LAN-адрес роутера (в свойствах сети — "основной шлюз") | |
| ROUTER_PORT | No | Порт роутера (по умолчанию 80) | 80 |
| ROUTER_LOGIN | Yes | Имя пользователя для входа на роутер | |
| ROUTER_PASSWORD | Yes | Пароль пользователя для входа на роутер | |
| ALLOW_DESTRUCTIVE | No | Установите true, чтобы разрешить опасные операции (например, перезагрузку роутера). По умолчанию false. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_versionB | Версия KeeneticOS и модель роутера. |
| check_firmware_updateA | Проверяет через компонентный менеджер роутера, доступна ли новая версия KeeneticOS в настроенном канале обновлений. ТРЕБУЕТ прав основного аккаунта admin — под менее привилегированным аккаунтом роутер отвечает ошибкой "execute denied" (подтверждено вживую на роутере разработки под непривилегированным аккаунтом). Это ограничение самого RCI, а не баг инструмента: если получена такая ошибка, сообщи пользователю, что нужен admin-аккаунт в конфигурации MCP-сервера (ROUTER_LOGIN/ROUTER_PASSWORD), и не пытайся обойти это иначе. |
| get_system_infoB | Аптайм, загрузка, память и т.п. |
| get_interfacesA | Все сетевые интерфейсы роутера (WAN, Wi-Fi, VPN, мосты) и их состояние. |
| list_devicesA | Список устройств из таблицы DHCP/hotspot: MAC, IP, имя, интерфейс. |
| get_wan_statusB | Состояние основного интернет-подключения. |
| list_wifi_clientsB | Устройства, ассоциированные с точками доступа. |
| list_port_forwardsC | Текущие правила проброса портов. |
| list_routesB | Таблица статических маршрутов роутера. |
| list_dhcp_reservationsB | Статические привязки IP к MAC. |
| list_vpn_interfacesA | Отфильтрованный список интерфейсов роутера — только VPN-туннели (WireGuard подтверждён вживую; OpenVPN/IKEv2/L2TP/PPTP/VLESS — по типу, не проверено на реальном роутере). Используй для последующей привязки маршрутов (bind_route_to_vpn). |
| export_configA | Возвращает полный running-config роутера текстом (CLI-синтаксис) — та же информация, что и кнопка "Сохранить" у running-config в веб-интерфейсе (Управление → Настройки системы → Системные файлы). ВАЖНО: результат содержит секреты в открытом/слабо обфусцированном виде — хэши паролей пользователей, WPA-PSK Wi-Fi, параметры WireGuard. Перед вызовом предупреди пользователя об этом. После получения результата не пересказывай и не цитируй секретные значения без необходимости; если пользователь просит сохранить бэкап — предложи записать его в файл вне git-репозитория (в нём секреты в открытом виде), а не просто оставить текст в переписке. |
| set_wifi_passwordB | Устанавливает новый WPA-PSK пароль на указанной точке доступа. |
| set_wifi_enabledA | Поднимает или гасит указанную точку доступа (например гостевую сеть). |
| add_port_forwardA | Создаёт правило port forwarding с внешнего порта на внутренний IP:порт. |
| remove_port_forwardB | Удаляет ранее созданное правило port forwarding. |
| add_routeC | Добавляет статический маршрут. |
| remove_routeB | Удаляет статический маршрут. |
| bind_route_to_vpnA | Направляет трафик указанной сети через уже настроенный на роутере VPN-интерфейс (policy-based routing). |
| unbind_route_from_vpnB | Убирает привязку сети к VPN-интерфейсу. |
| run_route_batchA | Читает .bat-файл, разбирает его ограниченной грамматикой (ROUTE ADD/DELETE, VPN BIND/UNBIND) и применяет построчно. Файл не исполняется системным интерпретатором — только заранее известные команды. Любая нераспознанная строка отклоняет весь батч (fail-closed) ещё до применения. dryRun возвращает все RCI payload'ы без отправки на роутер. |
| reboot_routerA | Немедленная перезагрузка роутера. Требует ALLOW_DESTRUCTIVE=true в конфигурации сервера. RCI-форма запроса НЕ проверена вживую на реальном устройстве в рамках этого проекта — рекомендуется сначала dryRun и явное подтверждение пользователя перед первым использованием. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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