You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fingerprintPool: z.array(z.string()).optional().describe('Set of fingerprints; when non-empty one is picked at random per subscription-cache rebuild (overrides fingerprint)'),
comment: z.string().optional().describe('Free-form operator note (trimmed, max 500 chars)'),
137
+
// Xray inbound config (only for type="xray"). On update only the provided
138
+
// keys are changed; omit reality keys / manualKey to keep generated values.
139
+
xray: xrayConfigZ.optional().describe('Xray inbound config (only for type="xray"). On update only provided keys change; omit realityPrivateKey/realityPublicKey/manualKey to preserve generated values'),
80
140
// Hysteria 2 advanced configuration
81
141
hopInterval: z.string().optional().describe('Port-hopping interval, e.g. "30s"'),
82
142
acme: z.object({
@@ -330,6 +390,15 @@ async function manageNode(args, emit) {
330
390
for(constkofhy2Keys){
331
391
if(data[k]!==undefined)nodeData[k]=data[k];
332
392
}
393
+
394
+
// Xray + remaining common fields, mirroring routes/nodes.js POST.
Copy file name to clipboardExpand all lines: src/services/mcpService.js
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -85,7 +85,7 @@ const TOOLS = {
85
85
},
86
86
87
87
manage_node: {
88
-
description: 'Manage Hysteria/Xray/virtual nodes: create, update, delete, sync, auto-setup via SSH, reset status, update config, setup port hopping, generate Xray Reality keys. "virtual" nodes are load-balancer entries over real sibling nodes.',
88
+
description: 'Manage Hysteria/Xray/virtual nodes: create, update, delete, sync, auto-setup via SSH, reset status, update config, setup port hopping, generate Xray Reality keys. "virtual" nodes are load-balancer entries over real sibling nodes. For type="xray" pass the full "xray" object (transport, security/reality, fingerprint + fingerprintPool, alpn, ws/grpc/xhttp, extraInbounds); on update the xray object is merged per-field, so omit realityPrivateKey/realityPublicKey/manualKey to keep generated values.',
0 commit comments