keenetic-mcp
MCP-сервер для роутеров Keenetic — управляй интерфейсами, смотри подключённых клиентов, маршруты и текущую скорость через Claude или любой MCP-совместимый клиент.
Протестировано на прошивке 5.01.B.0.0-2 (Keenetic Ultra KN-1811). Более ранние версии ветки 4.x и выше должны работать — API RCI стабилен начиная с KeeneticOS 3.x.
Инструменты
Система
| Инструмент | Описание |
|---|---|
get_system_info |
Модель, версия прошивки, аптайм, использование памяти |
Интерфейсы
| Инструмент | Описание |
|---|---|
get_interfaces |
Все сетевые интерфейсы — состояние, IP, MTU |
get_interface |
Детальная информация по одному интерфейсу |
Клиенты и трафик
| Инструмент | Описание |
|---|---|
get_connected_clients |
Все устройства в сети — MAC, IP, hostname, трафик |
get_wifi_associations |
Wi-Fi клиенты с уровнем сигнала (RSSI/SNR) |
get_speed |
Текущая скорость download/upload по всем клиентам |
Маршрутизация и WAN
| Инструмент | Описание |
|---|---|
get_routes |
Таблица маршрутов |
get_wan_status |
Состояние интернет-подключения |
get_wan_speed |
Текущая скорость по каждому WAN/VPN интерфейсу отдельно (Beeline, MTS, Wireguard и т.д.) |
DNS-маршрутизация
| Инструмент | Описание |
|---|---|
get_domain_lists |
Все списки доменных имён — название, ключ, количество записей |
get_domain_list |
Все записи (домены/IP) в конкретном списке |
create_domain_list |
Создать новый список доменных имён |
delete_domain_list |
Удалить список доменных имён |
set_domain_list |
Заменить все записи в списке (полная перезапись) |
add_domains |
Добавить домены/IP в список (дубли игнорируются) |
remove_domains |
Удалить конкретные домены/IP из списка |
get_dns_routes |
Все правила DNS-маршрутизации (список → интерфейс) |
add_dns_route |
Добавить правило DNS-маршрутизации |
delete_dns_route |
Удалить правило по его index-хэшу |
Управление (safe mode)
| Инструмент | Описание |
|---|---|
set_interface_state |
Поднять или опустить интерфейс |
reboot |
Перезагрузить роутер |
Установка
pip install keenetic-mcp
Настройка
Переменные окружения
| Переменная | Описание | По умолчанию |
|---|---|---|
KEENETIC_HOST |
IP или hostname роутера | обязательно |
KEENETIC_USER |
Логин | admin |
KEENETIC_PASS |
Пароль | обязательно |
KEENETIC_SAFE_MODE |
Запретить write-операции (1/true/yes) |
false |
Claude Code (CLI)
claude mcp add keenetic-mcp \
-e KEENETIC_HOST=192.168.1.1 \
-e KEENETIC_PASS=your_password \
-- keenetic-mcp
Claude Desktop
В claude_desktop_config.json:
{
"mcpServers": {
"keenetic": {
"command": "keenetic-mcp",
"env": {
"KEENETIC_HOST": "192.168.1.1",
"KEENETIC_USER": "admin",
"KEENETIC_PASS": "your_password"
}
}
}
}
Безопасный режим (Safe Mode)
Запусти с --safe-mode чтобы запретить reboot и set_interface_state:
keenetic-mcp --safe-mode
# или
KEENETIC_SAFE_MODE=true keenetic-mcp
Три уровня приоритета (выше = важнее):
# Программно
from keenetic_mcp.server import configure, mcp
configure(safe_mode=True)
mcp.run()
Примеры
После настройки можно спрашивать Claude:
«Какие устройства сейчас подключены к роутеру?» «Какая скорость на роутере прямо сейчас?» «Покажи скорость по каждому провайдеру» «Покажи состояние всех интерфейсов» «Есть ли интернет? Через какой провайдер?» «Перезагрузи роутер»
Лицензия
MIT
Release files for keenetic-mcp 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| keenetic_mcp-0.3.0.tar.gz | 14.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| keenetic_mcp-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.4 kB
Release files / keenetic_mcp-0.3.0.tar.gz
| Download URL | keenetic_mcp-0.3.0.tar.gz |
|---|---|
| Size | 14.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cbb9768886e08dd174025deea7549b1c7c96266507221067ed14de7e7e6b9824
|
|
BLAKE2b-256 checksum How to use checksums |
7aa064fa55cc1311218ed6dc25ca34d291ca170b67a215241f8d4850e0e5de03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.
Transparency logRelease files / keenetic_mcp-0.3.0-py3-none-any.whl
| Download URL | keenetic_mcp-0.3.0-py3-none-any.whl |
|---|---|
| Size | 10.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d659ce27dbac6073631016d4aba802fc45187518d5f56c1a3a3af71714615a4a
|
|
BLAKE2b-256 checksum How to use checksums |
487599e213267797522eac35e62cd28bafd8a33e9d67fa29b1533c1415439ece
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.
Transparency log