vpsnet-mcp 2.3.13 → 2.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/http-server.js +2 -1
- package/build/scope-catalog.js +417 -0
- package/package.json +2 -1
package/build/http-server.js
CHANGED
|
@@ -3,6 +3,7 @@ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/
|
|
|
3
3
|
import { createVpsnetServer } from "./index.js";
|
|
4
4
|
import { resolveApiBase } from "./api.js";
|
|
5
5
|
import { requireRequestAuthorization, withAuthorization } from "./request-context.js";
|
|
6
|
+
import { scopeDescriptions } from "./scope-catalog.js";
|
|
6
7
|
import { supportedScopes, orderScopes } from "./remote-policy.js";
|
|
7
8
|
function publicUrl(value) {
|
|
8
9
|
const url = new URL(value);
|
|
@@ -70,7 +71,7 @@ export function createRemoteServer(options) {
|
|
|
70
71
|
return;
|
|
71
72
|
}
|
|
72
73
|
if (req.method === 'GET' && ['/.well-known/oauth-protected-resource', '/.well-known/oauth-protected-resource/mcp'].includes(req.url ?? '')) {
|
|
73
|
-
return json(res, 200, { resource: resource.href, authorization_servers: [issuer], scopes_supported: allowedScopes, bearer_methods_supported: ['header'], resource_name: 'VPSnet' });
|
|
74
|
+
return json(res, 200, { resource: resource.href, authorization_servers: [issuer], scopes_supported: allowedScopes, scope_descriptions: scopeDescriptions(allowedScopes), bearer_methods_supported: ['header'], resource_name: 'VPSnet' });
|
|
74
75
|
}
|
|
75
76
|
if (req.url !== '/mcp')
|
|
76
77
|
return json(res, 404, { error: 'not_found' });
|
|
@@ -0,0 +1,417 @@
|
|
|
1
|
+
// Generated from backend app/Services/Mcp/scope-catalog.json.
|
|
2
|
+
// Update with scripts/sync-scope-catalog.py; OAuth policy is enforced separately.
|
|
3
|
+
export const scopeCatalog = {
|
|
4
|
+
"services:read": {
|
|
5
|
+
"label": {
|
|
6
|
+
"en": "View selected servers",
|
|
7
|
+
"lt": "Peržiūrėti pasirinktus serverius"
|
|
8
|
+
},
|
|
9
|
+
"description": {
|
|
10
|
+
"en": "View selected servers, status, graphs, history, backups and snapshots; browsing backup files may queue a saved browse operation.",
|
|
11
|
+
"lt": "Peržiūrėti pasirinktus serverius, būseną, grafikus, istoriją, atsargines ir momentines kopijas; kopijų failų naršymas gali sukurti išsaugomą užduotį."
|
|
12
|
+
},
|
|
13
|
+
"implies": [],
|
|
14
|
+
"billing": "none",
|
|
15
|
+
"legacy": false
|
|
16
|
+
},
|
|
17
|
+
"services:manage": {
|
|
18
|
+
"label": {
|
|
19
|
+
"en": "Manage selected servers",
|
|
20
|
+
"lt": "Valdyti pasirinktus serverius"
|
|
21
|
+
},
|
|
22
|
+
"description": {
|
|
23
|
+
"en": "Start, stop or restart selected servers and change their settings, including guest DNS and firewall reset. Includes viewing selected servers.",
|
|
24
|
+
"lt": "Paleisti, stabdyti ar perkrauti pasirinktus serverius ir keisti jų nustatymus, įskaitant DNS bei ugniasienės atkūrimą. Apima serverių peržiūrą."
|
|
25
|
+
},
|
|
26
|
+
"implies": [
|
|
27
|
+
"services:read"
|
|
28
|
+
],
|
|
29
|
+
"billing": "none",
|
|
30
|
+
"legacy": false
|
|
31
|
+
},
|
|
32
|
+
"applications:read": {
|
|
33
|
+
"label": {
|
|
34
|
+
"en": "View selected server applications",
|
|
35
|
+
"lt": "Peržiūrėti pasirinktų serverių programas"
|
|
36
|
+
},
|
|
37
|
+
"description": {
|
|
38
|
+
"en": "View applications, recipes, health and logs on selected servers; diagnostics may start saved inspection jobs.",
|
|
39
|
+
"lt": "Peržiūrėti pasirinktų serverių programas, receptus, būseną ir žurnalus; diagnostika gali paleisti išsaugomas patikros užduotis."
|
|
40
|
+
},
|
|
41
|
+
"implies": [],
|
|
42
|
+
"billing": "none",
|
|
43
|
+
"legacy": false
|
|
44
|
+
},
|
|
45
|
+
"applications:manage": {
|
|
46
|
+
"label": {
|
|
47
|
+
"en": "Manage selected server applications",
|
|
48
|
+
"lt": "Valdyti pasirinktų serverių programas"
|
|
49
|
+
},
|
|
50
|
+
"description": {
|
|
51
|
+
"en": "Install, configure, update, stop, remove or roll back applications and recipes on selected servers. May replace or delete application data. Includes application viewing.",
|
|
52
|
+
"lt": "Diegti, konfigūruoti, atnaujinti, stabdyti, šalinti ar atkurti pasirinktų serverių programas ir receptus. Gali pakeisti ar ištrinti programų duomenis. Apima programų peržiūrą."
|
|
53
|
+
},
|
|
54
|
+
"implies": [
|
|
55
|
+
"applications:read"
|
|
56
|
+
],
|
|
57
|
+
"billing": "none",
|
|
58
|
+
"legacy": false
|
|
59
|
+
},
|
|
60
|
+
"networking:read": {
|
|
61
|
+
"label": {
|
|
62
|
+
"en": "View account networks",
|
|
63
|
+
"lt": "Peržiūrėti paskyros tinklus"
|
|
64
|
+
},
|
|
65
|
+
"description": {
|
|
66
|
+
"en": "View existing networks, attachments, routes and network appliance status across your account.",
|
|
67
|
+
"lt": "Peržiūrėti esamus paskyros tinklus, jungtis, maršrutus ir tinklo įrenginių būseną."
|
|
68
|
+
},
|
|
69
|
+
"implies": [],
|
|
70
|
+
"billing": "none",
|
|
71
|
+
"legacy": false
|
|
72
|
+
},
|
|
73
|
+
"networking:manage": {
|
|
74
|
+
"label": {
|
|
75
|
+
"en": "Manage account networks",
|
|
76
|
+
"lt": "Valdyti paskyros tinklus"
|
|
77
|
+
},
|
|
78
|
+
"description": {
|
|
79
|
+
"en": "Create, change or remove existing-account networks, routes, attachments and appliances. May interrupt connectivity. Includes network viewing; excludes purchases and renewals.",
|
|
80
|
+
"lt": "Kurti, keisti ar šalinti paskyros tinklus, maršrutus, jungtis ir įrenginius. Gali sutrikdyti ryšį. Apima tinklų peržiūrą; pirkimai ir pratęsimai neįtraukti."
|
|
81
|
+
},
|
|
82
|
+
"implies": [
|
|
83
|
+
"networking:read"
|
|
84
|
+
],
|
|
85
|
+
"billing": "none",
|
|
86
|
+
"legacy": false
|
|
87
|
+
},
|
|
88
|
+
"functions:read": {
|
|
89
|
+
"label": {
|
|
90
|
+
"en": "View Functions and run results",
|
|
91
|
+
"lt": "Peržiūrėti Functions ir vykdymo rezultatus"
|
|
92
|
+
},
|
|
93
|
+
"description": {
|
|
94
|
+
"en": "View account Functions, their configuration, history and invocation results.",
|
|
95
|
+
"lt": "Peržiūrėti paskyros Functions, jų konfigūraciją, istoriją ir vykdymo rezultatus."
|
|
96
|
+
},
|
|
97
|
+
"implies": [],
|
|
98
|
+
"billing": "none",
|
|
99
|
+
"legacy": false
|
|
100
|
+
},
|
|
101
|
+
"functions:manage": {
|
|
102
|
+
"label": {
|
|
103
|
+
"en": "Manage Functions",
|
|
104
|
+
"lt": "Valdyti Functions"
|
|
105
|
+
},
|
|
106
|
+
"description": {
|
|
107
|
+
"en": "Create, update or delete account Functions and their code. Includes viewing Functions; running them requires separate paid execution permission.",
|
|
108
|
+
"lt": "Kurti, atnaujinti ar trinti paskyros Functions ir jų kodą. Apima Functions peržiūrą; vykdymui reikia atskiro mokamo vykdymo leidimo."
|
|
109
|
+
},
|
|
110
|
+
"implies": [
|
|
111
|
+
"functions:read"
|
|
112
|
+
],
|
|
113
|
+
"billing": "none",
|
|
114
|
+
"legacy": false
|
|
115
|
+
},
|
|
116
|
+
"functions:invoke": {
|
|
117
|
+
"label": {
|
|
118
|
+
"en": "Run Functions (usage charges)",
|
|
119
|
+
"lt": "Vykdyti Functions (mokama pagal naudojimą)"
|
|
120
|
+
},
|
|
121
|
+
"description": {
|
|
122
|
+
"en": "Run existing account Functions using your VPSnet balance. Usage charges apply; your AI subscription does not cover them. Includes viewing Functions and run results. The daily limit counts total account Functions spending, including pending runs.",
|
|
123
|
+
"lt": "Vykdyti paskyros Functions naudojant VPSnet balansą. Taikomi naudojimo mokesčiai; AI prenumerata jų nepadengia. Apima Functions ir rezultatų peržiūrą. Dienos riba apima visas paskyros Functions išlaidas, įskaitant laukiančius vykdymus."
|
|
124
|
+
},
|
|
125
|
+
"implies": [
|
|
126
|
+
"functions:read"
|
|
127
|
+
],
|
|
128
|
+
"billing": "usage_balance",
|
|
129
|
+
"legacy": false
|
|
130
|
+
},
|
|
131
|
+
"vm:diagnostics": {
|
|
132
|
+
"label": {
|
|
133
|
+
"en": "Inspect selected servers",
|
|
134
|
+
"lt": "Tikrinti pasirinktus serverius"
|
|
135
|
+
},
|
|
136
|
+
"description": {
|
|
137
|
+
"en": "Run bounded diagnostics on selected servers and save operation results. Does not grant arbitrary commands or file access.",
|
|
138
|
+
"lt": "Vykdyti ribotą pasirinktų serverių diagnostiką ir išsaugoti rezultatus. Nesuteikia savavališkų komandų ar failų prieigos."
|
|
139
|
+
},
|
|
140
|
+
"implies": [],
|
|
141
|
+
"billing": "none",
|
|
142
|
+
"legacy": false
|
|
143
|
+
},
|
|
144
|
+
"vm:files:read": {
|
|
145
|
+
"label": {
|
|
146
|
+
"en": "Read selected server files as root",
|
|
147
|
+
"lt": "Skaityti pasirinktų serverių failus root teisėmis"
|
|
148
|
+
},
|
|
149
|
+
"description": {
|
|
150
|
+
"en": "Read files on selected servers with root privileges through saved guest operations. Files may contain secrets.",
|
|
151
|
+
"lt": "Skaityti pasirinktų serverių failus root teisėmis per išsaugomas užduotis. Failuose gali būti paslapčių."
|
|
152
|
+
},
|
|
153
|
+
"implies": [],
|
|
154
|
+
"billing": "none",
|
|
155
|
+
"legacy": false
|
|
156
|
+
},
|
|
157
|
+
"vm:files:write": {
|
|
158
|
+
"label": {
|
|
159
|
+
"en": "Read and change selected server files as root",
|
|
160
|
+
"lt": "Skaityti ir keisti pasirinktų serverių failus root teisėmis"
|
|
161
|
+
},
|
|
162
|
+
"description": {
|
|
163
|
+
"en": "Create or overwrite files on selected servers with root privileges. Includes reading files; changes can replace data or affect server operation.",
|
|
164
|
+
"lt": "Kurti ar perrašyti pasirinktų serverių failus root teisėmis. Apima failų skaitymą; pakeitimai gali pakeisti duomenis ar paveikti serverio veikimą."
|
|
165
|
+
},
|
|
166
|
+
"implies": [
|
|
167
|
+
"vm:files:read"
|
|
168
|
+
],
|
|
169
|
+
"billing": "none",
|
|
170
|
+
"legacy": false
|
|
171
|
+
},
|
|
172
|
+
"vm:exec": {
|
|
173
|
+
"label": {
|
|
174
|
+
"en": "Run selected server commands as root",
|
|
175
|
+
"lt": "Vykdyti pasirinktų serverių komandas root teisėmis"
|
|
176
|
+
},
|
|
177
|
+
"description": {
|
|
178
|
+
"en": "Run arbitrary commands and install root SSH access on selected servers. Can read, change or delete data through commands. Includes bounded server diagnostics.",
|
|
179
|
+
"lt": "Vykdyti savavališkas komandas ir įdiegti root SSH prieigą pasirinktuose serveriuose. Komandos gali skaityti, keisti ar trinti duomenis. Apima ribotą serverių diagnostiką."
|
|
180
|
+
},
|
|
181
|
+
"implies": [
|
|
182
|
+
"vm:diagnostics"
|
|
183
|
+
],
|
|
184
|
+
"billing": "none",
|
|
185
|
+
"legacy": false
|
|
186
|
+
},
|
|
187
|
+
"vm:files": {
|
|
188
|
+
"label": {
|
|
189
|
+
"en": "Read and change selected server files as root (legacy)",
|
|
190
|
+
"lt": "Skaityti ir keisti pasirinktų serverių failus root teisėmis (senasis leidimas)"
|
|
191
|
+
},
|
|
192
|
+
"description": {
|
|
193
|
+
"en": "Legacy combined file permission: includes vm:files:read and vm:files:write on selected servers. Can read secrets and overwrite data. Not advertised for new connections.",
|
|
194
|
+
"lt": "Senasis jungtinis failų leidimas: apima vm:files:read ir vm:files:write pasirinktuose serveriuose. Gali skaityti paslaptis ir perrašyti duomenis. Naujiems prisijungimams neskelbiamas."
|
|
195
|
+
},
|
|
196
|
+
"implies": [
|
|
197
|
+
"vm:files:read",
|
|
198
|
+
"vm:files:write"
|
|
199
|
+
],
|
|
200
|
+
"billing": "none",
|
|
201
|
+
"legacy": true
|
|
202
|
+
},
|
|
203
|
+
"services:reinstall": {
|
|
204
|
+
"label": {
|
|
205
|
+
"en": "Reinstall selected server operating systems",
|
|
206
|
+
"lt": "Perdiegti pasirinktų serverių operacines sistemas"
|
|
207
|
+
},
|
|
208
|
+
"description": {
|
|
209
|
+
"en": "Reinstall operating systems on selected servers. This can erase existing server data.",
|
|
210
|
+
"lt": "Perdiegti pasirinktų serverių operacines sistemas. Tai gali ištrinti esamus serverio duomenis."
|
|
211
|
+
},
|
|
212
|
+
"implies": [],
|
|
213
|
+
"billing": "none",
|
|
214
|
+
"legacy": false
|
|
215
|
+
},
|
|
216
|
+
"services:restore": {
|
|
217
|
+
"label": {
|
|
218
|
+
"en": "Restore or delete selected server snapshots",
|
|
219
|
+
"lt": "Atkurti arba trinti pasirinktų serverių momentines kopijas"
|
|
220
|
+
},
|
|
221
|
+
"description": {
|
|
222
|
+
"en": "Restore selected servers from snapshots or delete snapshots. Restoring replaces current data; deleting removes a recovery point.",
|
|
223
|
+
"lt": "Atkurti pasirinktus serverius iš momentinių kopijų arba trinti kopijas. Atkūrimas pakeičia esamus duomenis; ištrynus kopiją prarandamas atkūrimo taškas."
|
|
224
|
+
},
|
|
225
|
+
"implies": [],
|
|
226
|
+
"billing": "none",
|
|
227
|
+
"legacy": false
|
|
228
|
+
},
|
|
229
|
+
"services:rescue": {
|
|
230
|
+
"label": {
|
|
231
|
+
"en": "Start or exit selected server rescue mode",
|
|
232
|
+
"lt": "Įjungti ar išjungti pasirinktų serverių atkūrimo režimą"
|
|
233
|
+
},
|
|
234
|
+
"description": {
|
|
235
|
+
"en": "Start or exit rescue mode on selected servers. May restart a server or interrupt its workload. Includes viewing selected servers.",
|
|
236
|
+
"lt": "Įjungti ar išjungti pasirinktų serverių atkūrimo režimą. Gali perkrauti serverį ar nutraukti jo darbą. Apima serverių peržiūrą."
|
|
237
|
+
},
|
|
238
|
+
"implies": [
|
|
239
|
+
"services:read"
|
|
240
|
+
],
|
|
241
|
+
"billing": "none",
|
|
242
|
+
"legacy": false
|
|
243
|
+
},
|
|
244
|
+
"dns:read": {
|
|
245
|
+
"label": {
|
|
246
|
+
"en": "View account DNS",
|
|
247
|
+
"lt": "Peržiūrėti paskyros DNS"
|
|
248
|
+
},
|
|
249
|
+
"description": {
|
|
250
|
+
"en": "View account DNS zones, records, diagnostics, DNSSEC state and zone history.",
|
|
251
|
+
"lt": "Peržiūrėti paskyros DNS zonas, įrašus, diagnostiką, DNSSEC būseną ir zonų istoriją."
|
|
252
|
+
},
|
|
253
|
+
"implies": [],
|
|
254
|
+
"billing": "none",
|
|
255
|
+
"legacy": false
|
|
256
|
+
},
|
|
257
|
+
"dns:write": {
|
|
258
|
+
"label": {
|
|
259
|
+
"en": "Manage account DNS",
|
|
260
|
+
"lt": "Valdyti paskyros DNS"
|
|
261
|
+
},
|
|
262
|
+
"description": {
|
|
263
|
+
"en": "Create, change, import or delete account DNS zones and records. Can redirect traffic or interrupt domains. Includes DNS viewing.",
|
|
264
|
+
"lt": "Kurti, keisti, importuoti ar trinti paskyros DNS zonas ir įrašus. Gali nukreipti srautą ar sutrikdyti domenų veikimą. Apima DNS peržiūrą."
|
|
265
|
+
},
|
|
266
|
+
"implies": [
|
|
267
|
+
"dns:read"
|
|
268
|
+
],
|
|
269
|
+
"billing": "none",
|
|
270
|
+
"legacy": false
|
|
271
|
+
},
|
|
272
|
+
"dnssec:manage": {
|
|
273
|
+
"label": {
|
|
274
|
+
"en": "Manage account DNSSEC",
|
|
275
|
+
"lt": "Valdyti paskyros DNSSEC"
|
|
276
|
+
},
|
|
277
|
+
"description": {
|
|
278
|
+
"en": "Change DNSSEC signing for account DNS zones. Incorrect changes can interrupt DNS resolution. Includes DNS viewing.",
|
|
279
|
+
"lt": "Keisti paskyros DNS zonų DNSSEC pasirašymą. Klaidingi pakeitimai gali sutrikdyti DNS veikimą. Apima DNS peržiūrą."
|
|
280
|
+
},
|
|
281
|
+
"implies": [
|
|
282
|
+
"dns:read"
|
|
283
|
+
],
|
|
284
|
+
"billing": "none",
|
|
285
|
+
"legacy": false
|
|
286
|
+
},
|
|
287
|
+
"domains:read": {
|
|
288
|
+
"label": {
|
|
289
|
+
"en": "View account domains",
|
|
290
|
+
"lt": "Peržiūrėti paskyros domenus"
|
|
291
|
+
},
|
|
292
|
+
"description": {
|
|
293
|
+
"en": "View account domains, nameservers, glue records, parent DS records and contacts.",
|
|
294
|
+
"lt": "Peržiūrėti paskyros domenus, vardų serverius, glue ir tėvinės zonos DS įrašus bei kontaktus."
|
|
295
|
+
},
|
|
296
|
+
"implies": [],
|
|
297
|
+
"billing": "none",
|
|
298
|
+
"legacy": false
|
|
299
|
+
},
|
|
300
|
+
"domains:manage": {
|
|
301
|
+
"label": {
|
|
302
|
+
"en": "Manage account domains",
|
|
303
|
+
"lt": "Valdyti paskyros domenus"
|
|
304
|
+
},
|
|
305
|
+
"description": {
|
|
306
|
+
"en": "Change account domain nameservers, glue records, parent DS records and contacts. Can interrupt domain resolution. Includes domain viewing; registration requires separate purchase permission.",
|
|
307
|
+
"lt": "Keisti paskyros domenų vardų serverius, glue ir tėvinės zonos DS įrašus bei kontaktus. Gali sutrikdyti domenų veikimą. Apima peržiūrą; registravimui reikia atskiro pirkimo leidimo."
|
|
308
|
+
},
|
|
309
|
+
"implies": [
|
|
310
|
+
"domains:read"
|
|
311
|
+
],
|
|
312
|
+
"billing": "none",
|
|
313
|
+
"legacy": false
|
|
314
|
+
},
|
|
315
|
+
"certificates:read": {
|
|
316
|
+
"label": {
|
|
317
|
+
"en": "View account TLS certificates",
|
|
318
|
+
"lt": "Peržiūrėti paskyros TLS sertifikatus"
|
|
319
|
+
},
|
|
320
|
+
"description": {
|
|
321
|
+
"en": "View account TLS certificates, validation and actions, and download available certificate material.",
|
|
322
|
+
"lt": "Peržiūrėti paskyros TLS sertifikatus, patvirtinimą, veiksmus ir atsisiųsti prieinamą sertifikatų medžiagą."
|
|
323
|
+
},
|
|
324
|
+
"implies": [],
|
|
325
|
+
"billing": "none",
|
|
326
|
+
"legacy": false
|
|
327
|
+
},
|
|
328
|
+
"certificates:manage": {
|
|
329
|
+
"label": {
|
|
330
|
+
"en": "Manage account TLS certificates",
|
|
331
|
+
"lt": "Valdyti paskyros TLS sertifikatus"
|
|
332
|
+
},
|
|
333
|
+
"description": {
|
|
334
|
+
"en": "Create or renew free certificates and manage existing certificates and automatic SSL subscriptions, including cancellation or revocation. Includes certificate viewing; excludes purchases.",
|
|
335
|
+
"lt": "Kurti ar pratęsti nemokamus sertifikatus ir valdyti esamus sertifikatus bei automatinio SSL prenumeratas, įskaitant atšaukimą. Apima sertifikatų peržiūrą; pirkimai neįtraukti."
|
|
336
|
+
},
|
|
337
|
+
"implies": [
|
|
338
|
+
"certificates:read"
|
|
339
|
+
],
|
|
340
|
+
"billing": "none",
|
|
341
|
+
"legacy": false
|
|
342
|
+
},
|
|
343
|
+
"ssh_keys:read": {
|
|
344
|
+
"label": {
|
|
345
|
+
"en": "View account public SSH keys",
|
|
346
|
+
"lt": "Peržiūrėti paskyros viešuosius SSH raktus"
|
|
347
|
+
},
|
|
348
|
+
"description": {
|
|
349
|
+
"en": "View public SSH keys saved in your account. Does not expose private keys.",
|
|
350
|
+
"lt": "Peržiūrėti paskyroje išsaugotus viešuosius SSH raktus. Privatūs raktai neatskleidžiami."
|
|
351
|
+
},
|
|
352
|
+
"implies": [],
|
|
353
|
+
"billing": "none",
|
|
354
|
+
"legacy": false
|
|
355
|
+
},
|
|
356
|
+
"ssh_keys:manage": {
|
|
357
|
+
"label": {
|
|
358
|
+
"en": "Manage account public SSH keys",
|
|
359
|
+
"lt": "Valdyti paskyros viešuosius SSH raktus"
|
|
360
|
+
},
|
|
361
|
+
"description": {
|
|
362
|
+
"en": "Add or delete account public SSH keys. Includes key viewing; installing a key on a server requires vm:exec permission.",
|
|
363
|
+
"lt": "Pridėti ar trinti paskyros viešuosius SSH raktus. Apima raktų peržiūrą; diegimui serveryje reikia vm:exec leidimo."
|
|
364
|
+
},
|
|
365
|
+
"implies": [
|
|
366
|
+
"ssh_keys:read"
|
|
367
|
+
],
|
|
368
|
+
"billing": "none",
|
|
369
|
+
"legacy": false
|
|
370
|
+
},
|
|
371
|
+
"orders:read": {
|
|
372
|
+
"label": {
|
|
373
|
+
"en": "View server plans and server or domain purchase results",
|
|
374
|
+
"lt": "Peržiūrėti serverių planus ir serverių ar domenų pirkimo rezultatus"
|
|
375
|
+
},
|
|
376
|
+
"description": {
|
|
377
|
+
"en": "View server plans, order options and existing server or domain purchase results. Does not submit a purchase. Available only through the separate orders profile.",
|
|
378
|
+
"lt": "Peržiūrėti serverių planus, užsakymo parinktis ir esamų serverių ar domenų pirkimų rezultatus. Pirkimo neatlieka. Prieinama tik atskirame užsakymų profilyje."
|
|
379
|
+
},
|
|
380
|
+
"implies": [],
|
|
381
|
+
"billing": "none",
|
|
382
|
+
"legacy": false
|
|
383
|
+
},
|
|
384
|
+
"orders:servers": {
|
|
385
|
+
"label": {
|
|
386
|
+
"en": "Purchase VPS servers from your balance",
|
|
387
|
+
"lt": "Pirkti VPS serverius iš balanso"
|
|
388
|
+
},
|
|
389
|
+
"description": {
|
|
390
|
+
"en": "Quote and purchase VPS servers using your VPSnet balance after approval of the final gross EUR amount and period, within this connection’s daily and monthly limits. Includes viewing order plans and purchase results. Available only through the separate orders profile.",
|
|
391
|
+
"lt": "Gauti VPS serverių pasiūlymus ir pirkti iš VPSnet balanso, patvirtinus galutinę EUR sumą su mokesčiais bei laikotarpį, neviršijant jungties dienos ir mėnesio ribų. Apima planų ir pirkimų rezultatų peržiūrą. Prieinama tik atskirame užsakymų profilyje."
|
|
392
|
+
},
|
|
393
|
+
"implies": [
|
|
394
|
+
"orders:read"
|
|
395
|
+
],
|
|
396
|
+
"billing": "purchase_balance",
|
|
397
|
+
"legacy": false
|
|
398
|
+
},
|
|
399
|
+
"orders:domains": {
|
|
400
|
+
"label": {
|
|
401
|
+
"en": "Register domains from your balance",
|
|
402
|
+
"lt": "Registruoti domenus iš balanso"
|
|
403
|
+
},
|
|
404
|
+
"description": {
|
|
405
|
+
"en": "Quote and register domains using your VPSnet balance after approval of the final gross EUR amount and period, within this connection’s daily and monthly limits. Registration may be non-refundable. Includes viewing order plans and purchase results. Available only through the separate orders profile.",
|
|
406
|
+
"lt": "Gauti domenų pasiūlymus ir registruoti iš VPSnet balanso, patvirtinus galutinę EUR sumą su mokesčiais bei laikotarpį, neviršijant jungties dienos ir mėnesio ribų. Registravimo mokestis gali būti negrąžinamas. Apima planų ir pirkimų rezultatų peržiūrą. Prieinama tik atskirame užsakymų profilyje."
|
|
407
|
+
},
|
|
408
|
+
"implies": [
|
|
409
|
+
"orders:read"
|
|
410
|
+
],
|
|
411
|
+
"billing": "purchase_balance",
|
|
412
|
+
"legacy": false
|
|
413
|
+
}
|
|
414
|
+
};
|
|
415
|
+
export function scopeDescriptions(scopes) {
|
|
416
|
+
return Object.fromEntries(scopes.map(scope => [scope, scopeCatalog[scope].description.en]));
|
|
417
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vpsnet-mcp",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.14",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "MCP server for managing VPSnet.com services, applications, DNS, domains, billing, and server lifecycle operations",
|
|
6
6
|
"bin": {
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"build/http-server.js",
|
|
36
36
|
"build/request-context.js",
|
|
37
37
|
"build/remote-policy.js",
|
|
38
|
+
"build/scope-catalog.js",
|
|
38
39
|
"build/remote-auth-error.js",
|
|
39
40
|
"build/remote-tools.js",
|
|
40
41
|
"build/remote-orders.js"
|