Sandbox
@TrackLine/mcp-remnawave

MCP server for Remnawave panel management

This MCP server connects agent clients to a Remnawave VPN panel through stdio. It exposes tools for users, nodes, hosts, subscriptions, billing, settings, metadata, and more, plus resources for stats, health, and node status. It also includes prompts for common workflows and a readonly mode for safer monitoring.

97 stars19 forksTypeScriptUpdated 1mo ago
Who it's for

Builders who want Claude Desktop, Cursor, Windsurf, or any MCP client to manage a Remnawave panel.

What it delivers

You can ask your agent to inspect, monitor, and change Remnawave panel state without leaving your chat or editor.

What it does

Panel management tools

Provides 153 tools for users, nodes, hosts, subscriptions, squads, HWID, billing, snippets, settings, node plugins, IP control, and metadata.

Readonly mode

Sets `REMNAWAVE_READONLY=true` to register only 69 read-only tools for safer monitoring and shared environments.

Caddy support

Adds the `X-Api-Key` header automatically when the panel sits behind Caddy with a custom path.

MCP resources

Exposes `remnawave://stats`, `remnawave://nodes`, `remnawave://health`, and `remnawave://users/{uuid}`.

Guided prompts

Includes prompts for user creation, node diagnostics, traffic reports, user audits, and bulk cleanup.

Type-safe API client

Uses `@remnawave/backend-contract` for route validation and a TypeScript HTTP client in `src/client/`.

How to get it

  1. 1Run
    git clone https://github.com/TrackLine/mcp-remnawave.git
    cd mcp-remnawave
    npm install
    npm run build

README

mcp-remnawave

English | Русский


MCP Server for Remnawave Panel

MCP server (Model Context Protocol) providing LLM clients (Claude Desktop, Cursor, Windsurf, etc.) with tools to manage a Remnawave VPN panel.

Version: 1.2.0 | Remnawave API: 2.7.4

Features

  • 153 tools — full management of users, nodes, hosts, subscriptions, squads, HWID, config profiles, inbounds, API tokens, billing, snippets, external squads, settings, subscription page configs, node plugins, IP control, and metadata
  • 3 resources — real-time panel stats, node status, health checks
  • 5 prompts — guided workflows for common tasks
  • Readonly mode — restrict to 69 read-only tools for safe monitoring
  • Caddy supportX-Api-Key header for panels behind Caddy with custom path
  • Type-safe — built on @remnawave/backend-contract for API route validation
  • stdio transport — works with Claude Desktop, Cursor, Windsurf, and any MCP-compatible client

Requirements

  • Node.js >= 22
  • Remnawave panel with API token (Settings > API Tokens)

Installation

git clone https://github.com/TrackLine/mcp-remnawave.git
cd mcp-remnawave
npm install
npm run build

Configuration

Create a .env file or pass environment variables:

VariableRequiredDescription
REMNAWAVE_BASE_URLYesPanel URL (e.g. https://vpn.example.com)
REMNAWAVE_API_TOKENYesAPI token from panel settings
REMNAWAVE_API_KEYNoAPI key for Caddy reverse proxy authentication
REMNAWAVE_READONLYNoSet to true to enable readonly mode
REMNAWAVE_BASE_URL=https://vpn.example.com
REMNAWAVE_API_TOKEN=your-api-token-here

Caddy with Custom Path

If your Remnawave panel is deployed behind Caddy with a custom path and API key protection, set the base URL to include the custom path and provide the API key:

REMNAWAVE_BASE_URL=https://example.com/your-secret-path/api
REMNAWAVE_API_KEY=your-caddy-api-key

The X-Api-Key header will be added to every request automatically.

Readonly Mode

Set REMNAWAVE_READONLY=true to disable all write operations (create, update, delete, enable, disable, restart, revoke, reset). Only read/list tools will be registered.

Useful for monitoring dashboards or shared environments where you want to prevent accidental changes.

In readonly mode, the available tools are reduced from 153 to 69:

CategoryAvailable tools
Users (10)users_list, users_get, users_get_by_username, users_get_by_short_uuid, users_get_by_telegram_id, users_get_by_email, users_get_by_tag, users_get_by_subscription_uuid, users_tags_list, users_resolve
Nodes (3)nodes_list, nodes_get, nodes_tags_list
Hosts (3)hosts_list, hosts_get, hosts_tags_list
System (10)all tools (read-only by nature)
Subscriptions (10)all tools (read-only by nature)
Config Profiles & Inbounds (5)config_profiles_list, config_profiles_get, inbounds_list, config_profiles_get_inbounds, config_profiles_get_computed_config
Internal Squads (2)squads_list, squads_accessible_nodes
HWID (4)hwid_devices_list, hwid_devices_list_all, hwid_stats, hwid_top_users
API Tokens (1)api_tokens_list
Keygen (1)keygen_get
Infra Billing (4)billing_providers_list, billing_provider_get, billing_nodes_list, billing_history_list
Snippets (1)snippets_list
External Squads (2)external_squads_list, external_squads_get
Settings (1)settings_get
Sub Page Configs (2)sub_page_configs_list, sub_page_configs_get
Node Plugins (4)node_plugins_list, node_plugins_get, node_plugins_torrent_reports, node_plugins_torrent_stats
IP Control (4)ip_control_fetch_ips, ip_control_get_fetch_ips_result, ip_control_fetch_users_ips, ip_control_get_fetch_users_ips_result
Metadata (2)metadata_node_get, metadata_user_get

Usage with Claude Desktop

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "remnawave": {
      "command": "node",
      "args": ["/absolute/path/to/remnawave-mcp/dist/index.js"],
      "env": {
        "REMNAWAVE_BASE_URL": "https://vpn.example.com",
        "REMNAWAVE_API_TOKEN": "your-api-token-here",
        "REMNAWAVE_API_KEY": "your-caddy-api-key",
        "REMNAWAVE_READONLY": "false"
      }
    }
  }
}

