ncloud-mcp-server 1.0.4 → 1.1.0

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.
Files changed (147) hide show
  1. package/README.md +18 -2
  2. package/README_EN.md +18 -2
  3. package/dist/index.js +12 -331
  4. package/dist/index.js.map +1 -1
  5. package/dist/tools/_response.d.ts +69 -0
  6. package/dist/tools/_response.js +96 -0
  7. package/dist/tools/_response.js.map +1 -0
  8. package/dist/tools/acg.js +10 -9
  9. package/dist/tools/acg.js.map +1 -1
  10. package/dist/tools/activity-tracer.js +4 -3
  11. package/dist/tools/activity-tracer.js.map +1 -1
  12. package/dist/tools/analytics-cdss.js +51 -50
  13. package/dist/tools/analytics-cdss.js.map +1 -1
  14. package/dist/tools/analytics-datacatalog.js +22 -21
  15. package/dist/tools/analytics-datacatalog.js.map +1 -1
  16. package/dist/tools/analytics-dataflow.js +27 -26
  17. package/dist/tools/analytics-dataflow.js.map +1 -1
  18. package/dist/tools/analytics-dataforest.js +25 -24
  19. package/dist/tools/analytics-dataforest.js.map +1 -1
  20. package/dist/tools/analytics-dataquery.js +6 -5
  21. package/dist/tools/analytics-dataquery.js.map +1 -1
  22. package/dist/tools/analytics-datastream.js +22 -21
  23. package/dist/tools/analytics-datastream.js.map +1 -1
  24. package/dist/tools/analytics-hadoop.js +30 -29
  25. package/dist/tools/analytics-hadoop.js.map +1 -1
  26. package/dist/tools/analytics-ses.js +43 -42
  27. package/dist/tools/analytics-ses.js.map +1 -1
  28. package/dist/tools/api-gateway.js +13 -12
  29. package/dist/tools/api-gateway.js.map +1 -1
  30. package/dist/tools/autoscaling.js +25 -24
  31. package/dist/tools/autoscaling.js.map +1 -1
  32. package/dist/tools/billing.d.ts +0 -11
  33. package/dist/tools/billing.js +210 -48
  34. package/dist/tools/billing.js.map +1 -1
  35. package/dist/tools/certificate-manager.js +4 -3
  36. package/dist/tools/certificate-manager.js.map +1 -1
  37. package/dist/tools/cloud-advisor.js +16 -15
  38. package/dist/tools/cloud-advisor.js.map +1 -1
  39. package/dist/tools/cloud-functions.js +22 -21
  40. package/dist/tools/cloud-functions.js.map +1 -1
  41. package/dist/tools/cloud-insight-integration.js +6 -5
  42. package/dist/tools/cloud-insight-integration.js.map +1 -1
  43. package/dist/tools/cloud-insight-plugin.js +34 -33
  44. package/dist/tools/cloud-insight-plugin.js.map +1 -1
  45. package/dist/tools/cloud-insight-rule.js +28 -27
  46. package/dist/tools/cloud-insight-rule.js.map +1 -1
  47. package/dist/tools/cloud-insight.js +12 -11
  48. package/dist/tools/cloud-insight.js.map +1 -1
  49. package/dist/tools/common.js +6 -5
  50. package/dist/tools/common.js.map +1 -1
  51. package/dist/tools/compute-initscript.js +5 -4
  52. package/dist/tools/compute-initscript.js.map +1 -1
  53. package/dist/tools/compute-loginkey.js +5 -4
  54. package/dist/tools/compute-loginkey.js.map +1 -1
  55. package/dist/tools/compute-placement.js +14 -13
  56. package/dist/tools/compute-placement.js.map +1 -1
  57. package/dist/tools/compute-publicip.js +8 -7
  58. package/dist/tools/compute-publicip.js.map +1 -1
  59. package/dist/tools/compute-server.js +29 -28
  60. package/dist/tools/compute-server.js.map +1 -1
  61. package/dist/tools/compute-storage.js +16 -15
  62. package/dist/tools/compute-storage.js.map +1 -1
  63. package/dist/tools/containers-nks.js +38 -37
  64. package/dist/tools/containers-nks.js.map +1 -1
  65. package/dist/tools/containers-registry.js +13 -12
  66. package/dist/tools/containers-registry.js.map +1 -1
  67. package/dist/tools/database-cache.js +25 -24
  68. package/dist/tools/database-cache.js.map +1 -1
  69. package/dist/tools/database-mongodb.js +25 -24
  70. package/dist/tools/database-mongodb.js.map +1 -1
  71. package/dist/tools/database-mssql.js +23 -22
  72. package/dist/tools/database-mssql.js.map +1 -1
  73. package/dist/tools/database-mysql.js +30 -29
  74. package/dist/tools/database-mysql.js.map +1 -1
  75. package/dist/tools/database-postgresql.js +26 -25
  76. package/dist/tools/database-postgresql.js.map +1 -1
  77. package/dist/tools/global-dns.js +13 -12
  78. package/dist/tools/global-dns.js.map +1 -1
  79. package/dist/tools/global-edge.js +21 -20
  80. package/dist/tools/global-edge.js.map +1 -1
  81. package/dist/tools/global-traffic-manager.js +27 -26
  82. package/dist/tools/global-traffic-manager.js.map +1 -1
  83. package/dist/tools/kms.js +52 -39
  84. package/dist/tools/kms.js.map +1 -1
  85. package/dist/tools/loadbalancer.js +17 -16
  86. package/dist/tools/loadbalancer.js.map +1 -1
  87. package/dist/tools/log-analytics.js +11 -10
  88. package/dist/tools/log-analytics.js.map +1 -1
  89. package/dist/tools/media-imageoptimizer.js +10 -9
  90. package/dist/tools/media-imageoptimizer.js.map +1 -1
  91. package/dist/tools/media-livestation.js +13 -12
  92. package/dist/tools/media-livestation.js.map +1 -1
  93. package/dist/tools/media-vodstation.js +11 -10
  94. package/dist/tools/media-vodstation.js.map +1 -1
  95. package/dist/tools/nat-gateway.js +6 -5
  96. package/dist/tools/nat-gateway.js.map +1 -1
  97. package/dist/tools/network-acl.js +18 -17
  98. package/dist/tools/network-acl.js.map +1 -1
  99. package/dist/tools/network-interface.js +15 -14
  100. package/dist/tools/network-interface.js.map +1 -1
  101. package/dist/tools/private-ca.js +32 -23
  102. package/dist/tools/private-ca.js.map +1 -1
  103. package/dist/tools/registry.d.ts +49 -0
  104. package/dist/tools/registry.js +254 -0
  105. package/dist/tools/registry.js.map +1 -0
  106. package/dist/tools/resource-manager.js +7 -6
  107. package/dist/tools/resource-manager.js.map +1 -1
  108. package/dist/tools/route-table.js +12 -11
  109. package/dist/tools/route-table.js.map +1 -1
  110. package/dist/tools/security-monitoring.js +8 -7
  111. package/dist/tools/security-monitoring.js.map +1 -1
  112. package/dist/tools/sens.js +7 -6
  113. package/dist/tools/sens.js.map +1 -1
  114. package/dist/tools/sourcebuild.js +18 -17
  115. package/dist/tools/sourcebuild.js.map +1 -1
  116. package/dist/tools/sourcecommit.js +13 -12
  117. package/dist/tools/sourcecommit.js.map +1 -1
  118. package/dist/tools/sourcedeploy.js +35 -34
  119. package/dist/tools/sourcedeploy.js.map +1 -1
  120. package/dist/tools/sourcepipeline.js +18 -17
  121. package/dist/tools/sourcepipeline.js.map +1 -1
  122. package/dist/tools/storage-archive.js +13 -12
  123. package/dist/tools/storage-archive.js.map +1 -1
  124. package/dist/tools/storage-nas.js +20 -19
  125. package/dist/tools/storage-nas.js.map +1 -1
  126. package/dist/tools/storage-ncloud.js +25 -24
  127. package/dist/tools/storage-ncloud.js.map +1 -1
  128. package/dist/tools/storage-object.js +29 -28
  129. package/dist/tools/storage-object.js.map +1 -1
  130. package/dist/tools/sub-account.js +19 -18
  131. package/dist/tools/sub-account.js.map +1 -1
  132. package/dist/tools/target-group.js +12 -11
  133. package/dist/tools/target-group.js.map +1 -1
  134. package/dist/tools/vpc-peering.js +8 -7
  135. package/dist/tools/vpc-peering.js.map +1 -1
  136. package/dist/tools/vpc.js +11 -10
  137. package/dist/tools/vpc.js.map +1 -1
  138. package/package.json +1 -1
  139. package/dist/auth/signature.test.d.ts +0 -1
  140. package/dist/auth/signature.test.js +0 -90
  141. package/dist/auth/signature.test.js.map +0 -1
  142. package/dist/client/ncloud-client.test.d.ts +0 -1
  143. package/dist/client/ncloud-client.test.js +0 -477
  144. package/dist/client/ncloud-client.test.js.map +0 -1
  145. package/dist/tools/compute-server.test.d.ts +0 -1
  146. package/dist/tools/compute-server.test.js +0 -224
  147. package/dist/tools/compute-server.test.js.map +0 -1
