remnawave-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| REMNAWAVE_API_URL | Yes | Panel root URL, no /api suffix - the server prefixes /api/... on every request (e.g. https://panel.example.com) | |
| REMNAWAVE_API_PASSWORD | Yes | Admin password | |
| REMNAWAVE_API_USERNAME | Yes | Admin username |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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). |
| 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). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/ssasuoirafen/remnawave-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server