Usage with Cursor / Windsurf

Add to .cursor/mcp.json or .windsurf/mcp.json in your project:

{
  "mcpServers": {
    "remnawave": {
      "command": "node",
      "args": ["/absolute/path/to/remnawave-mcp/dist/index.js"],
      "env": {
        "REMNAWAVE_BASE_URL": "https://vpn.example.com",
        "REMNAWAVE_API_TOKEN": "your-api-token-here",
        "REMNAWAVE_API_KEY": "your-caddy-api-key",
        "REMNAWAVE_READONLY": "false"
      }
    }
  }
}

Docker

npm run build
docker compose up -d

Environment variables are passed via .env file or docker-compose.yml.

Available Tools

Users (27 tools)

ToolDescriptionMode
users_listList all users with paginationread
users_getGet user by UUIDread
users_get_by_usernameGet user by usernameread
users_get_by_short_uuidGet user by short UUIDread
users_get_by_telegram_idGet user by Telegram IDread
users_get_by_emailGet user by emailread
users_get_by_tagGet user by tagread
users_get_by_subscription_uuidGet user by subscription UUIDread
users_tags_listList all user tagsread
users_resolveResolve users by multiple criteriaread
users_createCreate a new userwrite
users_updateUpdate user settingswrite
users_deleteDelete a userwrite
users_enableEnable a disabled userwrite
users_disableDisable a userwrite
users_revoke_subscriptionRevoke subscription (regenerate link)write
users_reset_trafficReset traffic counterwrite
users_bulk_delete_by_statusBulk delete users by statuswrite
users_bulk_updateBulk update userswrite
users_bulk_reset_trafficBulk reset trafficwrite
users_bulk_revoke_subscriptionBulk revoke subscriptionswrite
users_bulk_deleteBulk delete userswrite
users_bulk_update_squadsBulk update user squadswrite
users_bulk_extend_expirationBulk extend expiration dateswrite
users_bulk_all_updateBulk update all userswrite
users_bulk_all_reset_trafficBulk reset all users trafficwrite
users_bulk_all_extend_expirationBulk extend all users expirationwrite

Nodes (15 tools)

ToolDescriptionMode
nodes_listList all nodesread
nodes_getGet node by UUIDread
nodes_tags_listList all node tagsread
nodes_createCreate a new nodewrite
nodes_updateUpdate node settingswrite
nodes_deleteDelete a nodewrite
nodes_enableEnable a nodewrite
nodes_disableDisable a nodewrite
nodes_restartRestart a specific nodewrite
nodes_restart_allRestart all nodeswrite
nodes_reset_trafficReset node traffic counterwrite
nodes_reorderReorder nodeswrite
nodes_bulk_profile_modificationBulk modify node profileswrite
nodes_bulk_actionsBulk node actionswrite
nodes_bulk_updateBulk update nodeswrite

Hosts (11 tools)

ToolDescriptionMode
hosts_listList all hostsread
hosts_getGet host by UUIDread
hosts_tags_listList all host tagsread
hosts_createCreate a new hostwrite
hosts_updateUpdate host settingswrite
hosts_deleteDelete a hostwrite
hosts_bulk_enableBulk enable hostswrite
hosts_bulk_disableBulk disable hostswrite
hosts_bulk_deleteBulk delete hostswrite
hosts_bulk_set_inboundBulk set host inboundwrite
hosts_bulk_set_portBulk set host portwrite

