Skip to main content
Glama

mcp-remnawave

MCP-сервер для VPN-панели Remnawave — обновлён для Remnawave 3.x

Remnawave 3.x Node.js 22+ MCP License: MIT Version

Английский · Русскиий


Позволяет MCP-клиенту — Claude Code, Claude Desktop, Cursor или любоому другоому — читать и управлять поолззователами, нодами, трафиком хостов, конфигурационными профилями, группами, шаблонами подписок, биллингом и HWID-устройствами через REST API панели.

Поддерживаемый форк TrackLine/mcp-remnawave v1.2.0, приведённый в соответствие с Remnawave 3.x (проверено противеь живой панели 3.3.x) и переработанный так, что схемы инструментов больше не могут рассинхронизироваться с API панели.

✨ Основные возможности

🔢 Числовые ID пользователей

Remnawave 3.0 убрал uuid у пользователей; каждый инструмент users_* исползует число id, а удалённые маршруты by-* заменены филтрами users_list

📜 Схемы из контракта

Инструменты записи получают своё схему вход прямо из @remnawave/backend-contract — полную поверхность API, а не ручную подборку

Настоящие сообщения об ошибках

Ошибки валидации возвращаются с детализацией по полям вместо глоого Validation failed

🗂 Ода установка — много панелей

Конфигурация панели сначала ищется в текуном проеекте — активна панель тот, в котором вы работаете

🔒 Режим толко для чтения по умолчанию

При REMNAWAVE_READONLY=true инструменты записи не регистрируются вовсе

Related MCP server: remnawave-mcp-server

🚀 Быстрый старт

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

cp .env.example .env          # set REMNAWAVE_BASE_URL and REMNAWAVE_API_TOKEN

# Claude Code — available in every project:
claude mcp add --scope user remnawave -- node "$PWD/dist/index.js"

Вот и все. Попросите вашего клиент вызвать system_metadata — он должен вернуть версию панели.

{
  "mcpServers": {
    "remnawave": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-remnawave/dist/index.js"]
    }
  }
}

Любой stdio MCP-клиент — укажите ему node dist/index.js и передайте переменные окружения из таблицы вниз (или используйте поиск конфигурационного файла).

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

Переменная

Обязателен

Описание

REMNAWAVE_BASE_URL

URL панели, напр. https://panel.example.com

REMNAWAVE_API_TOKEN

API-токен (Bearer) — Панель → API-токены

REMNAWAVE_READONLY

true = только чтение инструментов (рекомендуемое значение по умолчанию)

REMNAWAVE_API_KEY

X-Api-Key для нестандартного пути Caddy

REMNAWAVE_ENV_FILE

Явный путь к конфигурационному файлу

Откуда берётся конфигурация

Сервер останавливается на первом файле, который содержит REMNAWAVE_BASE_URL и REMNAWAVE_API_TOKEN:

1. $REMNAWAVE_ENV_FILE          explicit path
2. <cwd>/.remnawave.env         per-project — add it to .gitignore
3. <cwd>/.env
4. <package>/.env               fallback

MCP-клиенты запускают stdio-серверы с cwd, установленным на корень проекта, поэтому при одной глобальной установке активная панель — та проект, в котором вы работаете. Чтобы добавить панель, положите .remnawave.env в её проект — на стороне сервера менять ничего не нужно. Переменные, уже присутствующие в окружении, никогда не перезаписываются, так что переменные, переданные клиентом при регистрации, всегда имеют приоритет.

Режим «только чтение»

Запустите с REMNAWAVE_READONLY=true. Инструменты записи (create / update / delete / enable / disable / bulk) в этом режиме не регистрируются вовсе, поэтому клиент не сможет даже пописать. Когда запись действительно нужна, установите false и перезапустите сервер.

🧰 Инструменты

Около 150 инструментов, сгруппированных так же, как в API панели. Инструменты чтения доступны всегда; инструменты записи — только когда режим «только чтения» отключён.

Чтение

Запись

users_list (фильтры · сортировка), users_get, users_get_by_username, users_get_by_short_uuid, users_resolve, users_accessible_nodes, users_tags_list

users_create, users_update, users_delete, users_enable / users_disable, users_revoke_subscription, users_reset_traffic, users_extend_expiration, users_bulk_*, users_bulk_all_*

  • Поиск по telegramId / email / тегу / статусу: users_list с filters: [{"id": "telegramId", "value": 123456789}] (+ опционально filterModes, sorting). Это заменяет удалённые маршруты by-* из 3.x.

  • users_resolve принимает ровно один из id, shortUuid, username.

  • Массовые инструменты принимают userIds: number[] (1–500); users_bulk_update вкладывает изменённые поля в fields.

  • users_create также принимает явные vlessUuid / ssPassword / trojanPassword / shortUuid — удобно для сервисных учётных записей.

