ncloud-mcp-server 1.0.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 (220) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +159 -0
  3. package/README_EN.md +159 -0
  4. package/dist/auth/signature.d.ts +16 -0
  5. package/dist/auth/signature.js +18 -0
  6. package/dist/auth/signature.js.map +1 -0
  7. package/dist/auth/signature.test.d.ts +1 -0
  8. package/dist/auth/signature.test.js +90 -0
  9. package/dist/auth/signature.test.js.map +1 -0
  10. package/dist/client/ncloud-client.d.ts +27 -0
  11. package/dist/client/ncloud-client.js +270 -0
  12. package/dist/client/ncloud-client.js.map +1 -0
  13. package/dist/client/ncloud-client.test.d.ts +1 -0
  14. package/dist/client/ncloud-client.test.js +477 -0
  15. package/dist/client/ncloud-client.test.js.map +1 -0
  16. package/dist/client/s3-compatible-client.d.ts +49 -0
  17. package/dist/client/s3-compatible-client.js +210 -0
  18. package/dist/client/s3-compatible-client.js.map +1 -0
  19. package/dist/client/swift-compatible-client.d.ts +68 -0
  20. package/dist/client/swift-compatible-client.js +173 -0
  21. package/dist/client/swift-compatible-client.js.map +1 -0
  22. package/dist/index.d.ts +2 -0
  23. package/dist/index.js +362 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/tools/acg.d.ts +3 -0
  26. package/dist/tools/acg.js +220 -0
  27. package/dist/tools/acg.js.map +1 -0
  28. package/dist/tools/activity-tracer.d.ts +3 -0
  29. package/dist/tools/activity-tracer.js +77 -0
  30. package/dist/tools/activity-tracer.js.map +1 -0
  31. package/dist/tools/analytics-cdss.d.ts +3 -0
  32. package/dist/tools/analytics-cdss.js +618 -0
  33. package/dist/tools/analytics-cdss.js.map +1 -0
  34. package/dist/tools/analytics-datacatalog.d.ts +10 -0
  35. package/dist/tools/analytics-datacatalog.js +409 -0
  36. package/dist/tools/analytics-datacatalog.js.map +1 -0
  37. package/dist/tools/analytics-dataflow.d.ts +16 -0
  38. package/dist/tools/analytics-dataflow.js +478 -0
  39. package/dist/tools/analytics-dataflow.js.map +1 -0
  40. package/dist/tools/analytics-dataforest.d.ts +10 -0
  41. package/dist/tools/analytics-dataforest.js +379 -0
  42. package/dist/tools/analytics-dataforest.js.map +1 -0
  43. package/dist/tools/analytics-dataquery.d.ts +16 -0
  44. package/dist/tools/analytics-dataquery.js +143 -0
  45. package/dist/tools/analytics-dataquery.js.map +1 -0
  46. package/dist/tools/analytics-datastream.d.ts +13 -0
  47. package/dist/tools/analytics-datastream.js +359 -0
  48. package/dist/tools/analytics-datastream.js.map +1 -0
  49. package/dist/tools/analytics-hadoop.d.ts +12 -0
  50. package/dist/tools/analytics-hadoop.js +450 -0
  51. package/dist/tools/analytics-hadoop.js.map +1 -0
  52. package/dist/tools/analytics-ses.d.ts +3 -0
  53. package/dist/tools/analytics-ses.js +653 -0
  54. package/dist/tools/analytics-ses.js.map +1 -0
  55. package/dist/tools/api-gateway.d.ts +3 -0
  56. package/dist/tools/api-gateway.js +202 -0
  57. package/dist/tools/api-gateway.js.map +1 -0
  58. package/dist/tools/autoscaling.d.ts +3 -0
  59. package/dist/tools/autoscaling.js +430 -0
  60. package/dist/tools/autoscaling.js.map +1 -0
  61. package/dist/tools/billing.d.ts +14 -0
  62. package/dist/tools/billing.js +545 -0
  63. package/dist/tools/billing.js.map +1 -0
  64. package/dist/tools/certificate-manager.d.ts +18 -0
  65. package/dist/tools/certificate-manager.js +84 -0
  66. package/dist/tools/certificate-manager.js.map +1 -0
  67. package/dist/tools/cloud-advisor.d.ts +3 -0
  68. package/dist/tools/cloud-advisor.js +202 -0
  69. package/dist/tools/cloud-advisor.js.map +1 -0
  70. package/dist/tools/cloud-functions.d.ts +3 -0
  71. package/dist/tools/cloud-functions.js +497 -0
  72. package/dist/tools/cloud-functions.js.map +1 -0
  73. package/dist/tools/cloud-insight-integration.d.ts +3 -0
  74. package/dist/tools/cloud-insight-integration.js +90 -0
  75. package/dist/tools/cloud-insight-integration.js.map +1 -0
  76. package/dist/tools/cloud-insight-plugin.d.ts +3 -0
  77. package/dist/tools/cloud-insight-plugin.js +600 -0
  78. package/dist/tools/cloud-insight-plugin.js.map +1 -0
  79. package/dist/tools/cloud-insight-rule.d.ts +3 -0
  80. package/dist/tools/cloud-insight-rule.js +570 -0
  81. package/dist/tools/cloud-insight-rule.js.map +1 -0
  82. package/dist/tools/cloud-insight.d.ts +3 -0
  83. package/dist/tools/cloud-insight.js +246 -0
  84. package/dist/tools/cloud-insight.js.map +1 -0
  85. package/dist/tools/common.d.ts +3 -0
  86. package/dist/tools/common.js +120 -0
  87. package/dist/tools/common.js.map +1 -0
  88. package/dist/tools/compute-initscript.d.ts +3 -0
  89. package/dist/tools/compute-initscript.js +62 -0
  90. package/dist/tools/compute-initscript.js.map +1 -0
  91. package/dist/tools/compute-loginkey.d.ts +3 -0
  92. package/dist/tools/compute-loginkey.js +59 -0
  93. package/dist/tools/compute-loginkey.js.map +1 -0
  94. package/dist/tools/compute-placement.d.ts +3 -0
  95. package/dist/tools/compute-placement.js +196 -0
  96. package/dist/tools/compute-placement.js.map +1 -0
  97. package/dist/tools/compute-publicip.d.ts +3 -0
  98. package/dist/tools/compute-publicip.js +97 -0
  99. package/dist/tools/compute-publicip.js.map +1 -0
  100. package/dist/tools/compute-server.d.ts +3 -0
  101. package/dist/tools/compute-server.js +445 -0
  102. package/dist/tools/compute-server.js.map +1 -0
  103. package/dist/tools/compute-server.test.d.ts +1 -0
  104. package/dist/tools/compute-server.test.js +224 -0
  105. package/dist/tools/compute-server.test.js.map +1 -0
  106. package/dist/tools/compute-storage.d.ts +3 -0
  107. package/dist/tools/compute-storage.js +240 -0
  108. package/dist/tools/compute-storage.js.map +1 -0
  109. package/dist/tools/containers-nks.d.ts +13 -0
  110. package/dist/tools/containers-nks.js +576 -0
  111. package/dist/tools/containers-nks.js.map +1 -0
  112. package/dist/tools/containers-registry.d.ts +3 -0
  113. package/dist/tools/containers-registry.js +181 -0
  114. package/dist/tools/containers-registry.js.map +1 -0
  115. package/dist/tools/database-cache.d.ts +3 -0
  116. package/dist/tools/database-cache.js +388 -0
  117. package/dist/tools/database-cache.js.map +1 -0
  118. package/dist/tools/database-mongodb.d.ts +3 -0
  119. package/dist/tools/database-mongodb.js +460 -0
  120. package/dist/tools/database-mongodb.js.map +1 -0
  121. package/dist/tools/database-mssql.d.ts +3 -0
  122. package/dist/tools/database-mssql.js +345 -0
  123. package/dist/tools/database-mssql.js.map +1 -0
  124. package/dist/tools/database-mysql.d.ts +3 -0
  125. package/dist/tools/database-mysql.js +500 -0
  126. package/dist/tools/database-mysql.js.map +1 -0
  127. package/dist/tools/database-postgresql.d.ts +3 -0
  128. package/dist/tools/database-postgresql.js +432 -0
  129. package/dist/tools/database-postgresql.js.map +1 -0
  130. package/dist/tools/global-dns.d.ts +3 -0
  131. package/dist/tools/global-dns.js +207 -0
  132. package/dist/tools/global-dns.js.map +1 -0
  133. package/dist/tools/global-edge.d.ts +3 -0
  134. package/dist/tools/global-edge.js +386 -0
  135. package/dist/tools/global-edge.js.map +1 -0
  136. package/dist/tools/global-traffic-manager.d.ts +3 -0
  137. package/dist/tools/global-traffic-manager.js +497 -0
  138. package/dist/tools/global-traffic-manager.js.map +1 -0
  139. package/dist/tools/index.d.ts +63 -0
  140. package/dist/tools/index.js +64 -0
  141. package/dist/tools/index.js.map +1 -0
  142. package/dist/tools/kms.d.ts +8 -0
  143. package/dist/tools/kms.js +529 -0
  144. package/dist/tools/kms.js.map +1 -0
  145. package/dist/tools/loadbalancer.d.ts +3 -0
  146. package/dist/tools/loadbalancer.js +341 -0
  147. package/dist/tools/loadbalancer.js.map +1 -0
  148. package/dist/tools/log-analytics.d.ts +3 -0
  149. package/dist/tools/log-analytics.js +183 -0
  150. package/dist/tools/log-analytics.js.map +1 -0
  151. package/dist/tools/media-imageoptimizer.d.ts +3 -0
  152. package/dist/tools/media-imageoptimizer.js +187 -0
  153. package/dist/tools/media-imageoptimizer.js.map +1 -0
  154. package/dist/tools/media-livestation.d.ts +3 -0
  155. package/dist/tools/media-livestation.js +252 -0
  156. package/dist/tools/media-livestation.js.map +1 -0
  157. package/dist/tools/media-vodstation.d.ts +3 -0
  158. package/dist/tools/media-vodstation.js +197 -0
  159. package/dist/tools/media-vodstation.js.map +1 -0
  160. package/dist/tools/nat-gateway.d.ts +3 -0
  161. package/dist/tools/nat-gateway.js +91 -0
  162. package/dist/tools/nat-gateway.js.map +1 -0
  163. package/dist/tools/network-acl.d.ts +3 -0
  164. package/dist/tools/network-acl.js +322 -0
  165. package/dist/tools/network-acl.js.map +1 -0
  166. package/dist/tools/network-interface.d.ts +3 -0
  167. package/dist/tools/network-interface.js +193 -0
  168. package/dist/tools/network-interface.js.map +1 -0
  169. package/dist/tools/private-ca.d.ts +8 -0
  170. package/dist/tools/private-ca.js +368 -0
  171. package/dist/tools/private-ca.js.map +1 -0
  172. package/dist/tools/resource-manager.d.ts +3 -0
  173. package/dist/tools/resource-manager.js +151 -0
  174. package/dist/tools/resource-manager.js.map +1 -0
  175. package/dist/tools/route-table.d.ts +3 -0
  176. package/dist/tools/route-table.js +205 -0
  177. package/dist/tools/route-table.js.map +1 -0
  178. package/dist/tools/security-monitoring.d.ts +3 -0
  179. package/dist/tools/security-monitoring.js +182 -0
  180. package/dist/tools/security-monitoring.js.map +1 -0
  181. package/dist/tools/sens.d.ts +3 -0
  182. package/dist/tools/sens.js +240 -0
  183. package/dist/tools/sens.js.map +1 -0
  184. package/dist/tools/sourcebuild.d.ts +3 -0
  185. package/dist/tools/sourcebuild.js +481 -0
  186. package/dist/tools/sourcebuild.js.map +1 -0
  187. package/dist/tools/sourcecommit.d.ts +13 -0
  188. package/dist/tools/sourcecommit.js +228 -0
  189. package/dist/tools/sourcecommit.js.map +1 -0
  190. package/dist/tools/sourcedeploy.d.ts +3 -0
  191. package/dist/tools/sourcedeploy.js +448 -0
  192. package/dist/tools/sourcedeploy.js.map +1 -0
  193. package/dist/tools/sourcepipeline.d.ts +12 -0
  194. package/dist/tools/sourcepipeline.js +357 -0
  195. package/dist/tools/sourcepipeline.js.map +1 -0
  196. package/dist/tools/storage-archive.d.ts +3 -0
  197. package/dist/tools/storage-archive.js +337 -0
  198. package/dist/tools/storage-archive.js.map +1 -0
  199. package/dist/tools/storage-nas.d.ts +3 -0
  200. package/dist/tools/storage-nas.js +288 -0
  201. package/dist/tools/storage-nas.js.map +1 -0
  202. package/dist/tools/storage-ncloud.d.ts +3 -0
  203. package/dist/tools/storage-ncloud.js +864 -0
  204. package/dist/tools/storage-ncloud.js.map +1 -0
  205. package/dist/tools/storage-object.d.ts +3 -0
  206. package/dist/tools/storage-object.js +982 -0
  207. package/dist/tools/storage-object.js.map +1 -0
  208. package/dist/tools/sub-account.d.ts +3 -0
  209. package/dist/tools/sub-account.js +311 -0
  210. package/dist/tools/sub-account.js.map +1 -0
  211. package/dist/tools/target-group.d.ts +3 -0
  212. package/dist/tools/target-group.js +207 -0
  213. package/dist/tools/target-group.js.map +1 -0
  214. package/dist/tools/vpc-peering.d.ts +3 -0
  215. package/dist/tools/vpc-peering.js +109 -0
  216. package/dist/tools/vpc-peering.js.map +1 -0
  217. package/dist/tools/vpc.d.ts +3 -0
  218. package/dist/tools/vpc.js +194 -0
  219. package/dist/tools/vpc.js.map +1 -0
  220. package/package.json +53 -0