System (10 tools)

ToolDescriptionMode
system_statsPanel statistics (users, nodes, traffic, CPU, memory)read
system_bandwidth_statsBandwidth statisticsread
system_nodes_metricsNode metricsread
system_nodes_statisticsNode statisticsread
system_healthPanel health checkread
system_metadataPanel version and metadataread
system_generate_x25519Generate X25519 key pairread
auth_statusCheck authentication statusread
system_stats_recapSystem statistics recapread
system_srr_matcherTest SRR routing rulesread

Subscriptions (10 tools)

ToolDescriptionMode
subscriptions_listList all subscriptionsread
subscriptions_get_by_uuidGet subscription by UUIDread
subscriptions_get_by_usernameGet subscription by usernameread
subscriptions_get_by_short_uuidGet subscription by short UUIDread
subscriptions_get_raw_by_short_uuidGet raw subscription by short UUIDread
subscriptions_get_subpage_configGet subscription subpage configread
subscriptions_get_connection_keysGet connection keys by UUIDread
subscription_infoGet subscription inforead
subscription_request_history_listSubscription request historyread
subscription_request_history_statsSubscription request history statsread

Config Profiles & Inbounds (9 tools)

ToolDescriptionMode
config_profiles_listList config profilesread
config_profiles_getGet config profile by UUIDread
inbounds_listList all inboundsread
config_profiles_get_inboundsGet inbounds by profile UUIDread
config_profiles_get_computed_configGet computed config by profile UUIDread
config_profiles_createCreate config profilewrite
config_profiles_updateUpdate config profilewrite
config_profiles_deleteDelete config profilewrite
config_profiles_reorderReorder config profileswrite

Internal Squads (7 tools)

ToolDescriptionMode
squads_listList all squadsread
squads_accessible_nodesGet squad accessible nodesread
squads_createCreate a squadwrite
squads_updateUpdate a squadwrite
squads_deleteDelete a squadwrite
squads_add_usersAdd users to a squadwrite
squads_remove_usersRemove users from a squadwrite

HWID Devices (7 tools)

ToolDescriptionMode
hwid_devices_listList user's HWID devicesread
hwid_devices_list_allList all HWID devicesread
hwid_statsGet HWID statisticsread
hwid_top_usersGet top users by devicesread
hwid_device_createCreate HWID devicewrite
hwid_device_deleteDelete a specific devicewrite
hwid_devices_delete_allDelete all user's deviceswrite

API Tokens (3 tools)

ToolDescriptionMode
api_tokens_listList API tokensread
api_tokens_createCreate API tokenwrite
api_tokens_deleteDelete API tokenwrite

Keygen (1 tool)

ToolDescriptionMode
keygen_getGet keygen dataread

Infra Billing (12 tools)

ToolDescriptionMode
billing_providers_listList billing providersread
billing_provider_getGet billing provider by UUIDread
billing_nodes_listList billing nodesread
billing_history_listList billing historyread
billing_provider_createCreate billing providerwrite
billing_provider_updateUpdate billing providerwrite
billing_provider_deleteDelete billing providerwrite
billing_node_createCreate billing nodewrite
billing_node_updateUpdate billing nodewrite
billing_node_deleteDelete billing nodewrite
billing_history_createCreate billing history entrywrite
billing_history_deleteDelete billing history entrywrite

Snippets (4 tools)

ToolDescriptionMode
snippets_listList snippetsread
snippets_createCreate snippetwrite
snippets_updateUpdate snippetwrite
snippets_deleteDelete snippetwrite

External Squads (8 tools)

ToolDescriptionMode
external_squads_listList external squadsread
external_squads_getGet external squad by UUIDread
external_squads_createCreate external squadwrite
external_squads_updateUpdate external squadwrite
external_squads_deleteDelete external squadwrite
external_squads_add_usersAdd users to external squadwrite
external_squads_remove_usersRemove users from external squadwrite
external_squads_reorderReorder external squadswrite

Settings (2 tools)

ToolDescriptionMode
settings_getGet panel settingsread
settings_updateUpdate panel settingswrite

Subscription Page Configs (7 tools)

ToolDescriptionMode
sub_page_configs_listList subscription page configsread
sub_page_configs_getGet subscription page configread
sub_page_configs_createCreate subscription page configwrite
sub_page_configs_updateUpdate subscription page configwrite
sub_page_configs_deleteDelete subscription page configwrite
sub_page_configs_reorderReorder subscription page configswrite
sub_page_configs_cloneClone subscription page configwrite

