3x-ui-panel-operations

Operate a 3x-ui Xray/V2Ray proxy panel through its MCP server tools.

5|3|Updated Apr 11, 2026
One-click install
npx skills add https://github.com/pyworkload/3x-ui-mcp --skill 3x-ui-panel-operations-pyworkload
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: 3x-ui-panel-operations
Source: https://github.com/pyworkload/3x-ui-mcp/tree/main/skills
Command: npx skills add https://github.com/pyworkload/3x-ui-mcp --skill 3x-ui-panel-operations-pyworkload

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Running a 3x-ui proxy panel involves operational knowledge that tool schemas cannot express: the order to perform tasks in, unit pitfalls (milliseconds vs seconds, bytes vs GB), which settings silently break clients, and which destructive calls have no undo. This Skill routes any panel task to the right procedure and carries that hard-won operating knowledge verified against Xray-core and 3x-ui sources. ## Core Features & Use Cases - REALITY inbound setup and repair: Choose and verify a camouflage target with scan tools, generate x25519 keys and shortIds, build the VLESS-REALITY inbound, and fix one that stopped getting through. - Connectivity diagnosis: Work from cheapest cause outward — scope the outage, check the core and logs, the inbound, client limits, routing, and the node — with actual Xray log error strings mapped to causes. - Panel hardening and lifecycle operations: Scoped API tokens, credential rotation, fail2ban, backups, plus client onboarding, bulk renewals, usage reports, and safe cleanup of depleted accounts. - Routing, CDN fronting, and multi-node clusters: Split routing by domain/geo token, provider outbounds (Warp/NordVPN/PIA), WebSocket/gRPC/xhttp behind Cloudflare, port-443 fallbacks, and node management with TLS pinning or mTLS. - Use Case: A user reports "it stopped working." The Skill directs the agent to scope the outage with get_online_clients, inspect get_xray_logs for a rejected template, check the client's expiry and quota fields with correct units, and test routing with test_route — all read-only steps before any change. ## Quick Start Ask the agent to set up a VLESS-REALITY inbound on your 3x-ui panel, or describe the problem such as "this client cannot connect" or "route these domains through Warp," and it will follow the matching procedure.

Frequently Asked Questions about 3x-ui-panel-operations

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a VLESS-REALITY inbound on 3x-ui?▼

Scan candidate camouflage targets with scan_reality_targets, generate an x25519 key pair, then create the inbound with dest, serverNames from the certificate SAN list, and non-empty shortIds. Add a client with flow xtls-rprx-vision and hand over a subscription link.

How do I diagnose why a 3x-ui client cannot connect?▼

Scope the outage first with get_online_clients, then check the core via get_xray_logs, the inbound's enable/expiry/quota fields, and the client's own limits. Use test_route to see what the router would do without sending traffic.

What 3x-ui panel version is required for these operations?▼

The baseline is 3x-ui v3.3.0+. REALITY scanning needs v3.4.2, node and API token tools need v3.5.0, and geodata plus several maintenance calls need v3.7.0. Below those versions the panel answers 404.

Can REALITY be used behind a CDN like Cloudflare?▼

No. REALITY impersonates another site's TLS handshake, and a CDN terminates TLS itself, so the two are incompatible. CDN fronting requires a real domain, a certificate, and a WebSocket, gRPC, or xhttp transport instead.

Why did my 3x-ui client expire immediately after creation?▼

The expiry_time parameter is Unix milliseconds, not seconds. A seconds-precision timestamp lands in 1970 and the client is born expired. Compute deadlines from now in milliseconds, or use a negative value for a start-on-first-use trial.

When should I not use delete_depleted_clients on a panel?▼

It is destructive and panel-wide with no undo, and it never touches clients on a reset cycle or with unlimited quota. Enumerate matching clients with list_clients_paged first, show the list, and take a backup before deleting.