package/dist/tools/kms.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { toolText } from "./_response.js";
2
3
  /**
3
4
  * Ncloud Key Management Service (KMS) API 2.0
4
5
  * Base URL: https://ocapi.ncloud.com
@@ -30,7 +31,7 @@ export function registerKmsTools(server, client) {
30
31
  if (params.isConvergent !== undefined)
31
32
  body.isConvergent = params.isConvergent;
32
33
  const result = await client.requestRaw("POST", "/kms/v1/keys", undefined, body);
33
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
34
+ return toolText(result);
34
35
  }
35
36
  catch (error) {
36
37
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -42,7 +43,7 @@ export function registerKmsTools(server, client) {
42
43
  }, async (params) => {
43
44
  try {
44
45
  const result = await client.requestRaw("GET", `/kms/v1/keys/${params.keyTag}`);
45
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
46
+ return toolText(result);
46
47
  }
47
48
  catch (error) {
48
49
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -60,7 +61,7 @@ export function registerKmsTools(server, client) {
60
61
  if (params.pageSize !== undefined)
61
62
  query.pageSize = params.pageSize;
62
63
  const result = await client.requestRaw("GET", "/kms/v1/keys", query);
63
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
64
+ return toolText(result);
64
65
  }
65
66
  catch (error) {
66
67
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -72,7 +73,7 @@ export function registerKmsTools(server, client) {
72
73
  }, async (params) => {
73
74
  try {
74
75
  const result = await client.requestRaw("GET", `/kms/v1/keys/${params.keyTag}/public-key`);
75
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
76
+ return toolText(result);
76
77
  }
77
78
  catch (error) {
78
79
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -84,7 +85,7 @@ export function registerKmsTools(server, client) {
84
85
  }, async (params) => {
85
86
  try {
86
87
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/enable`);
87
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
88
+ return toolText(result);
88
89
  }
89
90
  catch (error) {
90
91
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -96,7 +97,7 @@ export function registerKmsTools(server, client) {
96
97
  }, async (params) => {
97
98
  try {
98
99
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/disable`);
99
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
100
+ return toolText(result);
100
101
  }
101
102
  catch (error) {
102
103
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -109,7 +110,7 @@ export function registerKmsTools(server, client) {
109
110
  }, async (params) => {
110
111
  try {
111
112
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/update-name`, undefined, { keyName: params.keyName });
112
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
113
+ return toolText(result);
113
114
  }
114
115
  catch (error) {
115
116
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -121,7 +122,7 @@ export function registerKmsTools(server, client) {
121
122
  }, async (params) => {
122
123
  try {
123
124
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/rotate`);
124
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
125
+ return toolText(result);
125
126
  }
126
127
  catch (error) {
127
128
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -134,7 +135,7 @@ export function registerKmsTools(server, client) {
134
135
  }, async (params) => {
135
136
  try {
136
137
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/versions/${params.version}/enable`);
137
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
138
+ return toolText(result);
138
139
  }
139
140
  catch (error) {
140
141
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -147,7 +148,7 @@ export function registerKmsTools(server, client) {
147
148
  }, async (params) => {
148
149
  try {
149
150
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/versions/${params.version}/disable`);
150
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
151
+ return toolText(result);
151
152
  }
152
153
  catch (error) {
153
154
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -159,7 +160,7 @@ export function registerKmsTools(server, client) {
159
160
  }, async (params) => {
160
161
  try {
161
162
  const result = await client.requestRaw("GET", `/kms/v1/keys/${params.keyTag}/versions`);
162
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
163
+ return toolText(result);
163
164
  }
164
165
  catch (error) {
165
166
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -174,7 +175,7 @@ export function registerKmsTools(server, client) {
174
175
  return { content: [{ type: "text", text: "Error: keyTag is required and cannot be empty" }], isError: true };
175
176
  }
176
177
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/request-deletion`);
177
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
178
+ return toolText(result);
178
179
  }
179
180
  catch (error) {
180
181
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -186,22 +187,26 @@ export function registerKmsTools(server, client) {
186
187
  }, async (params) => {
187
188
  try {
188
189
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/cancel-deletion`);
189
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
190
+ return toolText(result);
190
191
  }
191
192
  catch (error) {
192
193
  return { content: [{ type: "text", text: error.message }], isError: true };
193
194
  }
194
195
  });
195
196
  // ncloud_kms_delete_key — Permanently delete a key (⚠️ Destructive)
196
- server.tool("ncloud_kms_delete_key", "⚠️ Destructive: Permanently delete a KMS key. This action is irreversible. The key must be in REVOKE state (deletion requested) before it can be permanently deleted.", {
197
+ server.tool("ncloud_kms_delete_key", "⚠️ Destructive: Permanently delete a KMS key. This action is irreversible. The key must be in REVOKE state (deletion requested) before it can be permanently deleted. Set confirm=true to execute.", {
197
198
  keyTag: z.string().min(1).describe("Key tag - unique identifier derived from key name (required)"),
199
+ confirm: z.boolean().optional().default(false).describe("Must be true to actually execute the destructive operation"),
198
200
  }, async (params) => {
199
201
  try {
200
202
  if (!params.keyTag || params.keyTag.trim().length === 0) {
201
203
  return { content: [{ type: "text", text: "Error: keyTag is required and cannot be empty" }], isError: true };
202
204
  }
205
+ if (!params.confirm) {
206
+ return { content: [{ type: "text", text: `⚠️ This will permanently delete KMS key [${params.keyTag}]. This is irreversible. To execute, call this tool again with confirm=true.` }] };
207
+ }
203
208
  const result = await client.requestRaw("DELETE", `/kms/v1/keys/${params.keyTag}`);
204
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
209
+ return toolText(result);
205
210
  }
206
211
  catch (error) {
207
212
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -215,7 +220,7 @@ export function registerKmsTools(server, client) {
215
220
  }, async (params) => {
216
221
  try {
217
222
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/rotation-period`, undefined, { rotationPeriod: params.rotationPeriod });
218
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
223
+ return toolText(result);
219
224
  }
220
225
  catch (error) {
221
226
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -227,7 +232,7 @@ export function registerKmsTools(server, client) {
227
232
  }, async (params) => {
228
233
  try {
229
234
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/enable-auto-rotation`);
230
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
235
+ return toolText(result);
231
236
  }
232
237
  catch (error) {
233
238
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -239,7 +244,7 @@ export function registerKmsTools(server, client) {
239
244
  }, async (params) => {
240
245
  try {
241
246
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/disable-auto-rotation`);
242
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
247
+ return toolText(result);
243
248
  }
244
249
  catch (error) {
245
250
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -252,7 +257,7 @@ export function registerKmsTools(server, client) {
252
257
  }, async (params) => {
253
258
  try {
254
259
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/memo`, undefined, { memo: params.memo });
255
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
260
+ return toolText(result);
256
261
  }
257
262
  catch (error) {
258
263
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -270,7 +275,7 @@ export function registerKmsTools(server, client) {
270
275
  if (params.context !== undefined)
271
276
  body.context = params.context;
272
277
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/encrypt`, undefined, body);
273
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
278
+ return toolText(result);
274
279
  }
275
280
  catch (error) {
276
281
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -287,7 +292,7 @@ export function registerKmsTools(server, client) {
287
292
  if (params.context !== undefined)
288
293
  body.context = params.context;
289
294
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/decrypt`, undefined, body);
290
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
295
+ return toolText(result);
291
296
  }
292
297
  catch (error) {
293
298
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -309,7 +314,7 @@ export function registerKmsTools(server, client) {
309
314
  if (params.context !== undefined)
310
315
  body.context = params.context;
311
316
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/create-custom-key`, undefined, body);
312
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
317
+ return toolText(result);
313
318
  }
314
319
  catch (error) {
315
320
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -326,7 +331,7 @@ export function registerKmsTools(server, client) {
326
331
  if (params.context !== undefined)
327
332
  body.context = params.context;
328
333
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/reencrypt`, undefined, body);
329
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
334
+ return toolText(result);
330
335
  }
331
336
  catch (error) {
332
337
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -339,7 +344,7 @@ export function registerKmsTools(server, client) {
339
344
  }, async (params) => {
340
345
  try {
341
346
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/sign`, undefined, { data: params.data });
342
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
347
+ return toolText(result);
343
348
  }
344
349
  catch (error) {
345
350
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -353,7 +358,7 @@ export function registerKmsTools(server, client) {
353
358
  }, async (params) => {
354
359
  try {
355
360
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/verify`, undefined, { data: params.data, signature: params.signature });
356
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
361
+ return toolText(result);
357
362
  }
358
363
  catch (error) {
359
364
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -366,7 +371,7 @@ export function registerKmsTools(server, client) {
366
371
  }, async (params) => {
367
372
  try {
368
373
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/ip-acl/enable`);
369
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
374
+ return toolText(result);
370
375
  }
371
376
  catch (error) {
372
377
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -378,7 +383,7 @@ export function registerKmsTools(server, client) {
378
383
  }, async (params) => {
379
384
  try {
380
385
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/ip-acl/disable`);
381
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
386
+ return toolText(result);
382
387
  }
383
388
  catch (error) {
384
389
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -390,7 +395,7 @@ export function registerKmsTools(server, client) {
390
395
  }, async (params) => {
391
396
  try {
392
397
  const result = await client.requestRaw("GET", `/kms/v1/keys/${params.keyTag}/ip-acl/rules`);
393
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
398
+ return toolText(result);
394
399
  }
395
400
  catch (error) {
396
401
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -407,23 +412,27 @@ export function registerKmsTools(server, client) {
407
412
  if (params.memo !== undefined)
408
413
  body.memo = params.memo;
409
414
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/ip-acl/rules`, undefined, body);
410
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
415
+ return toolText(result);
411
416
  }
412
417
  catch (error) {
413
418
  return { content: [{ type: "text", text: error.message }], isError: true };
414
419
  }
415
420
  });
416
421
  // ncloud_kms_delete_acl_rule — Delete IP ACL rule (⚠️ Destructive)
417
- server.tool("ncloud_kms_delete_acl_rule", "⚠️ Destructive: Remove an IP address from the ACL rules for a KMS key.", {
422
+ server.tool("ncloud_kms_delete_acl_rule", "⚠️ Destructive: Remove an IP address from the ACL rules for a KMS key. Set confirm=true to execute.", {
418
423
  keyTag: z.string().min(1).describe("Key tag - unique identifier derived from key name (required)"),
419
424
  ruleId: z.string().min(1).describe("ACL rule ID to delete (required)"),
425
+ confirm: z.boolean().optional().default(false).describe("Must be true to actually execute the destructive operation"),
420
426
  }, async (params) => {
421
427
  try {
422
428
  if (!params.keyTag || !params.ruleId) {
423
429
  return { content: [{ type: "text", text: "Error: keyTag and ruleId are required" }], isError: true };
424
430
  }
431
+ if (!params.confirm) {
432
+ return { content: [{ type: "text", text: `⚠️ This will delete ACL rule [${params.ruleId}] from KMS key [${params.keyTag}]. To execute, call this tool again with confirm=true.` }] };
433
+ }
425
434
  const result = await client.requestRaw("DELETE", `/kms/v1/keys/${params.keyTag}/ip-acl/rules/${params.ruleId}`);
426
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
435
+ return toolText(result);
427
436
  }
428
437
  catch (error) {
429
438
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -436,7 +445,7 @@ export function registerKmsTools(server, client) {
436
445
  }, async (params) => {
437
446
  try {
438
447
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/token-generator`);
439
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
448
+ return toolText(result);
440
449
  }
441
450
  catch (error) {
442
451
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -448,7 +457,7 @@ export function registerKmsTools(server, client) {
448
457
  }, async (params) => {
449
458
  try {
450
459
  const result = await client.requestRaw("GET", `/kms/v1/keys/${params.keyTag}/token-generator`);
451
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
460
+ return toolText(result);
452
461
  }
453
462
  catch (error) {
454
463
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -460,22 +469,26 @@ export function registerKmsTools(server, client) {
460
469
  }, async (params) => {
461
470
  try {
462
471
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/token-generator/update`);
463
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
472
+ return toolText(result);
464
473
  }
465
474
  catch (error) {
466
475
  return { content: [{ type: "text", text: error.message }], isError: true };
467
476
  }
468
477
  });
469
478
  // ncloud_kms_delete_token_generator — Delete token generator (⚠️ Destructive)
470
- server.tool("ncloud_kms_delete_token_generator", "⚠️ Destructive: Delete (deactivate) the token generator for a KMS key. All existing tokens will be invalidated.", {
479
+ server.tool("ncloud_kms_delete_token_generator", "⚠️ Destructive: Delete (deactivate) the token generator for a KMS key. All existing tokens will be invalidated. Set confirm=true to execute.", {
471
480
  keyTag: z.string().min(1).describe("Key tag - unique identifier derived from key name (required)"),
481
+ confirm: z.boolean().optional().default(false).describe("Must be true to actually execute the destructive operation"),
472
482
  }, async (params) => {
473
483
  try {
474
484
  if (!params.keyTag || params.keyTag.trim().length === 0) {
475
485
  return { content: [{ type: "text", text: "Error: keyTag is required and cannot be empty" }], isError: true };
476
486
  }
487
+ if (!params.confirm) {
488
+ return { content: [{ type: "text", text: `⚠️ This will delete the token generator for KMS key [${params.keyTag}] and invalidate all existing tokens. To execute, call this tool again with confirm=true.` }] };
489
+ }
477
490
  const result = await client.requestRaw("DELETE", `/kms/v1/keys/${params.keyTag}/token-generator`);
478
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
491
+ return toolText(result);
479
492
  }
480
493
  catch (error) {
481
494
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -487,7 +500,7 @@ export function registerKmsTools(server, client) {
487
500
  }, async (params) => {
488
501
  try {
489
502
  const result = await client.requestRaw("POST", `/kms/v1/keys/${params.keyTag}/tokens`);
490
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
503
+ return toolText(result);
491
504
  }
492
505
  catch (error) {
493
506
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -507,7 +520,7 @@ export function registerKmsTools(server, client) {
507
520
  if (params.pageSize !== undefined)
508
521
  query.pageSize = params.pageSize;
509
522
  const result = await client.requestRaw("GET", `/kms/v1/keys/${params.keyTag}/activity-logs`, query);
510
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
523
+ return toolText(result);
511
524
  }
512
525
  catch (error) {
513
526
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -519,7 +532,7 @@ export function registerKmsTools(server, client) {
519
532
  }, async (params) => {
520
533
  try {
521
534
  const result = await client.requestRaw("GET", `/kms/v1/keys/${params.keyTag}/latest-use`);
522
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
535
+ return toolText(result);
523
536
  }
524
537
  catch (error) {
525
538
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -1 +1 @@
1
- {"version":3,"file":"kms.js","sourceRoot":"","sources":["../../src/tools/kms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kms.js","sourceRoot":"","sources":["../../src/tools/kms.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { toolText } from "./_response.js";
2
3
  export function registerLoadBalancerTools(server, client) {
3
4
  // ─── Load Balancer Query Tools ─────────────────────────────────────────────
4
5
  server.tool("ncloud_list_load_balancers", "List all load balancer instances in the current region", {
@@ -11,7 +12,7 @@ export function registerLoadBalancerTools(server, client) {
11
12
  }, async (params) => {
12
13
  try {
13
14
  const result = await client.request("/vloadbalancer/v2/getLoadBalancerInstanceList", params);
14
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
15
+ return toolText(result);
15
16
  }
16
17
  catch (error) {
17
18
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -22,7 +23,7 @@ export function registerLoadBalancerTools(server, client) {
22
23
  }, async (params) => {
23
24
  try {
24
25
  const result = await client.request("/vloadbalancer/v2/getLoadBalancerInstanceDetail", params);
25
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
26
+ return toolText(result);
26
27
  }
27
28
  catch (error) {
28
29
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -72,7 +73,7 @@ export function registerLoadBalancerTools(server, client) {
72
73
  listeners: params.listenerList.map((l) => `${l.protocolTypeCode}:${l.port} → TG:${l.targetGroupNo}`),
73
74
  message: "이 요청은 실제 로드 밸런서를 생성하지 않습니다. dryRun=false로 호출하면 로드 밸런서가 생성됩니다.",
74
75
  };
75
- return { content: [{ type: "text", text: JSON.stringify(preview, null, 2) }] };
76
+ return toolText(preview);
76
77
  }
77
78
  const { dryRun, listenerList, subnetNoList, ...restParams } = params;
78
79
  const apiParams = { ...restParams, subnetNoList };
@@ -109,7 +110,7 @@ export function registerLoadBalancerTools(server, client) {
109
110
  도메인: instance?.loadBalancerDomain ?? "pending",
110
111
  리스너설정: params.listenerList.map((l) => `${l.protocolTypeCode}:${l.port}`).join(", "),
111
112
  };
112
- return { content: [{ type: "text", text: JSON.stringify(summary, null, 2) }] };
113
+ return toolText(summary);
113
114
  }
114
115
  catch (error) {
115
116
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -129,7 +130,7 @@ export function registerLoadBalancerTools(server, client) {
129
130
  }
130
131
  const { confirm, ...apiParams } = params;
131
132
  const result = await client.request("/vloadbalancer/v2/deleteLoadBalancerInstances", apiParams);
132
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
133
+ return toolText(result);
133
134
  }
134
135
  catch (error) {
135
136
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -145,7 +146,7 @@ export function registerLoadBalancerTools(server, client) {
145
146
  }, async (params) => {
146
147
  try {
147
148
  const result = await client.request("/vloadbalancer/v2/changeLoadBalancerInstanceConfiguration", params);
148
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
149
+ return toolText(result);
149
150
  }
150
151
  catch (error) {
151
152
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -161,7 +162,7 @@ export function registerLoadBalancerTools(server, client) {
161
162
  }, async (params) => {
162
163
  try {
163
164
  const result = await client.request("/vloadbalancer/v2/setLoadBalancerDescription", params);
164
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
165
+ return toolText(result);
165
166
  }
166
167
  catch (error) {
167
168
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -177,7 +178,7 @@ export function registerLoadBalancerTools(server, client) {
177
178
  }, async (params) => {
178
179
  try {
179
180
  const result = await client.request("/vloadbalancer/v2/setLoadBalancerInstanceSubnet", params);
180
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
181
+ return toolText(result);
181
182
  }
182
183
  catch (error) {
183
184
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -201,7 +202,7 @@ export function registerLoadBalancerTools(server, client) {
201
202
  }, async (params) => {
202
203
  try {
203
204
  const result = await client.request("/vloadbalancer/v2/changeLoadBalancerListenerConfiguration", params);
204
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
205
+ return toolText(result);
205
206
  }
206
207
  catch (error) {
207
208
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -215,7 +216,7 @@ export function registerLoadBalancerTools(server, client) {
215
216
  }, async (params) => {
216
217
  try {
217
218
  const result = await client.request("/vloadbalancer/v2/getLoadBalancerRuleList", params);
218
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
219
+ return toolText(result);
219
220
  }
220
221
  catch (error) {
221
222
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -232,7 +233,7 @@ export function registerLoadBalancerTools(server, client) {
232
233
  }, async (params) => {
233
234
  try {
234
235
  const result = await client.request("/vloadbalancer/v2/addLoadBalancerListenerCertificate", params);
235
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
236
+ return toolText(result);
236
237
  }
237
238
  catch (error) {
238
239
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -254,7 +255,7 @@ export function registerLoadBalancerTools(server, client) {
254
255
  }
255
256
  const { confirm, ...apiParams } = params;
256
257
  const result = await client.request("/vloadbalancer/v2/removeLoadBalancerListenerCertificate", apiParams);
257
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
258
+ return toolText(result);
258
259
  }
259
260
  catch (error) {
260
261
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -267,7 +268,7 @@ export function registerLoadBalancerTools(server, client) {
267
268
  }, async (params) => {
268
269
  try {
269
270
  const result = await client.request("/vloadbalancer/v2/getLoadBalancerListenerCertificateList", params);
270
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
271
+ return toolText(result);
271
272
  }
272
273
  catch (error) {
273
274
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -281,7 +282,7 @@ export function registerLoadBalancerTools(server, client) {
281
282
  }, async (params) => {
282
283
  try {
283
284
  const result = await client.request("/vloadbalancer/v2/getLoadBalancerListenerList", params);
284
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
285
+ return toolText(result);
285
286
  }
286
287
  catch (error) {
287
288
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -308,7 +309,7 @@ export function registerLoadBalancerTools(server, client) {
308
309
  }, async (params) => {
309
310
  try {
310
311
  const result = await client.request("/vloadbalancer/v2/createLoadBalancerListener", params);
311
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
312
+ return toolText(result);
312
313
  }
313
314
  catch (error) {
314
315
  return { content: [{ type: "text", text: error.message }], isError: true };
@@ -331,7 +332,7 @@ export function registerLoadBalancerTools(server, client) {
331
332
  }
332
333
  const { confirm, ...apiParams } = params;
333
334
  const result = await client.request("/vloadbalancer/v2/deleteLoadBalancerListeners", apiParams);
334
- return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
335
+ return toolText(result);
335
336
  }
336
337
  catch (error) {
337
338
  return { content: [{ type: "text", text: error.message }], isError: true };