Node Plugins (11 tools)

ToolDescriptionMode
node_plugins_listList node pluginsread
node_plugins_getGet node plugin by UUIDread
node_plugins_torrent_reportsGet torrent blocker reportsread
node_plugins_torrent_statsGet torrent blocker statsread
node_plugins_createCreate node pluginwrite
node_plugins_updateUpdate node pluginwrite
node_plugins_deleteDelete node pluginwrite
node_plugins_reorderReorder node pluginswrite
node_plugins_cloneClone node pluginwrite
node_plugins_executeExecute node pluginwrite
node_plugins_torrent_truncateTruncate torrent blocker reportswrite

IP Control (5 tools)

ToolDescriptionMode
ip_control_fetch_ipsFetch IPs for a userread
ip_control_get_fetch_ips_resultGet fetch IPs job resultread
ip_control_fetch_users_ipsFetch users IPs on a noderead
ip_control_get_fetch_users_ips_resultGet fetch users IPs job resultread
ip_control_drop_connectionsDrop user connectionswrite

Metadata (4 tools)

ToolDescriptionMode
metadata_node_getGet node metadataread
metadata_user_getGet user metadataread
metadata_node_upsertUpsert node metadatawrite
metadata_user_upsertUpsert user metadatawrite

Resources

URIDescription
remnawave://statsCurrent panel statistics
remnawave://nodesAll nodes status
remnawave://healthPanel health status
remnawave://users/{uuid}Specific user details

Prompts

PromptDescription
create_user_wizardStep-by-step user creation guide
node_diagnosticsNode troubleshooting
traffic_reportTraffic usage report
user_auditComplete user audit
bulk_user_cleanupFind and manage expired users

Example Queries

"Show me all users with expired subscriptions"
"Create user vasya with 50 GB limit for one month"
"Restart node amsterdam-01"
"Give me a traffic report for the last week"
"Disable users who exceeded their traffic limit"
"Which nodes are offline right now?"
"Show billing history"
"List all node plugins"
"Get IP connections for user X"

Project Structure

src/
├── index.ts                       # Entry point (stdio transport)
├── server.ts                      # McpServer setup
├── config.ts                      # Environment config
├── client/
│   └── index.ts                   # Remnawave HTTP client
├── tools/
│   ├── helpers.ts                 # Result formatting helpers
│   ├── index.ts                   # Tool registration
│   ├── users.ts                   # User management (27 tools)
│   ├── nodes.ts                   # Node management (15 tools)
│   ├── hosts.ts                   # Host management (11 tools)
│   ├── system.ts                  # System & auth (10 tools)
│   ├── subscriptions.ts           # Subscriptions (10 tools)
│   ├── inbounds.ts                # Config profiles & inbounds (9 tools)
│   ├── squads.ts                  # Internal squads (7 tools)
│   ├── hwid.ts                    # HWID devices (7 tools)
│   ├── infra-billing.ts           # Infrastructure billing (12 tools)
│   ├── node-plugins.ts            # Node plugins (11 tools)
│   ├── external-squads.ts         # External squads (8 tools)
│   ├── subscription-page-configs.ts # Subscription page configs (7 tools)
│   ├── ip-control.ts              # IP control (5 tools)
│   ├── snippets.ts                # Snippets (4 tools)
│   ├── metadata.ts                # Node & user metadata (4 tools)
│   ├── api-tokens.ts              # API tokens (3 tools)
│   ├── settings.ts                # Panel settings (2 tools)
│   └── keygen.ts                  # Keygen (1 tool)
├── resources/
│   └── index.ts                   # MCP resources
└── prompts/
    └── index.ts                   # MCP prompts

License

MIT


MCP-сервер для Remnawave Panel

MCP-сервер (Model Context Protocol), предоставляющий LLM-клиентам (Claude Desktop, Cursor, Windsurf и др.) инструменты для управления VPN-панелью Remnawave.

Версия: 1.2.0 | Remnawave API: 2.7.4

Возможности

  • 153 инструмента — полное управление пользователями, нодами, хостами, подписками, группами, HWID, конфиг-профилями, inbounds, API-токенами, биллингом, сниппетами, внешними группами, настройками, страницами подписок, плагинами нод, IP-контролем и метаданными
  • 3 ресурса — статистика панели, статус нод, проверка здоровья в реальном времени
  • 5 промптов — пошаговые сценарии для типичных задач
  • Readonly-режим — ограничение до 69 инструментов только для чтения
  • Поддержка Caddy — заголовок X-Api-Key для панелей за Caddy с кастомным путём
  • Type-safe — построен на @remnawave/backend-contract для валидации API-маршрутов
  • stdio транспорт — работает с Claude Desktop, Cursor, Windsurf и любым MCP-совместимым клиентом