@@ -0,0 +1,497 @@
1
+ import { z } from "zod";
2
+ export function registerCloudFunctionsTools(server, client) {
3
+ // ─── Package Management Tools ──────────────────────────────────────────────
4
+ // ncloud_functions_list_packages — List all Cloud Functions packages
5
+ server.tool("ncloud_functions_list_packages", "List all Cloud Functions packages", {
6
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
7
+ }, async (params) => {
8
+ try {
9
+ const queryParams = {
10
+ platform: params.platform,
11
+ };
12
+ const result = await client.requestRaw("GET", "/api/v2/packages", queryParams);
13
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
14
+ }
15
+ catch (error) {
16
+ return { content: [{ type: "text", text: error.message }], isError: true };
17
+ }
18
+ });
19
+ // ncloud_functions_get_package — Get detailed information about a specific package
20
+ server.tool("ncloud_functions_get_package", "Get detailed information about a specific package", {
21
+ packageName: z.string().describe("Name of the package to retrieve"),
22
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
23
+ }, async (params) => {
24
+ try {
25
+ const queryParams = {
26
+ platform: params.platform,
27
+ };
28
+ const result = await client.requestRaw("GET", `/api/v2/packages/${encodeURIComponent(params.packageName)}`, queryParams);
29
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
30
+ }
31
+ catch (error) {
32
+ return { content: [{ type: "text", text: error.message }], isError: true };
33
+ }
34
+ });
35
+ // ncloud_functions_create_package — Create or update a Cloud Functions package
36
+ server.tool("ncloud_functions_create_package", "Create or update a Cloud Functions package", {
37
+ packageName: z.string().describe("Name of the package to create or update"),
38
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
39
+ description: z.string().optional().describe("Description of the package"),
40
+ parameters: z.record(z.unknown()).optional().describe("Default parameters for the package as a JSON object"),
41
+ }, async (params) => {
42
+ try {
43
+ const queryParams = {
44
+ platform: params.platform,
45
+ };
46
+ const body = {};
47
+ if (params.description !== undefined) {
48
+ body.description = params.description;
49
+ }
50
+ if (params.parameters !== undefined) {
51
+ body.parameters = params.parameters;
52
+ }
53
+ const result = await client.requestRaw("PUT", `/api/v2/packages/${encodeURIComponent(params.packageName)}`, queryParams, body);
54
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
55
+ }
56
+ catch (error) {
57
+ return { content: [{ type: "text", text: error.message }], isError: true };
58
+ }
59
+ });
60
+ // ncloud_functions_delete_package — Permanently delete a Cloud Functions package (destructive)
61
+ server.tool("ncloud_functions_delete_package", "\u26a0\ufe0f Destructive: Permanently delete a Cloud Functions package. Set confirm=true to execute.", {
62
+ packageName: z.string().describe("Name of the package to delete"),
63
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
64
+ confirm: z.boolean().default(false).describe("Must be true to actually execute the destructive operation"),
65
+ }, async (params) => {
66
+ try {
67
+ if (!params.confirm) {
68
+ const message = `\u26a0\ufe0f This will permanently delete Cloud Functions package [${params.packageName}]. All actions within this package will also be removed.\n\nTo execute, call this tool again with confirm=true.`;
69
+ return { content: [{ type: "text", text: message }] };
70
+ }
71
+ const queryParams = {
72
+ platform: params.platform,
73
+ };
74
+ const result = await client.requestRaw("DELETE", `/api/v2/packages/${encodeURIComponent(params.packageName)}`, queryParams);
75
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
76
+ }
77
+ catch (error) {
78
+ return { content: [{ type: "text", text: error.message }], isError: true };
79
+ }
80
+ });
81
+ // ─── Action Management Tools ───────────────────────────────────────────────
82
+ // ncloud_functions_list_actions — List all actions in a package
83
+ server.tool("ncloud_functions_list_actions", "List all actions in a package (use '-' for unpackaged actions)", {
84
+ packageName: z.string().default("-").describe("Package name (use '-' for unpackaged actions)"),
85
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
86
+ }, async (params) => {
87
+ try {
88
+ const queryParams = {
89
+ platform: params.platform,
90
+ };
91
+ const result = await client.requestRaw("GET", `/api/v2/packages/${encodeURIComponent(params.packageName)}/actions`, queryParams);
92
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
93
+ }
94
+ catch (error) {
95
+ return { content: [{ type: "text", text: error.message }], isError: true };
96
+ }
97
+ });
98
+ // ncloud_functions_get_action — Get detailed information about a specific action
99
+ server.tool("ncloud_functions_get_action", "Get detailed information about a specific action including source code", {
100
+ packageName: z.string().describe("Package name containing the action"),
101
+ actionName: z.string().describe("Name of the action to retrieve"),
102
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
103
+ }, async (params) => {
104
+ try {
105
+ const queryParams = {
106
+ platform: params.platform,
107
+ };
108
+ const result = await client.requestRaw("GET", `/api/v2/packages/${encodeURIComponent(params.packageName)}/actions/${encodeURIComponent(params.actionName)}`, queryParams);
109
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
110
+ }
111
+ catch (error) {
112
+ return { content: [{ type: "text", text: error.message }], isError: true };
113
+ }
114
+ });
115
+ // ncloud_functions_create_action — Create or update a Cloud Functions action
116
+ server.tool("ncloud_functions_create_action", "Create or update a Cloud Functions action (Basic or Sequence type)", {
117
+ packageName: z.string().default("-").describe("Package name (use '-' for unpackaged actions)"),
118
+ actionName: z.string().describe("Name of the action to create or update"),
119
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
120
+ exec_kind: z.string().describe("Runtime string (e.g. 'nodejs:16', 'python:3.9', 'java:11', 'dotnet:6.0', or 'sequence')"),
121
+ exec_code: z.string().optional().describe("Source code string (required for basic actions)"),
122
+ exec_binary: z.boolean().optional().describe("Whether code is base64 encoded"),
123
+ exec_main: z.string().optional().describe("Entry function name (required for basic actions)"),
124
+ exec_components: z.array(z.string()).optional().describe("Array of '{packageName}/{actionName}' for sequence actions"),
125
+ limits_timeout: z.number().optional().describe("Timeout in milliseconds (500~300000)"),
126
+ limits_memory: z.number().optional().describe("Memory in MB (128, 256, 512, or 1024)"),
127
+ description: z.string().optional().describe("Description of the action"),
128
+ web: z.boolean().optional().describe("Enable web action"),
129
+ raw_http: z.boolean().optional().describe("Enable raw HTTP handling"),
130
+ custom_options: z.boolean().optional().describe("Enable custom options"),
131
+ parameters: z.record(z.unknown()).optional().describe("Default parameters as a JSON object"),
132
+ vpc_no: z.number().optional().describe("VPC number"),
133
+ subnet_no: z.number().optional().describe("Subnet number"),
134
+ }, async (params) => {
135
+ try {
136
+ const queryParams = {
137
+ platform: params.platform,
138
+ };
139
+ const exec = { kind: params.exec_kind };
140
+ if (params.exec_code !== undefined) {
141
+ exec.code = params.exec_code;
142
+ }
143
+ if (params.exec_binary !== undefined) {
144
+ exec.binary = params.exec_binary;
145
+ }
146
+ if (params.exec_main !== undefined) {
147
+ exec.main = params.exec_main;
148
+ }
149
+ if (params.exec_components !== undefined) {
150
+ exec.components = params.exec_components;
151
+ }
152
+ const body = { exec };
153
+ if (params.limits_timeout !== undefined || params.limits_memory !== undefined) {
154
+ const limits = {};
155
+ if (params.limits_timeout !== undefined) {
156
+ limits.timeout = params.limits_timeout;
157
+ }
158
+ if (params.limits_memory !== undefined) {
159
+ limits.memory = params.limits_memory;
160
+ }
161
+ body.limits = limits;
162
+ }
163
+ if (params.description !== undefined) {
164
+ body.description = params.description;
165
+ }
166
+ if (params.web !== undefined) {
167
+ body.web = params.web;
168
+ }
169
+ if (params.raw_http !== undefined) {
170
+ body.raw_http = params.raw_http;
171
+ }
172
+ if (params.custom_options !== undefined) {
173
+ body.custom_options = params.custom_options;
174
+ }
175
+ if (params.parameters !== undefined) {
176
+ body.parameters = params.parameters;
177
+ }
178
+ if (params.vpc_no !== undefined) {
179
+ body.vpc_no = params.vpc_no;
180
+ }
181
+ if (params.subnet_no !== undefined) {
182
+ body.subnet_no = params.subnet_no;
183
+ }
184
+ const result = await client.requestRaw("PUT", `/api/v2/packages/${encodeURIComponent(params.packageName)}/actions/${encodeURIComponent(params.actionName)}`, queryParams, body);
185
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
186
+ }
187
+ catch (error) {
188
+ return { content: [{ type: "text", text: error.message }], isError: true };
189
+ }
190
+ });
191
+ // ncloud_functions_delete_action — Permanently delete a Cloud Functions action (destructive)
192
+ server.tool("ncloud_functions_delete_action", "\u26a0\ufe0f Destructive: Permanently delete a Cloud Functions action. Set confirm=true to execute.", {
193
+ packageName: z.string().describe("Package name containing the action"),
194
+ actionName: z.string().describe("Name of the action to delete"),
195
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
196
+ confirm: z.boolean().default(false).describe("Must be true to actually execute the destructive operation"),
197
+ }, async (params) => {
198
+ try {
199
+ if (!params.confirm) {
200
+ const message = `\u26a0\ufe0f This will permanently delete Cloud Functions action [${params.actionName}] from package [${params.packageName}].\n\nTo execute, call this tool again with confirm=true.`;
201
+ return { content: [{ type: "text", text: message }] };
202
+ }
203
+ const queryParams = {
204
+ platform: params.platform,
205
+ };
206
+ const result = await client.requestRaw("DELETE", `/api/v2/packages/${encodeURIComponent(params.packageName)}/actions/${encodeURIComponent(params.actionName)}`, queryParams);
207
+ return { content: [{ type: "text", text: result ? JSON.stringify(result, null, 2) : "Action deleted successfully (204 No Content)" }] };
208
+ }
209
+ catch (error) {
210
+ return { content: [{ type: "text", text: error.message }], isError: true };
211
+ }
212
+ });
213
+ // ─── Action Invocation Tools ───────────────────────────────────────────────
214
+ // ncloud_functions_invoke_action — Invoke a Cloud Functions action
215
+ server.tool("ncloud_functions_invoke_action", "Invoke a Cloud Functions action and return the execution result", {
216
+ packageName: z.string().describe("Package name containing the action"),
217
+ actionName: z.string().describe("Name of the action to invoke"),
218
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
219
+ timeout: z.number().min(0).max(60000).optional().default(60000).describe("Invocation timeout in milliseconds (0~60000, default: 60000)"),
220
+ params: z.record(z.unknown()).optional().describe("Runtime parameters to pass to the action"),
221
+ }, async (params) => {
222
+ try {
223
+ const queryParams = {
224
+ platform: params.platform,
225
+ timeout: String(params.timeout),
226
+ };
227
+ const body = params.params ?? {};
228
+ const result = await client.requestRaw("POST", `/api/v2/packages/${encodeURIComponent(params.packageName)}/actions/${encodeURIComponent(params.actionName)}`, queryParams, body);
229
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
230
+ }
231
+ catch (error) {
232
+ return { content: [{ type: "text", text: error.message }], isError: true };
233
+ }
234
+ });
235
+ // ─── Trigger Management Tools ──────────────────────────────────────────────
236
+ // ncloud_functions_list_triggers — List all Cloud Functions triggers
237
+ server.tool("ncloud_functions_list_triggers", "List all Cloud Functions triggers", {
238
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
239
+ }, async (params) => {
240
+ try {
241
+ const queryParams = {
242
+ platform: params.platform,
243
+ };
244
+ const result = await client.requestRaw("GET", "/api/v2/triggers", queryParams);
245
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
246
+ }
247
+ catch (error) {
248
+ return { content: [{ type: "text", text: error.message }], isError: true };
249
+ }
250
+ });
251
+ // ncloud_functions_get_trigger — Get detailed information about a specific trigger
252
+ server.tool("ncloud_functions_get_trigger", "Get detailed information about a specific trigger", {
253
+ triggerName: z.string().describe("Name of the trigger to retrieve"),
254
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
255
+ }, async (params) => {
256
+ try {
257
+ const queryParams = {
258
+ platform: params.platform,
259
+ };
260
+ const result = await client.requestRaw("GET", `/api/v2/triggers/${encodeURIComponent(params.triggerName)}`, queryParams);
261
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
262
+ }
263
+ catch (error) {
264
+ return { content: [{ type: "text", text: error.message }], isError: true };
265
+ }
266
+ });
267
+ // ncloud_functions_create_trigger — Create or update a Cloud Functions trigger
268
+ server.tool("ncloud_functions_create_trigger", "Create or update a Cloud Functions trigger", {
269
+ triggerName: z.string().describe("Name of the trigger to create or update"),
270
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
271
+ type: z.enum(["cron", "github", "insight", "object_storage", "source_commit"]).describe("Trigger type"),
272
+ trigger: z.record(z.unknown()).describe("Trigger configuration object (structure varies by type)"),
273
+ link: z.record(z.unknown()).optional().describe("Link configuration for GitHub type: { productId, apiName, stageName }"),
274
+ }, async (params) => {
275
+ try {
276
+ const queryParams = {
277
+ platform: params.platform,
278
+ type: params.type,
279
+ };
280
+ const body = {
281
+ trigger: params.trigger,
282
+ };
283
+ if (params.link !== undefined) {
284
+ body.link = params.link;
285
+ }
286
+ const result = await client.requestRaw("PUT", `/api/v2/triggers/${encodeURIComponent(params.triggerName)}`, queryParams, body);
287
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
288
+ }
289
+ catch (error) {
290
+ return { content: [{ type: "text", text: error.message }], isError: true };
291
+ }
292
+ });
293
+ // ncloud_functions_invoke_trigger — Manually invoke a Cloud Functions trigger
294
+ server.tool("ncloud_functions_invoke_trigger", "Manually invoke a Cloud Functions trigger", {
295
+ triggerName: z.string().describe("Name of the trigger to invoke"),
296
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
297
+ params: z.record(z.unknown()).optional().describe("Runtime parameters to pass to the trigger"),
298
+ }, async (params) => {
299
+ try {
300
+ const queryParams = {
301
+ platform: params.platform,
302
+ };
303
+ const body = params.params ?? {};
304
+ const result = await client.requestRaw("POST", `/api/v2/triggers/${encodeURIComponent(params.triggerName)}`, queryParams, body);
305
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
306
+ }
307
+ catch (error) {
308
+ return { content: [{ type: "text", text: error.message }], isError: true };
309
+ }
310
+ });
311
+ // ncloud_functions_delete_trigger — Permanently delete a Cloud Functions trigger (destructive)
312
+ server.tool("ncloud_functions_delete_trigger", "\u26a0\ufe0f Destructive: Permanently delete a Cloud Functions trigger. Set confirm=true to execute.", {
313
+ triggerName: z.string().describe("Name of the trigger to delete"),
314
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
315
+ confirm: z.boolean().default(false).describe("Must be true to actually execute the destructive operation"),
316
+ }, async (params) => {
317
+ try {
318
+ if (!params.confirm) {
319
+ const message = `\u26a0\ufe0f This will permanently delete Cloud Functions trigger [${params.triggerName}].\n\nTo execute, call this tool again with confirm=true.`;
320
+ return { content: [{ type: "text", text: message }] };
321
+ }
322
+ const queryParams = {
323
+ platform: params.platform,
324
+ };
325
+ const result = await client.requestRaw("DELETE", `/api/v2/triggers/${encodeURIComponent(params.triggerName)}`, queryParams);
326
+ return { content: [{ type: "text", text: result ? JSON.stringify(result, null, 2) : "Trigger deleted successfully (204 No Content)" }] };
327
+ }
328
+ catch (error) {
329
+ return { content: [{ type: "text", text: error.message }], isError: true };
330
+ }
331
+ });
332
+ // ─── Trigger-Action Linking Tools ──────────────────────────────────────────
333
+ // ncloud_functions_link_trigger_action — Link an action to a trigger
334
+ server.tool("ncloud_functions_link_trigger_action", "Link an action to a trigger for event-based execution", {
335
+ triggerName: z.string().describe("Name of the trigger"),
336
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
337
+ actionName: z.string().describe("Action name in \"{packageName}/{actionName}\" format"),
338
+ }, async (params) => {
339
+ try {
340
+ const queryParams = {
341
+ platform: params.platform,
342
+ };
343
+ const body = {
344
+ actionName: params.actionName,
345
+ };
346
+ const result = await client.requestRaw("POST", `/api/v2/triggers/${encodeURIComponent(params.triggerName)}/link`, queryParams, body);
347
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
348
+ }
349
+ catch (error) {
350
+ return { content: [{ type: "text", text: error.message }], isError: true };
351
+ }
352
+ });
353
+ // ncloud_functions_unlink_trigger_action — Unlink an action from a trigger (destructive)
354
+ server.tool("ncloud_functions_unlink_trigger_action", "\u26a0\ufe0f Destructive: Unlink an action from a trigger. Set confirm=true to execute.", {
355
+ triggerName: z.string().describe("Name of the trigger"),
356
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
357
+ actionName: z.string().describe("Action name in \"{packageName}/{actionName}\" format"),
358
+ confirm: z.boolean().default(false).describe("Must be true to actually execute the destructive operation"),
359
+ }, async (params) => {
360
+ try {
361
+ if (!params.confirm) {
362
+ const message = `\u26a0\ufe0f This will unlink action [${params.actionName}] from trigger [${params.triggerName}].\n\nTo execute, call this tool again with confirm=true.`;
363
+ return { content: [{ type: "text", text: message }] };
364
+ }
365
+ const queryParams = {
366
+ platform: params.platform,
367
+ actionName: params.actionName,
368
+ };
369
+ const result = await client.requestRaw("DELETE", `/api/v2/triggers/${encodeURIComponent(params.triggerName)}/link`, queryParams);
370
+ return { content: [{ type: "text", text: result ? JSON.stringify(result, null, 2) : "Action unlinked from trigger successfully (204 No Content)" }] };
371
+ }
372
+ catch (error) {
373
+ return { content: [{ type: "text", text: error.message }], isError: true };
374
+ }
375
+ });
376
+ // ─── Activation (Execution History) Tools ──────────────────────────────────
377
+ // ncloud_functions_get_action_activations — Get activation history for a specific action
378
+ server.tool("ncloud_functions_get_action_activations", "Get activation (execution) history for a specific action", {
379
+ packageName: z.string().describe("Package name containing the action"),
380
+ actionName: z.string().describe("Name of the action"),
381
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
382
+ pageNo: z.number().optional().describe("Page number for pagination"),
383
+ pageSize: z.number().optional().describe("Page size for pagination"),
384
+ start: z.string().optional().describe("Start time filter (format: yyyy-MM-ddTHH:mm:ss)"),
385
+ end: z.string().optional().describe("End time filter (format: yyyy-MM-ddTHH:mm:ss)"),
386
+ }, async (params) => {
387
+ try {
388
+ const queryParams = {
389
+ platform: params.platform,
390
+ };
391
+ if (params.pageNo !== undefined)
392
+ queryParams.pageNo = String(params.pageNo);
393
+ if (params.pageSize !== undefined)
394
+ queryParams.pageSize = String(params.pageSize);
395
+ if (params.start !== undefined)
396
+ queryParams.start = params.start;
397
+ if (params.end !== undefined)
398
+ queryParams.end = params.end;
399
+ const result = await client.requestRaw("GET", `/api/v2/packages/${encodeURIComponent(params.packageName)}/actions/${encodeURIComponent(params.actionName)}/activations`, queryParams);
400
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
401
+ }
402
+ catch (error) {
403
+ return { content: [{ type: "text", text: error.message }], isError: true };
404
+ }
405
+ });
406
+ // ncloud_functions_get_action_activation_detail — Get detailed information about a specific action activation
407
+ server.tool("ncloud_functions_get_action_activation_detail", "Get detailed information about a specific action activation", {
408
+ packageName: z.string().describe("Package name containing the action"),
409
+ actionName: z.string().describe("Name of the action"),
410
+ activationId: z.string().describe("Activation ID to retrieve details for"),
411
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
412
+ }, async (params) => {
413
+ try {
414
+ const queryParams = {
415
+ platform: params.platform,
416
+ };
417
+ const result = await client.requestRaw("GET", `/api/v2/packages/${encodeURIComponent(params.packageName)}/actions/${encodeURIComponent(params.actionName)}/activations/${encodeURIComponent(params.activationId)}`, queryParams);
418
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
419
+ }
420
+ catch (error) {
421
+ return { content: [{ type: "text", text: error.message }], isError: true };
422
+ }
423
+ });
424
+ // ncloud_functions_get_trigger_activations — Get activation history for a specific trigger
425
+ server.tool("ncloud_functions_get_trigger_activations", "Get activation history for a specific trigger", {
426
+ triggerName: z.string().describe("Name of the trigger"),
427
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
428
+ pageNo: z.number().optional().describe("Page number for pagination"),
429
+ pageSize: z.number().optional().describe("Page size for pagination"),
430
+ start: z.string().optional().describe("Start time filter (format: yyyy-MM-ddTHH:mm:ss)"),
431
+ end: z.string().optional().describe("End time filter (format: yyyy-MM-ddTHH:mm:ss)"),
432
+ }, async (params) => {
433
+ try {
434
+ const queryParams = {
435
+ platform: params.platform,
436
+ };
437
+ if (params.pageNo !== undefined)
438
+ queryParams.pageNo = String(params.pageNo);
439
+ if (params.pageSize !== undefined)
440
+ queryParams.pageSize = String(params.pageSize);
441
+ if (params.start !== undefined)
442
+ queryParams.start = params.start;
443
+ if (params.end !== undefined)
444
+ queryParams.end = params.end;
445
+ const result = await client.requestRaw("GET", `/api/v2/triggers/${encodeURIComponent(params.triggerName)}/activations`, queryParams);
446
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
447
+ }
448
+ catch (error) {
449
+ return { content: [{ type: "text", text: error.message }], isError: true };
450
+ }
451
+ });
452
+ // ncloud_functions_get_trigger_activation_detail — Get detailed information about a specific trigger activation
453
+ server.tool("ncloud_functions_get_trigger_activation_detail", "Get detailed information about a specific trigger activation", {
454
+ triggerName: z.string().describe("Name of the trigger"),
455
+ activationId: z.string().describe("Activation ID to retrieve details for"),
456
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
457
+ }, async (params) => {
458
+ try {
459
+ const queryParams = {
460
+ platform: params.platform,
461
+ };
462
+ const result = await client.requestRaw("GET", `/api/v2/triggers/${encodeURIComponent(params.triggerName)}/activations/${encodeURIComponent(params.activationId)}`, queryParams);
463
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
464
+ }
465
+ catch (error) {
466
+ return { content: [{ type: "text", text: error.message }], isError: true };
467
+ }
468
+ });
469
+ // ncloud_functions_get_activations — Get all activation history across all actions
470
+ server.tool("ncloud_functions_get_activations", "Get all activation history across all actions (last 1 month)", {
471
+ platform: z.enum(["vpc", "classic"]).optional().default("vpc").describe("Platform type (default: vpc)"),
472
+ pageNo: z.number().optional().describe("Page number for pagination"),
473
+ pageSize: z.number().optional().describe("Page size for pagination"),
474
+ start: z.string().optional().describe("Start time filter (format: yyyy-MM-ddTHH:mm:ss)"),
475
+ end: z.string().optional().describe("End time filter (format: yyyy-MM-ddTHH:mm:ss)"),
476
+ }, async (params) => {
477
+ try {
478
+ const queryParams = {
479
+ platform: params.platform,
480
+ };
481
+ if (params.pageNo !== undefined)
482
+ queryParams.pageNo = String(params.pageNo);
483
+ if (params.pageSize !== undefined)
484
+ queryParams.pageSize = String(params.pageSize);
485
+ if (params.start !== undefined)
486
+ queryParams.start = params.start;
487
+ if (params.end !== undefined)
488
+ queryParams.end = params.end;
489
+ const result = await client.requestRaw("GET", "/api/v2/activations", queryParams);
490
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
491
+ }
492
+ catch (error) {
493
+ return { content: [{ type: "text", text: error.message }], isError: true };
494
+ }
495
+ });
496
+ }
497
+ //# sourceMappingURL=cloud-functions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cloud-functions.js","sourceRoot":"","sources":["../../src/tools/cloud-functions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { NcloudClient } from "../client/ncloud-client.js";
3
+ export declare function registerCloudInsightIntegrationTools(server: McpServer, client: NcloudClient): void;