helipod-mcp 0.5.3 → 0.5.5
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/dist/http.js +9 -9
- package/dist/index.js +9 -9
- package/dist/stdio.js +9 -9
- package/package.json +2 -1
package/dist/http.js
CHANGED
|
@@ -36214,7 +36214,7 @@ var containerTools = [
|
|
|
36214
36214
|
];
|
|
36215
36215
|
|
|
36216
36216
|
// src/tools/vps.ts
|
|
36217
|
-
var vpsId = exports_external.string().describe("VPS id");
|
|
36217
|
+
var vpsId = exports_external.string().describe("VPS id from list_vps (not the name or hostname)");
|
|
36218
36218
|
var password = exports_external.string().min(12).max(30).describe("12-30 characters with upper and lower case letters, a digit and one of ! @ # $ % ^ *");
|
|
36219
36219
|
var period = exports_external.enum(["monthly", "3month", "6month", "yearly"]);
|
|
36220
36220
|
var pointId = exports_external.string().describe("Restore point id (from list_vps_restore_points)");
|
|
@@ -36232,7 +36232,7 @@ var vpsTools = [
|
|
|
36232
36232
|
name: "list_vps",
|
|
36233
36233
|
title: "List VPS",
|
|
36234
36234
|
kind: "read",
|
|
36235
|
-
description: "
|
|
36235
|
+
description: "Every server this key can reach (all kinds), with status, providerCode (1 = shares a public address, 2/3 = own IP) and access: the host and SSH port to connect to.",
|
|
36236
36236
|
input: { status: exports_external.string().optional().describe("e.g. running, stopped"), projectId: exports_external.string().uuid().optional() },
|
|
36237
36237
|
run: (a, api2) => api2.api("GET", "/vps", { query: { status: a.status, projectId: a.projectId } })
|
|
36238
36238
|
}),
|
|
@@ -36240,7 +36240,7 @@ var vpsTools = [
|
|
|
36240
36240
|
name: "get_vps",
|
|
36241
36241
|
title: "Get VPS",
|
|
36242
36242
|
kind: "read",
|
|
36243
|
-
description: "One server: status,
|
|
36243
|
+
description: "One server: status, access (host and SSH port), providerCode, size, plan, expiry, last job. Poll it after an action until status is running, stopped, terminated or error.",
|
|
36244
36244
|
input: { vpsId },
|
|
36245
36245
|
run: (a, api2) => api2.api("GET", `/vps/${a.vpsId}`)
|
|
36246
36246
|
}),
|
|
@@ -36288,7 +36288,7 @@ var vpsTools = [
|
|
|
36288
36288
|
name: "get_vps_credentials",
|
|
36289
36289
|
title: "Get VPS login",
|
|
36290
36290
|
kind: "read",
|
|
36291
|
-
description: "Login details: host, user (root, or Administrator on Windows), port, protocol (ssh or rdp) and password. The response contains the root password.",
|
|
36291
|
+
description: "Login details: host, user (root, or Administrator on Windows), port, protocol (ssh or rdp) and password. The response contains the root password. Only servers with providerCode 2 keep it (others: 409 FEATURE_NOT_AVAILABLE; the password is the one set at create or reset).",
|
|
36292
36292
|
input: { vpsId },
|
|
36293
36293
|
run: (a, api2) => api2.api("GET", `/vps/${a.vpsId}/credentials`)
|
|
36294
36294
|
}),
|
|
@@ -36320,7 +36320,7 @@ var vpsTools = [
|
|
|
36320
36320
|
name: "upgrade_vps",
|
|
36321
36321
|
title: "Upgrade VPS plan",
|
|
36322
36322
|
kind: "write",
|
|
36323
|
-
description: "Move a server to a larger plan in the same family and region. COSTS MONEY (the difference for the days left) and restarts the server. planId must be one listed by get_vps_upgrade_options, which also gives the price in IDR; the server restarts during the upgrade.",
|
|
36323
|
+
description: "Move a server to a larger plan in the same family and region. COSTS MONEY (the difference for the days left) and restarts the server. planId must be one listed by get_vps_upgrade_options, which also gives the price in IDR; the server restarts during the upgrade. Servers with providerCode 2 only.",
|
|
36324
36324
|
input: { vpsId, planId: exports_external.string() },
|
|
36325
36325
|
run: (a, api2) => api2.api("POST", `/vps/${a.vpsId}/upgrade`, { body: { planId: a.planId } })
|
|
36326
36326
|
}),
|
|
@@ -36328,7 +36328,7 @@ var vpsTools = [
|
|
|
36328
36328
|
name: "get_vps_upgrade_options",
|
|
36329
36329
|
title: "VPS upgrade options",
|
|
36330
36330
|
kind: "read",
|
|
36331
|
-
description: "Plans this server can move to (same family and region) with the price to pay now for the days left (IDR). upgrade_vps accepts only a planId from this list.",
|
|
36331
|
+
description: "Plans this server can move to (same family and region) with the price to pay now for the days left (IDR). upgrade_vps accepts only a planId from this list. Servers with providerCode 2 only.",
|
|
36332
36332
|
input: { vpsId },
|
|
36333
36333
|
run: (a, api2) => api2.api("GET", `/vps/${a.vpsId}/upgrade-options`)
|
|
36334
36334
|
}),
|
|
@@ -36361,7 +36361,7 @@ var vpsTools = [
|
|
|
36361
36361
|
name: "list_firewall_rules",
|
|
36362
36362
|
title: "List firewall rules",
|
|
36363
36363
|
kind: "read",
|
|
36364
|
-
description: "Inbound firewall rules of a server.",
|
|
36364
|
+
description: "Inbound firewall rules of a server. Servers with their own IP only (providerCode 2 or 3); shared-address servers use port forwards.",
|
|
36365
36365
|
input: { vpsId },
|
|
36366
36366
|
run: (a, api2) => api2.api("GET", `/vps/${a.vpsId}/firewall`)
|
|
36367
36367
|
}),
|
|
@@ -36458,7 +36458,7 @@ var vpsTools = [
|
|
|
36458
36458
|
name: "list_snapshots",
|
|
36459
36459
|
title: "List snapshots",
|
|
36460
36460
|
kind: "read",
|
|
36461
|
-
description: "Disk snapshots of a server.",
|
|
36461
|
+
description: "Disk snapshots of a server. Servers with their own IP only (providerCode 2 or 3).",
|
|
36462
36462
|
input: { vpsId },
|
|
36463
36463
|
run: (a, api2) => api2.api("GET", `/vps/${a.vpsId}/snapshots`)
|
|
36464
36464
|
}),
|
|
@@ -37981,7 +37981,7 @@ var generalTools = [
|
|
|
37981
37981
|
];
|
|
37982
37982
|
|
|
37983
37983
|
// src/server.ts
|
|
37984
|
-
var VERSION = "0.5.
|
|
37984
|
+
var VERSION = "0.5.4";
|
|
37985
37985
|
var INSTRUCTIONS = `Helipod is a cloud platform (Indonesia): containers, managed Postgres databases, VPS, domains, email and an AI gateway, billed from a prepaid wallet in Rupiah.
|
|
37986
37986
|
- Start with list_projects to find projects and environment ids. Account tools (get_wallet, invoices, statements, notifications, get_project_activity, support tickets) cover the account; AI tools (list_ai_models, get_ai_overview, get_ai_usage, AI keys, top-ups) cover the AI gateway.
|
|
37987
37987
|
- Anything that costs money (create/deploy/scale services, resize volumes, upgrade a database plan, create/renew/upgrade VPS, VPS backups, register/renew/transfer domains, email plans and inbox add-ons, AI top-ups and auto top-up): call it with dryRun=true first (or the price lookup when it has no dry run), tell the user the cost in IDR and the wallet balance after, and wait for an explicit yes before the real call. Never treat silence or an earlier general OK as a yes.
|
package/dist/index.js
CHANGED
|
@@ -35359,7 +35359,7 @@ var containerTools = [
|
|
|
35359
35359
|
];
|
|
35360
35360
|
|
|
35361
35361
|
// src/tools/vps.ts
|
|
35362
|
-
var vpsId = exports_external.string().describe("VPS id");
|
|
35362
|
+
var vpsId = exports_external.string().describe("VPS id from list_vps (not the name or hostname)");
|
|
35363
35363
|
var password = exports_external.string().min(12).max(30).describe("12-30 characters with upper and lower case letters, a digit and one of ! @ # $ % ^ *");
|
|
35364
35364
|
var period = exports_external.enum(["monthly", "3month", "6month", "yearly"]);
|
|
35365
35365
|
var pointId = exports_external.string().describe("Restore point id (from list_vps_restore_points)");
|
|
@@ -35377,7 +35377,7 @@ var vpsTools = [
|
|
|
35377
35377
|
name: "list_vps",
|
|
35378
35378
|
title: "List VPS",
|
|
35379
35379
|
kind: "read",
|
|
35380
|
-
description: "
|
|
35380
|
+
description: "Every server this key can reach (all kinds), with status, providerCode (1 = shares a public address, 2/3 = own IP) and access: the host and SSH port to connect to.",
|
|
35381
35381
|
input: { status: exports_external.string().optional().describe("e.g. running, stopped"), projectId: exports_external.string().uuid().optional() },
|
|
35382
35382
|
run: (a, api2) => api2.api("GET", "/vps", { query: { status: a.status, projectId: a.projectId } })
|
|
35383
35383
|
}),
|
|
@@ -35385,7 +35385,7 @@ var vpsTools = [
|
|
|
35385
35385
|
name: "get_vps",
|
|
35386
35386
|
title: "Get VPS",
|
|
35387
35387
|
kind: "read",
|
|
35388
|
-
description: "One server: status,
|
|
35388
|
+
description: "One server: status, access (host and SSH port), providerCode, size, plan, expiry, last job. Poll it after an action until status is running, stopped, terminated or error.",
|
|
35389
35389
|
input: { vpsId },
|
|
35390
35390
|
run: (a, api2) => api2.api("GET", `/vps/${a.vpsId}`)
|
|
35391
35391
|
}),
|
|
@@ -35433,7 +35433,7 @@ var vpsTools = [
|
|
|
35433
35433
|
name: "get_vps_credentials",
|
|
35434
35434
|
title: "Get VPS login",
|
|
35435
35435
|
kind: "read",
|
|
35436
|
-
description: "Login details: host, user (root, or Administrator on Windows), port, protocol (ssh or rdp) and password. The response contains the root password.",
|
|
35436
|
+
description: "Login details: host, user (root, or Administrator on Windows), port, protocol (ssh or rdp) and password. The response contains the root password. Only servers with providerCode 2 keep it (others: 409 FEATURE_NOT_AVAILABLE; the password is the one set at create or reset).",
|
|
35437
35437
|
input: { vpsId },
|
|
35438
35438
|
run: (a, api2) => api2.api("GET", `/vps/${a.vpsId}/credentials`)
|
|
35439
35439
|
}),
|
|
@@ -35465,7 +35465,7 @@ var vpsTools = [
|
|
|
35465
35465
|
name: "upgrade_vps",
|
|
35466
35466
|
title: "Upgrade VPS plan",
|
|
35467
35467
|
kind: "write",
|
|
35468
|
-
description: "Move a server to a larger plan in the same family and region. COSTS MONEY (the difference for the days left) and restarts the server. planId must be one listed by get_vps_upgrade_options, which also gives the price in IDR; the server restarts during the upgrade.",
|
|
35468
|
+
description: "Move a server to a larger plan in the same family and region. COSTS MONEY (the difference for the days left) and restarts the server. planId must be one listed by get_vps_upgrade_options, which also gives the price in IDR; the server restarts during the upgrade. Servers with providerCode 2 only.",
|
|
35469
35469
|
input: { vpsId, planId: exports_external.string() },
|
|
35470
35470
|
run: (a, api2) => api2.api("POST", `/vps/${a.vpsId}/upgrade`, { body: { planId: a.planId } })
|
|
35471
35471
|
}),
|
|
@@ -35473,7 +35473,7 @@ var vpsTools = [
|
|
|
35473
35473
|
name: "get_vps_upgrade_options",
|
|
35474
35474
|
title: "VPS upgrade options",
|
|
35475
35475
|
kind: "read",
|
|
35476
|
-
description: "Plans this server can move to (same family and region) with the price to pay now for the days left (IDR). upgrade_vps accepts only a planId from this list.",
|
|
35476
|
+
description: "Plans this server can move to (same family and region) with the price to pay now for the days left (IDR). upgrade_vps accepts only a planId from this list. Servers with providerCode 2 only.",
|
|
35477
35477
|
input: { vpsId },
|
|
35478
35478
|
run: (a, api2) => api2.api("GET", `/vps/${a.vpsId}/upgrade-options`)
|
|
35479
35479
|
}),
|
|
@@ -35506,7 +35506,7 @@ var vpsTools = [
|
|
|
35506
35506
|
name: "list_firewall_rules",
|
|
35507
35507
|
title: "List firewall rules",
|
|
35508
35508
|
kind: "read",
|
|
35509
|
-
description: "Inbound firewall rules of a server.",
|
|
35509
|
+
description: "Inbound firewall rules of a server. Servers with their own IP only (providerCode 2 or 3); shared-address servers use port forwards.",
|
|
35510
35510
|
input: { vpsId },
|
|
35511
35511
|
run: (a, api2) => api2.api("GET", `/vps/${a.vpsId}/firewall`)
|
|
35512
35512
|
}),
|
|
@@ -35603,7 +35603,7 @@ var vpsTools = [
|
|
|
35603
35603
|
name: "list_snapshots",
|
|
35604
35604
|
title: "List snapshots",
|
|
35605
35605
|
kind: "read",
|
|
35606
|
-
description: "Disk snapshots of a server.",
|
|
35606
|
+
description: "Disk snapshots of a server. Servers with their own IP only (providerCode 2 or 3).",
|
|
35607
35607
|
input: { vpsId },
|
|
35608
35608
|
run: (a, api2) => api2.api("GET", `/vps/${a.vpsId}/snapshots`)
|
|
35609
35609
|
}),
|
|
@@ -37126,7 +37126,7 @@ var generalTools = [
|
|
|
37126
37126
|
];
|
|
37127
37127
|
|
|
37128
37128
|
// src/server.ts
|
|
37129
|
-
var VERSION = "0.5.
|
|
37129
|
+
var VERSION = "0.5.4";
|
|
37130
37130
|
var INSTRUCTIONS = `Helipod is a cloud platform (Indonesia): containers, managed Postgres databases, VPS, domains, email and an AI gateway, billed from a prepaid wallet in Rupiah.
|
|
37131
37131
|
- Start with list_projects to find projects and environment ids. Account tools (get_wallet, invoices, statements, notifications, get_project_activity, support tickets) cover the account; AI tools (list_ai_models, get_ai_overview, get_ai_usage, AI keys, top-ups) cover the AI gateway.
|
|
37132
37132
|
- Anything that costs money (create/deploy/scale services, resize volumes, upgrade a database plan, create/renew/upgrade VPS, VPS backups, register/renew/transfer domains, email plans and inbox add-ons, AI top-ups and auto top-up): call it with dryRun=true first (or the price lookup when it has no dry run), tell the user the cost in IDR and the wallet balance after, and wait for an explicit yes before the real call. Never treat silence or an earlier general OK as a yes.
|
package/dist/stdio.js
CHANGED
|
@@ -35466,7 +35466,7 @@ var containerTools = [
|
|
|
35466
35466
|
];
|
|
35467
35467
|
|
|
35468
35468
|
// src/tools/vps.ts
|
|
35469
|
-
var vpsId = exports_external.string().describe("VPS id");
|
|
35469
|
+
var vpsId = exports_external.string().describe("VPS id from list_vps (not the name or hostname)");
|
|
35470
35470
|
var password = exports_external.string().min(12).max(30).describe("12-30 characters with upper and lower case letters, a digit and one of ! @ # $ % ^ *");
|
|
35471
35471
|
var period = exports_external.enum(["monthly", "3month", "6month", "yearly"]);
|
|
35472
35472
|
var pointId = exports_external.string().describe("Restore point id (from list_vps_restore_points)");
|
|
@@ -35484,7 +35484,7 @@ var vpsTools = [
|
|
|
35484
35484
|
name: "list_vps",
|
|
35485
35485
|
title: "List VPS",
|
|
35486
35486
|
kind: "read",
|
|
35487
|
-
description: "
|
|
35487
|
+
description: "Every server this key can reach (all kinds), with status, providerCode (1 = shares a public address, 2/3 = own IP) and access: the host and SSH port to connect to.",
|
|
35488
35488
|
input: { status: exports_external.string().optional().describe("e.g. running, stopped"), projectId: exports_external.string().uuid().optional() },
|
|
35489
35489
|
run: (a, api2) => api2.api("GET", "/vps", { query: { status: a.status, projectId: a.projectId } })
|
|
35490
35490
|
}),
|
|
@@ -35492,7 +35492,7 @@ var vpsTools = [
|
|
|
35492
35492
|
name: "get_vps",
|
|
35493
35493
|
title: "Get VPS",
|
|
35494
35494
|
kind: "read",
|
|
35495
|
-
description: "One server: status,
|
|
35495
|
+
description: "One server: status, access (host and SSH port), providerCode, size, plan, expiry, last job. Poll it after an action until status is running, stopped, terminated or error.",
|
|
35496
35496
|
input: { vpsId },
|
|
35497
35497
|
run: (a, api2) => api2.api("GET", `/vps/${a.vpsId}`)
|
|
35498
35498
|
}),
|
|
@@ -35540,7 +35540,7 @@ var vpsTools = [
|
|
|
35540
35540
|
name: "get_vps_credentials",
|
|
35541
35541
|
title: "Get VPS login",
|
|
35542
35542
|
kind: "read",
|
|
35543
|
-
description: "Login details: host, user (root, or Administrator on Windows), port, protocol (ssh or rdp) and password. The response contains the root password.",
|
|
35543
|
+
description: "Login details: host, user (root, or Administrator on Windows), port, protocol (ssh or rdp) and password. The response contains the root password. Only servers with providerCode 2 keep it (others: 409 FEATURE_NOT_AVAILABLE; the password is the one set at create or reset).",
|
|
35544
35544
|
input: { vpsId },
|
|
35545
35545
|
run: (a, api2) => api2.api("GET", `/vps/${a.vpsId}/credentials`)
|
|
35546
35546
|
}),
|
|
@@ -35572,7 +35572,7 @@ var vpsTools = [
|
|
|
35572
35572
|
name: "upgrade_vps",
|
|
35573
35573
|
title: "Upgrade VPS plan",
|
|
35574
35574
|
kind: "write",
|
|
35575
|
-
description: "Move a server to a larger plan in the same family and region. COSTS MONEY (the difference for the days left) and restarts the server. planId must be one listed by get_vps_upgrade_options, which also gives the price in IDR; the server restarts during the upgrade.",
|
|
35575
|
+
description: "Move a server to a larger plan in the same family and region. COSTS MONEY (the difference for the days left) and restarts the server. planId must be one listed by get_vps_upgrade_options, which also gives the price in IDR; the server restarts during the upgrade. Servers with providerCode 2 only.",
|
|
35576
35576
|
input: { vpsId, planId: exports_external.string() },
|
|
35577
35577
|
run: (a, api2) => api2.api("POST", `/vps/${a.vpsId}/upgrade`, { body: { planId: a.planId } })
|
|
35578
35578
|
}),
|
|
@@ -35580,7 +35580,7 @@ var vpsTools = [
|
|
|
35580
35580
|
name: "get_vps_upgrade_options",
|
|
35581
35581
|
title: "VPS upgrade options",
|
|
35582
35582
|
kind: "read",
|
|
35583
|
-
description: "Plans this server can move to (same family and region) with the price to pay now for the days left (IDR). upgrade_vps accepts only a planId from this list.",
|
|
35583
|
+
description: "Plans this server can move to (same family and region) with the price to pay now for the days left (IDR). upgrade_vps accepts only a planId from this list. Servers with providerCode 2 only.",
|
|
35584
35584
|
input: { vpsId },
|
|
35585
35585
|
run: (a, api2) => api2.api("GET", `/vps/${a.vpsId}/upgrade-options`)
|
|
35586
35586
|
}),
|
|
@@ -35613,7 +35613,7 @@ var vpsTools = [
|
|
|
35613
35613
|
name: "list_firewall_rules",
|
|
35614
35614
|
title: "List firewall rules",
|
|
35615
35615
|
kind: "read",
|
|
35616
|
-
description: "Inbound firewall rules of a server.",
|
|
35616
|
+
description: "Inbound firewall rules of a server. Servers with their own IP only (providerCode 2 or 3); shared-address servers use port forwards.",
|
|
35617
35617
|
input: { vpsId },
|
|
35618
35618
|
run: (a, api2) => api2.api("GET", `/vps/${a.vpsId}/firewall`)
|
|
35619
35619
|
}),
|
|
@@ -35710,7 +35710,7 @@ var vpsTools = [
|
|
|
35710
35710
|
name: "list_snapshots",
|
|
35711
35711
|
title: "List snapshots",
|
|
35712
35712
|
kind: "read",
|
|
35713
|
-
description: "Disk snapshots of a server.",
|
|
35713
|
+
description: "Disk snapshots of a server. Servers with their own IP only (providerCode 2 or 3).",
|
|
35714
35714
|
input: { vpsId },
|
|
35715
35715
|
run: (a, api2) => api2.api("GET", `/vps/${a.vpsId}/snapshots`)
|
|
35716
35716
|
}),
|
|
@@ -37233,7 +37233,7 @@ var generalTools = [
|
|
|
37233
37233
|
];
|
|
37234
37234
|
|
|
37235
37235
|
// src/server.ts
|
|
37236
|
-
var VERSION = "0.5.
|
|
37236
|
+
var VERSION = "0.5.4";
|
|
37237
37237
|
var INSTRUCTIONS = `Helipod is a cloud platform (Indonesia): containers, managed Postgres databases, VPS, domains, email and an AI gateway, billed from a prepaid wallet in Rupiah.
|
|
37238
37238
|
- Start with list_projects to find projects and environment ids. Account tools (get_wallet, invoices, statements, notifications, get_project_activity, support tickets) cover the account; AI tools (list_ai_models, get_ai_overview, get_ai_usage, AI keys, top-ups) cover the AI gateway.
|
|
37239
37239
|
- Anything that costs money (create/deploy/scale services, resize volumes, upgrade a database plan, create/renew/upgrade VPS, VPS backups, register/renew/transfer domains, email plans and inbox add-ons, AI top-ups and auto top-up): call it with dryRun=true first (or the price lookup when it has no dry run), tell the user the cost in IDR and the wallet balance after, and wait for an explicit yes before the real call. Never treat silence or an earlier general OK as a yes.
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "helipod-mcp",
|
|
3
|
-
"
|
|
3
|
+
"mcpName": "io.helipod/helipod",
|
|
4
|
+
"version": "0.5.5",
|
|
4
5
|
"description": "MCP server for Helipod: containers, databases, VPS, domains and email from Claude Code, Codex, Cursor and other AI tools.",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"bin": {
|