Требования

  • Node.js >= 22
  • Remnawave панель с API-токеном (Настройки > API Tokens)

Установка

git clone https://github.com/TrackLine/mcp-remnawave.git
cd mcp-remnawave
npm install
npm run build

Конфигурация

Создайте файл .env или передайте переменные окружения:

ПеременнаяОбязательнаяОписание
REMNAWAVE_BASE_URLДаURL панели (например https://vpn.example.com)
REMNAWAVE_API_TOKENДаAPI-токен из настроек панели
REMNAWAVE_API_KEYНетAPI-ключ для аутентификации через Caddy reverse proxy
REMNAWAVE_READONLYНетtrue для включения режима только чтения
REMNAWAVE_BASE_URL=https://vpn.example.com
REMNAWAVE_API_TOKEN=ваш-api-токен

Caddy с кастомным путём

Если ваша панель Remnawave развёрнута за Caddy с кастомным путём и защитой API-ключом, укажите полный путь в base URL и предоставьте API-ключ:

REMNAWAVE_BASE_URL=https://example.com/your-secret-path/api
REMNAWAVE_API_KEY=ваш-caddy-api-ключ

Заголовок X-Api-Key будет автоматически добавляться к каждому запросу.

Режим Readonly

Установите REMNAWAVE_READONLY=true, чтобы отключить все операции записи (создание, обновление, удаление, включение, отключение, перезапуск, отзыв, сброс). Будут зарегистрированы только инструменты чтения.

Полезно для мониторинговых дашбордов или общих окружений, где нужно исключить случайные изменения.

В readonly-режиме количество доступных инструментов сокращается с 153 до 69:

КатегорияДоступные инструменты
Пользователи (10)users_list, users_get, users_get_by_username, users_get_by_short_uuid, users_get_by_telegram_id, users_get_by_email, users_get_by_tag, users_get_by_subscription_uuid, users_tags_list, users_resolve
Ноды (3)nodes_list, nodes_get, nodes_tags_list
Хосты (3)hosts_list, hosts_get, hosts_tags_list
Система (10)все инструменты (только чтение по природе)
Подписки (10)все инструменты (только чтение по природе)
Конфиг-профили и Inbounds (5)config_profiles_list, config_profiles_get, inbounds_list, config_profiles_get_inbounds, config_profiles_get_computed_config
Внутренние группы (2)squads_list, squads_accessible_nodes
HWID (4)hwid_devices_list, hwid_devices_list_all, hwid_stats, hwid_top_users
API-токены (1)api_tokens_list
Keygen (1)keygen_get
Биллинг (4)billing_providers_list, billing_provider_get, billing_nodes_list, billing_history_list
Сниппеты (1)snippets_list
Внешние группы (2)external_squads_list, external_squads_get
Настройки (1)settings_get
Страницы подписок (2)sub_page_configs_list, sub_page_configs_get
Плагины нод (4)node_plugins_list, node_plugins_get, node_plugins_torrent_reports, node_plugins_torrent_stats
IP-контроль (4)ip_control_fetch_ips, ip_control_get_fetch_ips_result, ip_control_fetch_users_ips, ip_control_get_fetch_users_ips_result
Метаданные (2)metadata_node_get, metadata_user_get

Использование с Claude Desktop

Добавьте в конфигурацию Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json на macOS):

{
  "mcpServers": {
    "remnawave": {
      "command": "node",
      "args": ["/абсолютный/путь/к/remnawave-mcp/dist/index.js"],
      "env": {
        "REMNAWAVE_BASE_URL": "https://vpn.example.com",
        "REMNAWAVE_API_TOKEN": "ваш-api-токен",
        "REMNAWAVE_API_KEY": "ваш-caddy-api-ключ",
        "REMNAWAVE_READONLY": "false"
      }
    }
  }
}

Использование с Cursor / Windsurf

Добавьте в .cursor/mcp.json или .windsurf/mcp.json вашего проекта:

{
  "mcpServers": {
    "remnawave": {
      "command": "node",
      "args": ["/абсолютный/путь/к/remnawave-mcp/dist/index.js"],
      "env": {
        "REMNAWAVE_BASE_URL": "https://vpn.example.com",
        "REMNAWAVE_API_TOKEN": "ваш-api-токен",
        "REMNAWAVE_API_KEY": "ваш-caddy-api-ключ",
        "REMNAWAVE_READONLY": "false"
      }
    }
  }
}

