MCP server for Keenetic routers — manage interfaces, clients, routes and system via Claude
Project description
keenetic-mcp
MCP-сервер для роутеров Keenetic — управляй интерфейсами, смотри подключённых клиентов, маршруты и текущую скорость через Claude или любой MCP-совместимый клиент.
Инструменты
Система
| Инструмент | Описание |
|---|---|
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 |
Состояние интернет-подключения |
Управление (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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file keenetic_mcp-0.1.0.tar.gz.
File metadata
- Download URL: keenetic_mcp-0.1.0.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c08b1dcfd3230b980b0548204a961676088efbe4dba4e7efcbc0b27fb54ebae
|
|
| MD5 |
4c782c39299025bfe5a4c5f7409ba53f
|
|
| BLAKE2b-256 |
6b27514519264f84fc4f8b81e2cf13e77d84ae0d1af0c2bde7638414c9553c10
|
Provenance
The following attestation bundles were made for keenetic_mcp-0.1.0.tar.gz:
Publisher:
publish.yml on Patr56/keenetic-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
keenetic_mcp-0.1.0.tar.gz -
Subject digest:
4c08b1dcfd3230b980b0548204a961676088efbe4dba4e7efcbc0b27fb54ebae - Sigstore transparency entry: 1257136320
- Sigstore integration time:
-
Permalink:
Patr56/keenetic-mcp@09ad2388b0d1d6bf2a6e0bf5fb63e6214f9127a4 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Patr56
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@09ad2388b0d1d6bf2a6e0bf5fb63e6214f9127a4 -
Trigger Event:
release
-
Statement type:
File details
Details for the file keenetic_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: keenetic_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8fb078864b5316389f8c49fbf6a7cd76df5356a687147c3c97a444f8b2e4c76
|
|
| MD5 |
8b64cd5f022bb01c14734f7b2afd105d
|
|
| BLAKE2b-256 |
d7f59b83dd4c4825506e3b578bb9af6e280568d5edb95a4f60c63c7015fe6d24
|
Provenance
The following attestation bundles were made for keenetic_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on Patr56/keenetic-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
keenetic_mcp-0.1.0-py3-none-any.whl -
Subject digest:
c8fb078864b5316389f8c49fbf6a7cd76df5356a687147c3c97a444f8b2e4c76 - Sigstore transparency entry: 1257136385
- Sigstore integration time:
-
Permalink:
Patr56/keenetic-mcp@09ad2388b0d1d6bf2a6e0bf5fb63e6214f9127a4 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Patr56
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@09ad2388b0d1d6bf2a6e0bf5fb63e6214f9127a4 -
Trigger Event:
release
-
Statement type: