Skip to main content
Glama
ssasuoirafen

remnawave-mcp-server

by ssasuoirafen

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
REMNAWAVE_API_URLYesPanel root URL, no /api suffix - the server prefixes /api/... on every request (e.g. https://panel.example.com)
REMNAWAVE_API_PASSWORDYesAdmin password
REMNAWAVE_API_USERNAMEYesAdmin username

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
remnawave_list_usersA

List all VPN users with pagination. Returns username, status, traffic usage, expiration date, and squads.

remnawave_get_userA

Get a single user by UUID, shortUuid, username, telegram ID, or email. Specify exactly one identifier.

remnawave_create_userA

Create a new VPN user. Requires username and expiration date. Returns created user details including subscription URL.

remnawave_update_userA

Update an existing user. Identify by UUID (preferred) or username. Only provided fields will be changed.

remnawave_delete_userB

Permanently delete a user by UUID. This action cannot be undone.

remnawave_enable_userA

Enable a disabled user account, restoring VPN access.

remnawave_disable_userB

Disable a user account, suspending VPN access. Can be re-enabled later.

remnawave_revoke_userA

Revoke a user's subscription, regenerating their credentials. Old subscription links stop working.

remnawave_reset_user_trafficA

Reset a user's traffic counter to zero.

remnawave_list_nodesA

List all XRay nodes with connection status, traffic, version info, and hardware specs.

remnawave_get_nodeA

Get detailed info about a single node by UUID.

remnawave_enable_nodeB

Enable a disabled node, allowing it to accept connections.

remnawave_disable_nodeA

Disable a node, stopping it from accepting new connections.

remnawave_update_nodeA

Update node settings (MUTATES PROD). Changing the config profile / inbounds re-syncs what the node serves. Only provided fields change.

remnawave_restart_nodeA

Restart XRay on one node (MUTATES PROD: interrupts the node briefly). Default mode sends forceRestart (panel 2.8.0+ requires it in the body); force=true skips the config-hash check like the UI's restart-all. force_cycle=true disables and re-enables the node instead - heavier, also re-establishes the panel-node link.

remnawave_restart_all_nodesA

Restart XRay on ALL enabled nodes. By default sends forceRestart=true so the panel skips its config-hash check; pass force=false to use the panel's hash-based decision (which often skips the restart).

remnawave_list_hostsA

List all subscription hosts with addresses, SNI, security settings, and assigned nodes.

remnawave_get_hostA

Get detailed info about a single host by UUID.

remnawave_create_hostA

Create a subscription host (MUTATES PROD: enabled hosts appear in user subscriptions immediately). Requires the config profile + inbound pair the host points at (UUIDs via remnawave_list_config_profiles).

remnawave_update_hostA

Update a host (MUTATES PROD: changes flow into user subscriptions). Only provided fields change; tags/nodes replace their whole set.

remnawave_delete_hostA

Permanently delete a host (MUTATES PROD: it disappears from user subscriptions). Cannot be undone.

remnawave_get_system_statsA

Get system-wide statistics: user counts by status, online stats, node count, total traffic, server CPU/memory.

remnawave_get_system_healthA

Check panel health. Shows Node.js runtime metrics (RSS, heap, event loop lag, uptime) per panel process (api/scheduler/processor).

remnawave_get_bandwidth_statsA

Get historical bandwidth for all nodes over a date range: per-node totals, peak days, and the fleet-wide total.

remnawave_get_node_users_usageA

Historical per-user traffic on ONE node over a date range (daily totals + top users). Complements remnawave_get_bandwidth_stats (all nodes) and remnawave_get_node_metrics (realtime).

remnawave_get_keygenA

Get the panel's node provisioning key (SECRET_KEY env for remnanode). SENSITIVE: anyone holding this key can connect a node to the panel. Handles both field names: pubKey (<=2.8.x) and secretKey (2.9.0+).

remnawave_get_node_metricsA

Get real-time metrics for all nodes: users online, traffic per inbound (upload/download).

remnawave_list_internal_squadsA

List all internal squads (inbound groups). Shows name, user count, and inbound count.

remnawave_update_internal_squadA

Update an internal squad (MUTATES PROD: changes which inbounds its members get). inbounds replaces the full set.

remnawave_list_external_squadsA

List all external squads (tariff plans). Shows name and user count.

remnawave_get_subscription_settingsA

Get global subscription settings: profile title, update interval, support link, Happ routing, custom headers.

remnawave_list_config_profilesA

List all XRay config profiles with their inbounds (protocol, transport, port).

remnawave_get_config_profileA

Get one config profile with its FULL raw XRay config JSON (inbounds/outbounds/ routing), registered inbounds with UUIDs, and attached nodes.

remnawave_update_config_profileA

Update a config profile (MUTATES PROD: replaces the XRay config that nodes run; a bad config can take user traffic down). config overwrites the whole document. Nodes apply it on their next config sync/restart.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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

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