Skip to main content
Glama

mcp-remnawave

xxx

Remnawave×3.

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

English · Русский


MCP クライアント(Claude Code、Claude Desktop、Cursor など)から、パネルの REST API を通してユーザー、ノード、ホスト、設定プロファイル、スクワッド、サブスクリプションテンプレート、課金、HWID デバイスを読み取り・管理できるようにします。

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 ではなくフィールド単位の詳細情報とともに返されます

🗂 1 回のインストールで複数パネル

パネル設定はまず現在のプロジェクトで検索されます。アクティブなパネルは、作業中のプロジェクトのものになります

🔒 デフォルトで読み取り専用

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

Caddy のカスタムパス設定用の X-Api-Key

REMNAWAVE_ENV_FILE

設定ファイルへの明示的パス

設定の取得元

サーバーは REMNAWAVE_BASE_URLREMNAWAVE_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 クライアントは cwd をプロジェクトルートに設定して stdio サーバーを起動するため、単一のグローバルインストールで アクティブなパネルは作業中のプロジェクトのもの になります。パネルを追加するには、そのプロジェクトに .remnawave.env を置くだけで、サーバー側の変更は不要です。環境にすでに存在する変数は上書きされないため、クライアント登録時に渡された env が常に優先されます。

読み取り専用モード

REMNAWAVE_READONLY=true で開始してください。このモードでは、書き込みツール(作成 / 更新 / 削除 / 有効化 / 無効化 / 一括)は一切登録されません。クライアント側もそれらを実行することすらできません。実際に書き込む必要が出た場合は false に設定してサーバーを再起動してください。

🧰 ツール

約 150 個のツールがあり、パネル API と同じようにグループ化されています。読み取りツールは常に利用可能です。書き込みツールは読み取り専用がオフのときだけ利用可能です。

読み取り

書き込み

users_list(フィルター・並び替え)・users_getusers_get_by_usernameusers_get_by_short_uuidusers_resoleusers_accessible_nodesusers_tags_list

users_createusers_updateusers_deleteusers_enable / users_disableusers_revoke_subscriptionusers_reset_trafficusers_extend_expirationusers_bulk_*users_bulk_all_*

  • users_listfilters: [{"id": "telegramId", "value": 123456789}](+必要に応じて filterModessorting)を渡すと、telegramId / email / tag / status で検索できます。これは 3.x で廃止された by-* ルートの代替です。

  • users_resolve は、idshortUuidusernameいずれか 1 つだけを受け取ります。

  • 一括ツールは userIds: number[](1–500)を受け取り、users_bulk_update は変更フィールドを fields の下にネストします。

  • users_create は明示的な vlessUuidssPasswordtrojanPasswordshortUuid を指定でき(サービスアカウントに便利)、。

グループ

読み取り

書き込み

ノード

nodes_listnodes_getnodes_tags_list

nodes_create / update / deletenodes_enable / disablenodes_restartnodes_restart_allnodes_reordernodes_reset_trafficnodes_bulk_*

ホスト

hosts_listhosts_gethosts_tags_list

hosts_create / update / deletehosts_bulk_*

設定プロファイル

config_profiles_list / getconfig_profiles_get_inboundsconfig_profiles_get_computed_configinbounds_list

config_profiles_create / update / delete / reorder

  • config_profiles_updateconfig を指定すると、そのプロファイルの xray 設定が全体として置換されます(読み取り → パッチ → 書き戻し)。

  • hosts_create には inbound: { configProfileUuid, configProfileInboundUuid } が必要です。

グループ

読み取り

書き込み

スワッド

squads_listsquads_accessible_nodesexternal_squads_list / get

squads_create / update / deletesquads_add_userssquads_remove_usersexternal_squads_*

サブスクリプション

subscriptions_listsubscriptions_get_by_usernamesubscriptions_get_by_short_uuidsubscriptions_get_by_user_idsubscriptions_get_raw_by_short_uuidsubscriptions_get_connection_keyssubscription_info

テンプレートとページ

subscription_templates_list / getsub_page_configs_list / get

subscription_templates_updatesub_page_configs_*

グループ

読み取り

書き込み

DHWID

hwid_devices_listhwid_devices_list_allhwid_statshwid_top_users

hwid_device_create / deletehwid_devices_delete_all

システム

system_healthsystem_metadatasystem_statssystem_stats_recapsystem_bandwidth_statssystem_nodes_metricssystem_nodes_statisticssystem_generate_x25519keygen_getsystem_srr_matcher

settings_update

課金

billing_providers_list / getbilling_nodes_listbilling_istory_list

billing_provider_*billing_node_*billing_istory_*

ノードプラグイン

node_plugins_list / getnode_plugins_rend_*

node_plugins_*

その他

api_tokens_listsnippets_listmetadata_*_getip_control_*

api_tokens_*snippets_*metadata_*_upsert

api_tokens_listsettings_* には、対応する権限を持つ API トークンが必要です。そうでない場合、パネルは Forbidden と返します。

🔧 アップストリームからの変更点

  • 数値のユーザー ID をすべての場所で使用。users_get_by_telegram_id / _by_email / _by_tag / _by_subscription_uuidsubscriptions_get_by_uuid を削除(ルートは存在しなくなりました)。

  • contractTool() — 書き込みツールはコントラクトの RequestSchema.shape から登録されます。 変更前: 23 の書き込みツールのうち 20 がフィールドの一部だけを公開し、MCP SDK は残りを静かに破棄していました。

  • users_* は手書きのままです。インストール済みのコントラクトは、ユーザーに対して引き続き uuid を宣言します。

  • 新規: users_extend_expirationusers_accessible_nodessubscriptions_get_by_user_idsubscription_templates_list / get / update; config_profiles_updateconfig を受取ります。

  • クライアント: 完全な API エラーボージ、バルク操作の空 2xx ボディの処理、 3.x のみルート向けの末尾スラッシュ安全な手組みパス。

  • コントラクトの enum(RESET_PERIODSMON_TH_ROLLING を含む、USERS_STATUS)。

  • 読み取り専用をデフォルトて推奁、バージョンを 2.0.0 に更新しました。

開発

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

Docker

docker compose up -d

docker-compose.yml を参照し、同じ環境変数を渡してください。

📄 License

MIT. 上流の著者: TrackLine/mcp-remnawave

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