Docker

npm run build
docker compose up -d

Переменные окружения передаются через .env файл или docker-compose.yml.

Доступные инструменты

Пользователи (27 инструментов)

ИнструментОписаниеРежим
users_listСписок пользователей с пагинациейread
users_getПолучить пользователя по UUIDread
users_get_by_usernameПолучить пользователя по usernameread
users_get_by_short_uuidПолучить пользователя по short UUIDread
users_get_by_telegram_idПолучить пользователя по Telegram IDread
users_get_by_emailПолучить пользователя по emailread
users_get_by_tagПолучить пользователя по тегуread
users_get_by_subscription_uuidПолучить пользователя по UUID подпискиread
users_tags_listСписок тегов пользователейread
users_resolveПоиск пользователей по нескольким критериямread
users_createСоздать нового пользователяwrite
users_updateОбновить настройки пользователяwrite
users_deleteУдалить пользователяwrite
users_enableВключить пользователяwrite
users_disableОтключить пользователяwrite
users_revoke_subscriptionОтозвать подписку (перегенерировать ссылку)write
users_reset_trafficСбросить счётчик трафикаwrite
users_bulk_delete_by_statusМассовое удаление по статусуwrite
users_bulk_updateМассовое обновлениеwrite
users_bulk_reset_trafficМассовый сброс трафикаwrite
users_bulk_revoke_subscriptionМассовый отзыв подписокwrite
users_bulk_deleteМассовое удалениеwrite
users_bulk_update_squadsМассовое обновление группwrite
users_bulk_extend_expirationМассовое продление срокаwrite
users_bulk_all_updateОбновить всех пользователейwrite
users_bulk_all_reset_trafficСбросить трафик всех пользователейwrite
users_bulk_all_extend_expirationПродлить срок всех пользователейwrite

Ноды (15 инструментов)

ИнструментОписаниеРежим
nodes_listСписок всех нодread
nodes_getПолучить ноду по UUIDread
nodes_tags_listСписок тегов нодread
nodes_createСоздать новую нодуwrite
nodes_updateОбновить настройки нодыwrite
nodes_deleteУдалить нодуwrite
nodes_enableВключить нодуwrite
nodes_disableОтключить нодуwrite
nodes_restartПерезапустить нодуwrite
nodes_restart_allПерезапустить все нодыwrite
nodes_reset_trafficСбросить трафик нодыwrite
nodes_reorderПереупорядочить нодыwrite
nodes_bulk_profile_modificationМассовое изменение профилей нодwrite
nodes_bulk_actionsМассовые действия с нодамиwrite
nodes_bulk_updateМассовое обновление нодwrite

Хосты (11 инструментов)

ИнструментОписаниеРежим
hosts_listСписок всех хостовread
hosts_getПолучить хост по UUIDread
hosts_tags_listСписок тегов хостовread
hosts_createСоздать новый хостwrite
hosts_updateОбновить настройки хостаwrite
hosts_deleteУдалить хостwrite
hosts_bulk_enableМассовое включение хостовwrite
hosts_bulk_disableМассовое отключение хостовwrite
hosts_bulk_deleteМассовое удаление хостовwrite
hosts_bulk_set_inboundМассовая установка inboundwrite
hosts_bulk_set_portМассовая установка портаwrite

Система (10 инструментов)

ИнструментОписаниеРежим
system_statsСтатистика панели (пользователи, ноды, трафик, CPU, память)read
system_bandwidth_statsСтатистика пропускной способностиread
system_nodes_metricsМетрики нодread
system_nodes_statisticsСтатистика нодread
system_healthПроверка здоровья панелиread
system_metadataВерсия и метаданные панелиread
system_generate_x25519Генерация пары ключей X25519read
auth_statusПроверка статуса аутентификацииread
system_stats_recapОбзор статистикиread
system_srr_matcherТест SRR-правил маршрутизацииread

Подписки (10 инструментов)

ИнструментОписаниеРежим
subscriptions_listСписок всех подписокread
subscriptions_get_by_uuidПодписка по UUIDread
subscriptions_get_by_usernameПодписка по usernameread
subscriptions_get_by_short_uuidПодписка по short UUIDread
subscriptions_get_raw_by_short_uuidСырая подписка по short UUIDread
subscriptions_get_subpage_configКонфиг субстраницы подпискиread
subscriptions_get_connection_keysКлючи подключения по UUIDread
subscription_infoИнформация о подпискеread
subscription_request_history_listИстория запросов подписокread
subscription_request_history_statsСтатистика запросов подписокread

