mcp-remnawave
mcp-remnawave
MCP-Server für das Remnawave VPN-Panel — aktualisiert für Remnawave 3.x
English · Русский
Ermöglicht es einem MCP-Client — Claude Code, Claude Desktop, Cursor oder sonst einem — Benutzer, Nodes, Hosts, Konfigurationsprofile, Squads, Subscription-Vorlagen, Abrechnung und HWID-Geräte über die REST-API des Panels zu lesen und zu verwalten.
Gepflegter Fork von TrackLine/mcp-remnawave v1.2.0, an Remnawave 3.x angeglichen (gegen ein Live-3.3.x-Panel verifiziert) und so umgebaut, dass Tool-Schemas nicht mehr von der Panel-API abweichen können.
✨ Highlights
🔢 Numerische Benutzer-IDs | Remnawave 3.0 hat die Benutzer- |
📜 Schemas aus dem Contract | Schreib-Tools beziehen ihr Eingabeschema direkt aus |
🧾 Echte Fehlermeldungen | Validierungsfehler kommen mit feldbezogenen Details zurück, statt nur mit |
🗂 Eine Installation, viele Panels | Die Panel-Konfiguration wird zuerst im aktuellen Projekt gesucht — das aktive Panel ist das des Projekts, in dem du gerade arbeitest |
🔒 Readonly als Standard | Mit |
Related MCP server: remnawave-mcp-server
🚀 Schnellstart
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"Das war's. Bitte deinen Client um system_metadata — er sollte mit der Panel-Version antworten.
{
"mcpServers": {
"remnawave": {
"command": "node",
"args": ["/absolute/path/to/mcp-remnawave/dist/index.js"]
}
}
}Jeder stdio-MCP-Client funktioniert — zeig ihn auf node dist/index.js und übergib die
Umgebungsvariablen aus der Tabelle unten (oder verlass dich auf die Konfigurationsdateisuche).
⚙️ Konfiguration
Variable | Erforderlich | Beschreibung |
| ✅ | Panel-URL, z. B. |
| ✅ | API-Token (Bearer) — Panel -> API-Tokens |
| — |
|
| — |
|
| — | Expliziter Pfad zu einer Konfigurationsdatei |
Woher die Konfiguration stammt
Der Server hält bei der ersten Datei an, die REMNAWAVE_BASE_URL und REMNAWAVE_API_TOKEN liefert:
1. $REMNAWAVE_ENV_FILE explicit path
2. <cwd>/.remnawave.env per-project — add it to .gitignore
3. <cwd>/.env
4. <package>/.env fallbackMCP-Clients starten Stdio-Server mit cwd im Projektroot, sodass bei einer einzigen
globalen Installation ** das aktive Panel das Projekt ist, in dem du gerade arbeitest**. Um ein Panel
hinzuzufügen, legst du einfach eine .remnawave.env ins Projekt — am Server muss nichts geändert
werden. Bereits in der Umgebung vorhandene Variablen werden niemals überschrieben, also gewinnt
immer die von der Client-Registrierung übergebene Umgebung.
Readonly-Modus
Starte mit REMNAWAVE_READONLY=true. Schreib-Tools (create / update / delete / enable /
disable / bulk) werden in diesem Modus überhaupt nicht eingetragen, sodass der Client es nicht
einmal versuchen kann. Setze es auf false und starte den Server neu, sobald du wirklich
schreiben musst.
🧰 Tools
Woelle 150 Tools, passend zur Panel-API gruppiert. Lese-Tools gibt es immer; Schreib-Tools nur, wenn der Readonly-Modus aus ist.
Laufen | Schreiben |
|
|
Suche per
telegramId/ E-Mail / Tag / Status:users_listmitfilters: [{"id": "telegramId", "value": 123456789}](+ optionalfilterModes,sorting). Das ersetzt die in 3.x entferntenby-*-Routen.users_resolvenimmt genau eine der Angabenid,shortUuid,username.Bulk-Tools nehmen
userIds: number[](1–500);users_bulk_updateverschachtelt geänderte Felder unterfields.users_createakzeptiert explizitvlessUuid/ssPassword/trojanPassword/shortUuid— gut für Dienstkonten.
Gruppe | Lesen | Schreiben |
Nodes |
|
|
Hosts |
|
|
Config-Profile |
|
|
config_profiles_updatemitconfigersetzt die gesamte Xray-Konfiguration des Profils — lesen, patchen, zurückschreiben.hosts_createerfordertinbound: { configProfileUuid, configProfileInboundUuid }.
Gruppe | Laufen | Schreiben |
Squads |
|
|
Subscriptions |
| — |
Vorlagen und Seiten |
|
|
Gruppe | Laufen | Schreiben |
HWID |
|
|
System |
|
|
Abrechnung |
|
|
Node-Plugins |
|
|
Sonstiges |
|
|
api_tokens_list und settings_* benötigen einen API-Token mit den passenden Berechtigungen — andernfalls antwortet das Panel mit Forbidden.
🔧 Änderungen gegenüber dem Upstream
Numerische Benutzer-IDs überall;
users_get_by_telegram_id/_by_email/_by_tag/_by_subscription_uuidundsubscriptions_get_by_uuidentfernt (die Routen existieren nicht mehr).contractTool()— Schreib-Tools registrieren sich mitRequestSchema.shapeaus dem Vertrag. Vorher: 20 von 23 Schreib-Tools machten eine Teilmenge der Felder verfügbar, und das MCP SDK verwarf den Rest stillschweigend.users_*bleiben handgeschrieben; der installierte Vertrag deklariert für Benutzer weiterhinuuid.Neu:
users_extend_expiration,users_accessible_nodes,subscriptions_get_by_user_id,subscription_templates_list/get/update;config_profiles_updateakzeptiertconfig.Client: vollständige API-Fehler-Bodies, leere
2xx-Bodies bei Bulk-Operationen behandelt, handgebaute, trailing-slash-sichere Pfade für Routen, die es nur in 3.x gibt.Enums aus dem Vertrag (
RESET_PERIODSinkl.MONTH_ROLLING,USERS_STATUS).Multi-Panel-Konfigurationssuche; read-only standardmäßig empfohlen; Version angehoben auf 2.0.0.
🛠 Entwicklung
npm run dev # tsup --watch
npm run build # tsup → dist/index.js
npx tsc --noEmit # typecheck🐳 Docker
docker compose up -dSiehe docker-compose.yml und übergebe dieselben Umgebungsvariablen.
📄 Lizenz
MIT. Urheberschaft des Upstreams: TrackLine/mcp-remnawave.
This server cannot be installed
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
- FlicenseNot gradedqualityCmaintenanceProvides 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.
- AlicenseAqualityBmaintenanceMCP server for Remnawave panel API. Manage VPN users, nodes, hosts, and system stats from Claude Code or any MCP-compatible client.34MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for the Wasabi WACM Connect API, enabling management of account hierarchy, storage, and billing data through Claude with 18 read-only and 12 opt-in write tools.1Apache 2.0
- AlicenseBqualityAmaintenanceMCP server that enables Claude Code to access, monitor, and manage MikroTik RouterOS devices via its REST API, with 92 tools for read-only and optional write operations.92Apache 2.0
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.
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/Maaagiic/mcp-remnawave'
If you have feedback or need assistance with the MCP directory API, please join our Discord server