NetCraze-mcp
This MCP server lets you remotely manage and monitor NetCraze routers via the RCI HTTP API from MCP clients.
System:
get_system_info— retrieve router model, firmware version, uptime, and system summaryreboot— remotely reboot the router (30–60s downtime)
Network & Interfaces:
get_interfaces— list all network interfacesget_interface— retrieve details for a specific interfaceset_interface_state— enable or disable an interface (up/down)get_connected_clients— list all currently connected clientsget_wifi_associations— view active WiFi client associationsget_routes— view the current IP routing tableget_wan_status— check WAN connection statusget_wan_speed— retrieve WAN interface speed metricsget_speed— measure general network speed (with optional interval)
Static DNS Hosts:
list_static_hosts— view static DNS hosts (filtered by private IP ranges, with sorting support)add_static_host— create a static hostname-to-IP mapping and save configdelete_static_host— remove a static host by hostname and save config
Domain Lists & DNS Routing:
get_domain_lists— list all domain listsget_domain_list— retrieve details of a specific domain listcreate_domain_list— create a new domain list (optionally with initial entries)delete_domain_list— remove a domain list by nameset_domain_list— replace all entries in a domain listadd_domains— add domains to an existing domain listremove_domains— remove specific domains from a domain listget_dns_routes— view all DNS routing rulesadd_dns_route— create a DNS route linking a domain list to an interface, with optional gateway, auto, and enabled parametersdelete_dns_route— remove a DNS route by index
Allows managing NetCraze (a Keenetic-compatible) router via RCI HTTP API, providing tools for static DNS hosts, static IP routes, system info, reboots, interfaces, connected clients, WiFi associations, speeds, WAN status, domain lists, DNS routing, USB storage, SMB shares, printers, firmware/component management, and backup/export functionality.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NetCraze-mcplist static hosts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
NetCraze-mcp
MCP-сервер для роутеров NetCraze — управление через Cursor и другие MCP-клиенты (RCI HTTP API).
Форк community-проекта Patr56/keenetic-mcp (MIT), адаптированный под NetCraze.
Инструменты
Static DNS hosts (NetCraze)
Инструмент | Описание |
| Список static hosts из |
| Добавить host и сохранить конфигурацию |
| Удалить host по имени и сохранить конфигурацию |
Static IP routes (NetCraze)
Инструмент | Описание |
| Список configured static routes ( |
| Добавить |
| Удалить по destination CIDR или index и save |
Компоненты, USB/хранилище, шары
Инструмент | Описание |
| NDMS-компоненты; |
| Версия прошивки, sandbox/channel, список установленных компонентов |
| Поставить компонент ( |
| Удалить компонент ( |
| Накопители из |
| Безопасно извлечь USB ( |
| SMB/CIFS-шары из |
| Создать/удалить SMB-шару и save |
| Принтеры из |
Remount USB после
unmount_usb— переподключением диска (отдельной RCI mount-команды нет).
Backup / export
Инструмент | Описание |
| Универсальная выгрузка системного файла ( |
| Экспорт набора системных файлов + metadata роутера (model/version/timestamp) |
Бинарник прошивки ~20–25 MB. По умолчанию в ответе только sha256/size; для файла укажите
save_path. Параметрsandboxдобавляет метаданные канала обновлений, но .bin — только текущая установленная прошивка.
Система, сеть, DNS-маршрутизация (upstream)
get_system_info, reboot, get_interfaces, get_interface, get_connected_clients, get_wifi_associations, get_speed, get_routes, get_wan_status, get_wan_speed, get_domain_lists, get_domain_list, create_domain_list, delete_domain_list, set_domain_list, add_domains, remove_domains, get_dns_routes, add_dns_route, delete_dns_route, set_interface_state
Related MCP server: vyos-mcp
Установка
cd NetCraze-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"Переменные окружения
Переменная | По умолчанию | Описание |
| — | IP роутера (обязательно) |
|
| Логин RCI |
| — | Пароль (обязательно) |
|
| Блокировать write-инструменты |
| — | Путь к файлу creds (для Cursor) |
Подключение в Cursor
1. Creds — секреты вне репозитория
По одному файлу creds на каждый роутер:
mkdir -p ~/.config/mcp-netcraze
chmod 700 ~/.config/mcp-netcraze
cp examples/creds.router.home.example ~/.config/mcp-netcraze/creds.router.home
cp examples/creds.router.work.example ~/.config/mcp-netcraze/creds.router.work
cp examples/run-mcp.sh ~/.config/mcp-netcraze/run-mcp.sh
chmod 600 ~/.config/mcp-netcraze/creds.router.*
chmod 700 ~/.config/mcp-netcraze/run-mcp.sh
# заполните NETCRAZE_HOST и NETCRAZE_PASS в каждом creds-файлеПароль только в creds.router.*, не в mcp.json.
2. Конфиг ~/.cursor/mcp.json
Два MCP-сервера — два роутера. В mcp.json только путь к creds:
{
"mcpServers": {
"router.home": {
"command": "$HOME/.config/mcp-netcraze/run-mcp.sh",
"env": {
"NETCRAZE_CREDS_FILE": "$HOME/.config/mcp-netcraze/creds.router.home"
}
},
"router.work": {
"command": "$HOME/.config/mcp-netcraze/run-mcp.sh",
"env": {
"NETCRAZE_CREDS_FILE": "$HOME/.config/mcp-netcraze/creds.router.work"
}
}
}
}run-mcp.sh читает NETCRAZE_CREDS_FILE и подгружает HOST/USER/PASS/Safe mode оттуда.
3. Проверка
Перезапуск Cursor (Cmd+Q)
Settings → Tools & MCPs →
router.homeиrouter.workзелёныеВ чате указывайте сервер явно:
«На router.home покажи static hosts»
«На router.work добавь host …»
Safe mode
NETCRAZE_SAFE_MODE=true(или не задано) → write-инструменты блокируютсяДля записи:
export NETCRAZE_SAFE_MODE="false"в нужном creds-файле
Разработка
netcraze_mcp/
client.py # NetCrazeClient, auth, RCI
config.py # safe_mode (по умолчанию true)
server.py # FastMCP init, main()
tools/
system.py # get_system_info, reboot
network.py # interfaces, clients, WAN, routes
dns_routes.py # domain lists, DNS routing
static_hosts.py # list/add/delete static hosts
static_routes.py # list/add/delete static IP routes
components.py # list_components, get_firmware_info
storage.py # list_usb_storage, list_shares, list_printers
backup.py # download_system_file, export_backup
tests/
test_tools.pypytestЛицензия
MIT (на базе upstream Patr56/keenetic-mcp).
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
- AlicenseAqualityAmaintenanceProduction-grade MCP server for MikroTik RouterOS with secure AI-native network automation.10023148MIT
- AlicenseAqualityDmaintenanceMCP server for managing VyOS routers via the VyOS HTTP API, allowing AI assistants to read config, set interfaces, firewall rules, VPNs, and more.171MIT
- Flicense-qualityDmaintenanceMCP server with tools for managing routers, enabling network control through natural language.1
- Flicense-qualityCmaintenanceMCP server for MikroTik RouterOS with multi-router support, environment-based auto-load, split read/write architecture, and selectable runtime modes: readonly, safe-write, full.
Related MCP Connectors
MCP server for network documentation, generated by doc2mcp.
MCP server for Klever blockchain smart contract development.
MCP server for ScanMalware.com URL scanning, malware detection, and analysis.
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/wise108/NetCraze-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server