Группа

Чтение

Запись

Ноды

nodes_list, nodes_get, nodes_tags_list

nodes_create / update / delete, nodes_enable / disable, nodes_restart, nodes_restart_all, nodes_reorder, nodes_reset_traffic, nodes_bulk_*

Хосты

hosts_list, hosts_get, hosts_tags_list

hosts_create / update / delete, hosts_bulk_*

Конфигурационные профили

config_profiles_list / get, config_profiles_get_inbounds, config_profiles_get_computed_config, inbounds_list

config_profiles_create / update / delete / reorder

  • config_profiles_update с config полностью заменяет весь xray-конфиг профиля — прочитайте, измените и напишите обратно.

  • hosts_create требует inbound: { configProfileUuid, configProfileInboundUuid }.

Группа

Чтение

Запись

Группы

squads_list, squads_accessible_nodes, external_squads_list / get

squads_create / update / delete, squads_add_users, squads_remove_users, external_squads_*

Подписки

subscriptions_list, subscriptions_get_by_username, subscriptions_get_by_short_uuid, subscriptions_get_by_user_id, subscriptions_get_raw_by_short_uuid, subscriptions_get_connection_keys, subscription_info

Шаблоны и страницы

subscription_templates_list / get, sub_page_configs_list / get

subscription_templates_update, sub_page_configs_*

Группа

Чтение

Запись

HWID

hwid_devices_list, hwid_devices_list_all, hwid_stats, hwid_top_users

hwid_device_create / delete, hwid_devices_delete_all

Система

system_health, system_metadata, system_stats, system_stats_recap, system_bandwidth_stats, system_nodes_metrics, system_nodes_statistics, system_generate_x25519, keygen_get, system_srr_matcher

settings_update

Биллинг

billing_providers_list / get, billing_nodes_list, billing_history_list

billing_provider_*, billing_node_*, billing_history_*

Плагины нод

node_plugins_list / get, node_plugins_torrent_*

node_plugins_*

Прочее

api_tokens_list, snippets_list, metadata_*_get, ip_control_*

api_tokens_*, snippets_*, metadata_*_upsert

api_tokens_list and settings_* need an API token with the matching rights — otherwise the panel answers Forbidden.

🔧 Что изменилось по сравнению с upstream

  • Numeric user ids везде; users_get_by_telegram_id / _by_email / _by_tag / _by_subscription_id и subscriptions_get_by_uuid удалены (эти маршруты больше не существуют).

  • contractTool() — инструменты записи регистрируются с помощью RequestSchema.shape из контракта. Раньше:20 из 23 писатий инструментов записи предоставляли подмножество полей, а MCP SDK молча отбрасывал остальные.

  • "users_*остаются написанными вручную: установленный контракт по-прежнему объявляетuuid` для пользователей.

  • Новое users_extend_expiration, users_accessible_nodes, subscriptions_get_by_user_id, subscription_templates_list / get / update; config_profiles_update принимает config.

  • Клиент: полные тела ошибок API, пустые 2xx-тела при масловых операциях обрабатываются, вручную построенные устойчные к завершаюшему слэшу пути для маршрутов, доступных только в 3.x.

  • Начисления из конtarакта (RESET_PERIODS incl. MONTH_ROLLING, USERS_STATUS).

  • Поиск конфигурации по нескольким панеллям; readonly рекомендуется по умолчанию;версия повышена до 2.0.0.

🛠 Development

npm run dev       # tsup --watch
npm run build     # tsup → dist/index.js
npx tsc --noEmit  # typecheck

🐳 Docker

docker compose up -d

Смотрите docker-compose.yml and pass the same environment variables.

📄 License

авторское право upstream: source.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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

  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides AI agents with 220+ tools for building websites, sending email, managing contacts, invoicing, databases, automation, and more through a single secure connection. Features hardware-bound authentication and works with Claude Desktop, Claude Code, Cursor, and other MCP-compatible clients.

View all related MCP servers

Related MCP Connectors

  • A paid remote MCP for ClawManager, built to return verdicts, receipts, usage logs, and audit-ready J

  • A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,

  • Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.

View all MCP Connectors

Latest Blog Posts

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/Maaagiic/mcp-remnawave'

If you have feedback or need assistance with the MCP directory API, please join our Discord server