Конфиг-профили и Inbounds (9 инструментов)

ИнструментОписаниеРежим
config_profiles_listСписок конфиг-профилейread
config_profiles_getПолучить конфиг-профиль по UUIDread
inbounds_listСписок всех inboundsread
config_profiles_get_inboundsInbounds по UUID профиляread
config_profiles_get_computed_configВычисленный конфиг по UUID профиляread
config_profiles_createСоздать конфиг-профильwrite
config_profiles_updateОбновить конфиг-профильwrite
config_profiles_deleteУдалить конфиг-профильwrite
config_profiles_reorderПереупорядочить конфиг-профилиwrite

Внутренние группы (7 инструментов)

ИнструментОписаниеРежим
squads_listСписок группread
squads_accessible_nodesДоступные ноды группыread
squads_createСоздать группуwrite
squads_updateОбновить группуwrite
squads_deleteУдалить группуwrite
squads_add_usersДобавить пользователей в группуwrite
squads_remove_usersУбрать пользователей из группыwrite

HWID-устройства (7 инструментов)

ИнструментОписаниеРежим
hwid_devices_listСписок устройств пользователяread
hwid_devices_list_allСписок всех устройствread
hwid_statsСтатистика HWIDread
hwid_top_usersТоп пользователей по устройствамread
hwid_device_createСоздать HWID-устройствоwrite
hwid_device_deleteУдалить конкретное устройствоwrite
hwid_devices_delete_allУдалить все устройства пользователяwrite

API-токены (3 инструмента)

ИнструментОписаниеРежим
api_tokens_listСписок API-токеновread
api_tokens_createСоздать API-токенwrite
api_tokens_deleteУдалить API-токенwrite

Keygen (1 инструмент)

ИнструментОписаниеРежим
keygen_getПолучить данные keygenread

Биллинг инфраструктуры (12 инструментов)

ИнструментОписаниеРежим
billing_providers_listСписок провайдеров биллингаread
billing_provider_getПолучить провайдера по UUIDread
billing_nodes_listСписок биллинговых нодread
billing_history_listИстория биллингаread
billing_provider_createСоздать провайдераwrite
billing_provider_updateОбновить провайдераwrite
billing_provider_deleteУдалить провайдераwrite
billing_node_createСоздать биллинговую нодуwrite
billing_node_updateОбновить биллинговую нодуwrite
billing_node_deleteУдалить биллинговую нодуwrite
billing_history_createСоздать запись историиwrite
billing_history_deleteУдалить запись историиwrite

Сниппеты (4 инструмента)

ИнструментОписаниеРежим
snippets_listСписок сниппетовread
snippets_createСоздать сниппетwrite
snippets_updateОбновить сниппетwrite
snippets_deleteУдалить сниппетwrite

Внешние группы (8 инструментов)

ИнструментОписаниеРежим
external_squads_listСписок внешних группread
external_squads_getПолучить внешнюю группу по UUIDread
external_squads_createСоздать внешнюю группуwrite
external_squads_updateОбновить внешнюю группуwrite
external_squads_deleteУдалить внешнюю группуwrite
external_squads_add_usersДобавить пользователейwrite
external_squads_remove_usersУбрать пользователейwrite
external_squads_reorderПереупорядочитьwrite

Настройки (2 инструмента)

ИнструментОписаниеРежим
settings_getПолучить настройки панелиread
settings_updateОбновить настройки панелиwrite

Страницы подписок (7 инструментов)

ИнструментОписаниеРежим
sub_page_configs_listСписок конфигов страницread
sub_page_configs_getПолучить конфиг страницыread
sub_page_configs_createСоздать конфиг страницыwrite
sub_page_configs_updateОбновить конфиг страницыwrite
sub_page_configs_deleteУдалить конфиг страницыwrite
sub_page_configs_reorderПереупорядочитьwrite
sub_page_configs_cloneКлонировать конфигwrite

Плагины нод (11 инструментов)

ИнструментОписаниеРежим
node_plugins_listСписок плагиновread
node_plugins_getПолучить плагин по UUIDread
node_plugins_torrent_reportsОтчёты торрент-блокировщикаread
node_plugins_torrent_statsСтатистика торрент-блокировщикаread
node_plugins_createСоздать плагинwrite
node_plugins_updateОбновить плагинwrite
node_plugins_deleteУдалить плагинwrite
node_plugins_reorderПереупорядочить плагиныwrite
node_plugins_cloneКлонировать плагинwrite
node_plugins_executeВыполнить плагинwrite
node_plugins_torrent_truncateОчистить отчёты торрент-блокировщикаwrite

IP-контроль (5 инструментов)

ИнструментОписаниеРежим
ip_control_fetch_ipsПолучить IP пользователяread
ip_control_get_fetch_ips_resultРезультат запроса IPread
ip_control_fetch_users_ipsПолучить IP пользователей на нодеread
ip_control_get_fetch_users_ips_resultРезультат запроса IP пользователейread
ip_control_drop_connectionsСбросить соединенияwrite

Метаданные (4 инструмента)

ИнструментОписаниеРежим
metadata_node_getПолучить метаданные нодыread
metadata_user_getПолучить метаданные пользователяread
metadata_node_upsertОбновить метаданные нодыwrite
metadata_user_upsertОбновить метаданные пользователяwrite

Ресурсы

URIОписание
remnawave://statsТекущая статистика панели
remnawave://nodesСтатус всех нод
remnawave://healthСостояние здоровья панели
remnawave://users/{uuid}Данные конкретного пользователя

Промпты

ПромптОписание
create_user_wizardПошаговое создание пользователя
node_diagnosticsДиагностика ноды
traffic_reportОтчёт по трафику
user_auditПолный аудит пользователя
bulk_user_cleanupПоиск и управление просроченными пользователями

Примеры запросов

«Покажи мне всех пользователей с истёкшей подпиской»
«Создай пользователя vasya с лимитом 50 ГБ на месяц»
«Перезапусти ноду amsterdam-01»
«Дай отчёт по трафику за последнюю неделю»
«Отключи пользователей, которые превысили лимит трафика»
«Какие ноды сейчас офлайн?»
«Покажи историю биллинга»
«Список плагинов нод»
«Получи IP-соединения пользователя X»

Структура проекта

src/
├── index.ts                       # Точка входа (stdio транспорт)
├── server.ts                      # Настройка McpServer
├── config.ts                      # Конфигурация окружения
├── client/
│   └── index.ts                   # HTTP-клиент Remnawave
├── tools/
│   ├── helpers.ts                 # Хелперы форматирования
│   ├── index.ts                   # Регистрация инструментов
│   ├── users.ts                   # Управление пользователями (27)
│   ├── nodes.ts                   # Управление нодами (15)
│   ├── hosts.ts                   # Управление хостами (11)
│   ├── system.ts                  # Система и авторизация (10)
│   ├── subscriptions.ts           # Подписки (10)
│   ├── inbounds.ts                # Конфиг-профили и inbounds (9)
│   ├── squads.ts                  # Внутренние группы (7)
│   ├── hwid.ts                    # HWID-устройства (7)
│   ├── infra-billing.ts           # Биллинг инфраструктуры (12)
│   ├── node-plugins.ts            # Плагины нод (11)
│   ├── external-squads.ts         # Внешние группы (8)
│   ├── subscription-page-configs.ts # Страницы подписок (7)
│   ├── ip-control.ts              # IP-контроль (5)
│   ├── snippets.ts                # Сниппеты (4)
│   ├── metadata.ts                # Метаданные нод и пользователей (4)
│   ├── api-tokens.ts              # API-токены (3)
│   ├── settings.ts                # Настройки панели (2)
│   └── keygen.ts                  # Keygen (1)
├── resources/
│   └── index.ts                   # MCP-ресурсы
└── prompts/
    └── index.ts                   # MCP-промпты

Лицензия

MIT

Files in the repo

Repository payload11 top-level entries
  • .github
  • src
  • .env.example
  • .gitignore
  • docker-compose.yml
  • Dockerfile
  • package-lock.json
  • package.json
  • README.md
  • tsconfig.json
  • tsup.config.ts

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface

86k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
t8y2/dbxConnectors

20 MB lightweight cross-platform database client for 90+ databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, desktop and Docker. | 轻量级跨平台数据库管理工具,支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、达梦等 90+ 数据库,提供桌面端、Docker、CLI、内置 AI 助手和 MCP Server。

19k

The fastest browser for AI agents to run browser automation, built for sharing your logged-in browser state with your AI agents, like Codex or Claude Code, without disturbing you. Zero cost, zero config.

16k
noskillish/
bankmcp

BankMCP™: your AI can now read your bank. Self-hosted, read-only MCP server for your own bank accounts via open banking (Enable Banking). Standard MCP; tested with Claude and Ollama.

177