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.
- package/LICENSE +21 -0
- package/README.md +159 -0
- package/README_EN.md +159 -0
- package/dist/auth/signature.d.ts +16 -0
- package/dist/auth/signature.js +18 -0
- package/dist/auth/signature.js.map +1 -0
- package/dist/auth/signature.test.d.ts +1 -0
- package/dist/auth/signature.test.js +90 -0
- package/dist/auth/signature.test.js.map +1 -0
- package/dist/client/ncloud-client.d.ts +27 -0
- package/dist/client/ncloud-client.js +270 -0
- package/dist/client/ncloud-client.js.map +1 -0
- package/dist/client/ncloud-client.test.d.ts +1 -0
- package/dist/client/ncloud-client.test.js +477 -0
- package/dist/client/ncloud-client.test.js.map +1 -0
- package/dist/client/s3-compatible-client.d.ts +49 -0
- package/dist/client/s3-compatible-client.js +210 -0
- package/dist/client/s3-compatible-client.js.map +1 -0
- package/dist/client/swift-compatible-client.d.ts +68 -0
- package/dist/client/swift-compatible-client.js +173 -0
- package/dist/client/swift-compatible-client.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +362 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/acg.d.ts +3 -0
- package/dist/tools/acg.js +220 -0
- package/dist/tools/acg.js.map +1 -0
- package/dist/tools/activity-tracer.d.ts +3 -0
- package/dist/tools/activity-tracer.js +77 -0
- package/dist/tools/activity-tracer.js.map +1 -0
- package/dist/tools/analytics-cdss.d.ts +3 -0
- package/dist/tools/analytics-cdss.js +618 -0
- package/dist/tools/analytics-cdss.js.map +1 -0
- package/dist/tools/analytics-datacatalog.d.ts +10 -0
- package/dist/tools/analytics-datacatalog.js +409 -0
- package/dist/tools/analytics-datacatalog.js.map +1 -0
- package/dist/tools/analytics-dataflow.d.ts +16 -0
- package/dist/tools/analytics-dataflow.js +478 -0
- package/dist/tools/analytics-dataflow.js.map +1 -0
- package/dist/tools/analytics-dataforest.d.ts +10 -0
- package/dist/tools/analytics-dataforest.js +379 -0
- package/dist/tools/analytics-dataforest.js.map +1 -0
- package/dist/tools/analytics-dataquery.d.ts +16 -0
- package/dist/tools/analytics-dataquery.js +143 -0
- package/dist/tools/analytics-dataquery.js.map +1 -0
- package/dist/tools/analytics-datastream.d.ts +13 -0
- package/dist/tools/analytics-datastream.js +359 -0
- package/dist/tools/analytics-datastream.js.map +1 -0
- package/dist/tools/analytics-hadoop.d.ts +12 -0
- package/dist/tools/analytics-hadoop.js +450 -0
- package/dist/tools/analytics-hadoop.js.map +1 -0
- package/dist/tools/analytics-ses.d.ts +3 -0
- package/dist/tools/analytics-ses.js +653 -0
- package/dist/tools/analytics-ses.js.map +1 -0
- package/dist/tools/api-gateway.d.ts +3 -0
- package/dist/tools/api-gateway.js +202 -0
- package/dist/tools/api-gateway.js.map +1 -0
- package/dist/tools/autoscaling.d.ts +3 -0
- package/dist/tools/autoscaling.js +430 -0
- package/dist/tools/autoscaling.js.map +1 -0
- package/dist/tools/billing.d.ts +14 -0
- package/dist/tools/billing.js +545 -0
- package/dist/tools/billing.js.map +1 -0
- package/dist/tools/certificate-manager.d.ts +18 -0
- package/dist/tools/certificate-manager.js +84 -0
- package/dist/tools/certificate-manager.js.map +1 -0
- package/dist/tools/cloud-advisor.d.ts +3 -0
- package/dist/tools/cloud-advisor.js +202 -0
- package/dist/tools/cloud-advisor.js.map +1 -0
- package/dist/tools/cloud-functions.d.ts +3 -0
- package/dist/tools/cloud-functions.js +497 -0
- package/dist/tools/cloud-functions.js.map +1 -0
- package/dist/tools/cloud-insight-integration.d.ts +3 -0
- package/dist/tools/cloud-insight-integration.js +90 -0
- package/dist/tools/cloud-insight-integration.js.map +1 -0
- package/dist/tools/cloud-insight-plugin.d.ts +3 -0
- package/dist/tools/cloud-insight-plugin.js +600 -0
- package/dist/tools/cloud-insight-plugin.js.map +1 -0
- package/dist/tools/cloud-insight-rule.d.ts +3 -0
- package/dist/tools/cloud-insight-rule.js +570 -0
- package/dist/tools/cloud-insight-rule.js.map +1 -0
- package/dist/tools/cloud-insight.d.ts +3 -0
- package/dist/tools/cloud-insight.js +246 -0
- package/dist/tools/cloud-insight.js.map +1 -0
- package/dist/tools/common.d.ts +3 -0
- package/dist/tools/common.js +120 -0
- package/dist/tools/common.js.map +1 -0
- package/dist/tools/compute-initscript.d.ts +3 -0
- package/dist/tools/compute-initscript.js +62 -0
- package/dist/tools/compute-initscript.js.map +1 -0
- package/dist/tools/compute-loginkey.d.ts +3 -0
- package/dist/tools/compute-loginkey.js +59 -0
- package/dist/tools/compute-loginkey.js.map +1 -0
- package/dist/tools/compute-placement.d.ts +3 -0
- package/dist/tools/compute-placement.js +196 -0
- package/dist/tools/compute-placement.js.map +1 -0
- package/dist/tools/compute-publicip.d.ts +3 -0
- package/dist/tools/compute-publicip.js +97 -0
- package/dist/tools/compute-publicip.js.map +1 -0
- package/dist/tools/compute-server.d.ts +3 -0
- package/dist/tools/compute-server.js +445 -0
- package/dist/tools/compute-server.js.map +1 -0
- package/dist/tools/compute-server.test.d.ts +1 -0
- package/dist/tools/compute-server.test.js +224 -0
- package/dist/tools/compute-server.test.js.map +1 -0
- package/dist/tools/compute-storage.d.ts +3 -0
- package/dist/tools/compute-storage.js +240 -0
- package/dist/tools/compute-storage.js.map +1 -0
- package/dist/tools/containers-nks.d.ts +13 -0
- package/dist/tools/containers-nks.js +576 -0
- package/dist/tools/containers-nks.js.map +1 -0
- package/dist/tools/containers-registry.d.ts +3 -0
- package/dist/tools/containers-registry.js +181 -0
- package/dist/tools/containers-registry.js.map +1 -0
- package/dist/tools/database-cache.d.ts +3 -0
- package/dist/tools/database-cache.js +388 -0
- package/dist/tools/database-cache.js.map +1 -0
- package/dist/tools/database-mongodb.d.ts +3 -0
- package/dist/tools/database-mongodb.js +460 -0
- package/dist/tools/database-mongodb.js.map +1 -0
- package/dist/tools/database-mssql.d.ts +3 -0
- package/dist/tools/database-mssql.js +345 -0
- package/dist/tools/database-mssql.js.map +1 -0
- package/dist/tools/database-mysql.d.ts +3 -0
- package/dist/tools/database-mysql.js +500 -0
- package/dist/tools/database-mysql.js.map +1 -0
- package/dist/tools/database-postgresql.d.ts +3 -0
- package/dist/tools/database-postgresql.js +432 -0
- package/dist/tools/database-postgresql.js.map +1 -0
- package/dist/tools/global-dns.d.ts +3 -0
- package/dist/tools/global-dns.js +207 -0
- package/dist/tools/global-dns.js.map +1 -0
- package/dist/tools/global-edge.d.ts +3 -0
- package/dist/tools/global-edge.js +386 -0
- package/dist/tools/global-edge.js.map +1 -0
- package/dist/tools/global-traffic-manager.d.ts +3 -0
- package/dist/tools/global-traffic-manager.js +497 -0
- package/dist/tools/global-traffic-manager.js.map +1 -0
- package/dist/tools/index.d.ts +63 -0
- package/dist/tools/index.js +64 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/kms.d.ts +8 -0
- package/dist/tools/kms.js +529 -0
- package/dist/tools/kms.js.map +1 -0
- package/dist/tools/loadbalancer.d.ts +3 -0
- package/dist/tools/loadbalancer.js +341 -0
- package/dist/tools/loadbalancer.js.map +1 -0
- package/dist/tools/log-analytics.d.ts +3 -0
- package/dist/tools/log-analytics.js +183 -0
- package/dist/tools/log-analytics.js.map +1 -0
- package/dist/tools/media-imageoptimizer.d.ts +3 -0
- package/dist/tools/media-imageoptimizer.js +187 -0
- package/dist/tools/media-imageoptimizer.js.map +1 -0
- package/dist/tools/media-livestation.d.ts +3 -0
- package/dist/tools/media-livestation.js +252 -0
- package/dist/tools/media-livestation.js.map +1 -0
- package/dist/tools/media-vodstation.d.ts +3 -0
- package/dist/tools/media-vodstation.js +197 -0
- package/dist/tools/media-vodstation.js.map +1 -0
- package/dist/tools/nat-gateway.d.ts +3 -0
- package/dist/tools/nat-gateway.js +91 -0
- package/dist/tools/nat-gateway.js.map +1 -0
- package/dist/tools/network-acl.d.ts +3 -0
- package/dist/tools/network-acl.js +322 -0
- package/dist/tools/network-acl.js.map +1 -0
- package/dist/tools/network-interface.d.ts +3 -0
- package/dist/tools/network-interface.js +193 -0
- package/dist/tools/network-interface.js.map +1 -0
- package/dist/tools/private-ca.d.ts +8 -0
- package/dist/tools/private-ca.js +368 -0
- package/dist/tools/private-ca.js.map +1 -0
- package/dist/tools/resource-manager.d.ts +3 -0
- package/dist/tools/resource-manager.js +151 -0
- package/dist/tools/resource-manager.js.map +1 -0
- package/dist/tools/route-table.d.ts +3 -0
- package/dist/tools/route-table.js +205 -0
- package/dist/tools/route-table.js.map +1 -0
- package/dist/tools/security-monitoring.d.ts +3 -0
- package/dist/tools/security-monitoring.js +182 -0
- package/dist/tools/security-monitoring.js.map +1 -0
- package/dist/tools/sens.d.ts +3 -0
- package/dist/tools/sens.js +240 -0
- package/dist/tools/sens.js.map +1 -0
- package/dist/tools/sourcebuild.d.ts +3 -0
- package/dist/tools/sourcebuild.js +481 -0
- package/dist/tools/sourcebuild.js.map +1 -0
- package/dist/tools/sourcecommit.d.ts +13 -0
- package/dist/tools/sourcecommit.js +228 -0
- package/dist/tools/sourcecommit.js.map +1 -0
- package/dist/tools/sourcedeploy.d.ts +3 -0
- package/dist/tools/sourcedeploy.js +448 -0
- package/dist/tools/sourcedeploy.js.map +1 -0
- package/dist/tools/sourcepipeline.d.ts +12 -0
- package/dist/tools/sourcepipeline.js +357 -0
- package/dist/tools/sourcepipeline.js.map +1 -0
- package/dist/tools/storage-archive.d.ts +3 -0
- package/dist/tools/storage-archive.js +337 -0
- package/dist/tools/storage-archive.js.map +1 -0
- package/dist/tools/storage-nas.d.ts +3 -0
- package/dist/tools/storage-nas.js +288 -0
- package/dist/tools/storage-nas.js.map +1 -0
- package/dist/tools/storage-ncloud.d.ts +3 -0
- package/dist/tools/storage-ncloud.js +864 -0
- package/dist/tools/storage-ncloud.js.map +1 -0
- package/dist/tools/storage-object.d.ts +3 -0
- package/dist/tools/storage-object.js +982 -0
- package/dist/tools/storage-object.js.map +1 -0
- package/dist/tools/sub-account.d.ts +3 -0
- package/dist/tools/sub-account.js +311 -0
- package/dist/tools/sub-account.js.map +1 -0
- package/dist/tools/target-group.d.ts +3 -0
- package/dist/tools/target-group.js +207 -0
- package/dist/tools/target-group.js.map +1 -0
- package/dist/tools/vpc-peering.d.ts +3 -0
- package/dist/tools/vpc-peering.js +109 -0
- package/dist/tools/vpc-peering.js.map +1 -0
- package/dist/tools/vpc.d.ts +3 -0
- package/dist/tools/vpc.js +194 -0
- package/dist/tools/vpc.js.map +1 -0
- package/package.json +53 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,362 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
|
+
import { NcloudClient } from "./client/ncloud-client.js";
|
|
5
|
+
import { S3CompatibleClient } from "./client/s3-compatible-client.js";
|
|
6
|
+
import { SwiftCompatibleClient } from "./client/swift-compatible-client.js";
|
|
7
|
+
import { registerCommonTools, registerComputeServerTools, registerComputeStorageTools, registerComputePublicIpTools, registerComputeLoginKeyTools, registerComputeInitScriptTools, registerComputePlacementTools, registerVpcTools, registerAcgTools, registerNetworkAclTools, registerNatGatewayTools, registerRouteTableTools, registerVpcPeeringTools, registerNetworkInterfaceTools, registerLoadBalancerTools, registerTargetGroupTools, registerAutoScalingTools, registerDatabaseMysqlTools, registerDatabasePostgresqlTools, registerDatabaseMssqlTools, registerDatabaseMongodbTools, registerDatabaseCacheTools, registerStorageObjectTools, registerStorageNcloudTools, registerContainersNksTools, registerContainersRegistryTools, registerActivityTracerTools, registerStorageNasTools, registerLogAnalyticsTools, registerCertificateManagerTools, registerSecurityMonitoringTools, registerCloudInsightTools, registerCloudInsightRuleTools, registerCloudInsightPluginTools, registerCloudInsightIntegrationTools, registerSourceCommitTools, registerSourceBuildTools, registerSourceDeployTools, registerSourcePipelineTools, registerGlobalEdgeTools, registerVodStationTools, registerLiveStationTools, registerImageOptimizerTools, registerSubAccountTools, registerApiGatewayTools, registerSensTools, registerSearchEngineServiceTools, registerCloudHadoopTools, registerCloudDataStreamingTools, registerDataStreamTools, registerCloudFunctionsTools, registerResourceManagerTools, registerGlobalDnsTools, registerGlobalTrafficManagerTools, registerStorageArchiveTools, registerDataCatalogTools, registerDataForestTools, registerCloudAdvisorTools, registerDataFlowTools, registerDataQueryTools, registerPrivateCaTools, registerKmsTools, registerBillingTools } from "./tools/index.js";
|
|
8
|
+
// Validate required environment variables
|
|
9
|
+
const accessKey = process.env.NCLOUD_ACCESS_KEY;
|
|
10
|
+
const secretKey = process.env.NCLOUD_SECRET_KEY;
|
|
11
|
+
if (!accessKey) {
|
|
12
|
+
console.error("Error: NCLOUD_ACCESS_KEY 환경 변수가 설정되지 않았습니다.");
|
|
13
|
+
process.exit(1);
|
|
14
|
+
}
|
|
15
|
+
if (!secretKey) {
|
|
16
|
+
console.error("Error: NCLOUD_SECRET_KEY 환경 변수가 설정되지 않았습니다.");
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
19
|
+
const regionCode = process.env.NCLOUD_REGION ?? "KR";
|
|
20
|
+
const baseUrl = process.env.NCLOUD_API_URL ?? "https://ncloud.apigw.ntruss.com";
|
|
21
|
+
// Create NcloudClient for general APIs
|
|
22
|
+
const client = new NcloudClient({
|
|
23
|
+
accessKey,
|
|
24
|
+
secretKey,
|
|
25
|
+
baseUrl,
|
|
26
|
+
regionCode,
|
|
27
|
+
});
|
|
28
|
+
// Create NcloudClient for Cloud Insight APIs
|
|
29
|
+
const cloudInsightClient = new NcloudClient({
|
|
30
|
+
accessKey,
|
|
31
|
+
secretKey,
|
|
32
|
+
baseUrl: "https://cw.apigw.ntruss.com",
|
|
33
|
+
regionCode,
|
|
34
|
+
});
|
|
35
|
+
// Create NcloudClient for Container Registry APIs
|
|
36
|
+
const ncrClient = new NcloudClient({
|
|
37
|
+
accessKey,
|
|
38
|
+
secretKey,
|
|
39
|
+
baseUrl: "https://ncr.apigw.ntruss.com",
|
|
40
|
+
regionCode,
|
|
41
|
+
});
|
|
42
|
+
// Create NcloudClient for Cloud Activity Tracer APIs
|
|
43
|
+
const activityTracerClient = new NcloudClient({
|
|
44
|
+
accessKey,
|
|
45
|
+
secretKey,
|
|
46
|
+
baseUrl: "https://cloudactivitytracer.apigw.ntruss.com",
|
|
47
|
+
regionCode,
|
|
48
|
+
});
|
|
49
|
+
// Create NcloudClient for SourceCommit APIs
|
|
50
|
+
const sourceCommitClient = new NcloudClient({
|
|
51
|
+
accessKey,
|
|
52
|
+
secretKey,
|
|
53
|
+
baseUrl: "https://sourcecommit.apigw.ntruss.com",
|
|
54
|
+
regionCode,
|
|
55
|
+
});
|
|
56
|
+
// Create NcloudClient for SourceBuild APIs
|
|
57
|
+
const sourceBuildClient = new NcloudClient({
|
|
58
|
+
accessKey,
|
|
59
|
+
secretKey,
|
|
60
|
+
baseUrl: "https://sourcebuild.apigw.ntruss.com",
|
|
61
|
+
regionCode,
|
|
62
|
+
});
|
|
63
|
+
// Create NcloudClient for SourceDeploy APIs (VPC)
|
|
64
|
+
const sourceDeployClient = new NcloudClient({
|
|
65
|
+
accessKey,
|
|
66
|
+
secretKey,
|
|
67
|
+
baseUrl: "https://vpcsourcedeploy.apigw.ntruss.com",
|
|
68
|
+
regionCode,
|
|
69
|
+
});
|
|
70
|
+
// Create NcloudClient for SourcePipeline APIs (VPC)
|
|
71
|
+
const sourcePipelineClient = new NcloudClient({
|
|
72
|
+
accessKey,
|
|
73
|
+
secretKey,
|
|
74
|
+
baseUrl: "https://vpcsourcepipeline.apigw.ntruss.com",
|
|
75
|
+
regionCode,
|
|
76
|
+
});
|
|
77
|
+
// Create NcloudClient for Global Edge APIs
|
|
78
|
+
const globalEdgeClient = new NcloudClient({
|
|
79
|
+
accessKey,
|
|
80
|
+
secretKey,
|
|
81
|
+
baseUrl: "https://edge.apigw.ntruss.com",
|
|
82
|
+
regionCode,
|
|
83
|
+
});
|
|
84
|
+
// Create NcloudClient for VOD Station APIs
|
|
85
|
+
const vodStationClient = new NcloudClient({
|
|
86
|
+
accessKey,
|
|
87
|
+
secretKey,
|
|
88
|
+
baseUrl: "https://vodstation.apigw.ntruss.com",
|
|
89
|
+
regionCode,
|
|
90
|
+
});
|
|
91
|
+
// Create NcloudClient for Live Station APIs
|
|
92
|
+
const liveStationClient = new NcloudClient({
|
|
93
|
+
accessKey,
|
|
94
|
+
secretKey,
|
|
95
|
+
baseUrl: "https://livestation.apigw.ntruss.com",
|
|
96
|
+
regionCode,
|
|
97
|
+
});
|
|
98
|
+
// Create NcloudClient for Image Optimizer APIs
|
|
99
|
+
const imageOptimizerClient = new NcloudClient({
|
|
100
|
+
accessKey,
|
|
101
|
+
secretKey,
|
|
102
|
+
baseUrl: "https://imageoptimizer.apigw.ntruss.com",
|
|
103
|
+
regionCode,
|
|
104
|
+
});
|
|
105
|
+
// Create NcloudClient for Sub Account (IAM) APIs
|
|
106
|
+
const subAccountClient = new NcloudClient({
|
|
107
|
+
accessKey,
|
|
108
|
+
secretKey,
|
|
109
|
+
baseUrl: "https://subaccount.apigw.ntruss.com",
|
|
110
|
+
regionCode,
|
|
111
|
+
});
|
|
112
|
+
// Create NcloudClient for Certificate Manager APIs (v2)
|
|
113
|
+
const certificateManagerClient = new NcloudClient({
|
|
114
|
+
accessKey,
|
|
115
|
+
secretKey,
|
|
116
|
+
baseUrl: "https://certificatemanager.apigw.ntruss.com",
|
|
117
|
+
regionCode,
|
|
118
|
+
});
|
|
119
|
+
// Create NcloudClient for API Gateway APIs
|
|
120
|
+
const apiGatewayClient = new NcloudClient({
|
|
121
|
+
accessKey,
|
|
122
|
+
secretKey,
|
|
123
|
+
baseUrl: "https://apigateway.apigw.ntruss.com",
|
|
124
|
+
regionCode,
|
|
125
|
+
});
|
|
126
|
+
// Create NcloudClient for SENS APIs
|
|
127
|
+
const sensClient = new NcloudClient({
|
|
128
|
+
accessKey,
|
|
129
|
+
secretKey,
|
|
130
|
+
baseUrl: "https://sens.apigw.ntruss.com",
|
|
131
|
+
regionCode,
|
|
132
|
+
});
|
|
133
|
+
// Create S3CompatibleClient for Object Storage APIs
|
|
134
|
+
const s3Client = new S3CompatibleClient({
|
|
135
|
+
accessKey,
|
|
136
|
+
secretKey,
|
|
137
|
+
regionCode,
|
|
138
|
+
storageType: "object",
|
|
139
|
+
});
|
|
140
|
+
// Create S3CompatibleClient for Ncloud Storage APIs
|
|
141
|
+
const ncloudStorageClient = new S3CompatibleClient({
|
|
142
|
+
accessKey,
|
|
143
|
+
secretKey,
|
|
144
|
+
regionCode,
|
|
145
|
+
storageType: "ncloud",
|
|
146
|
+
});
|
|
147
|
+
// Create MCP Server
|
|
148
|
+
const server = new McpServer({
|
|
149
|
+
name: "ncloud-mcp-server",
|
|
150
|
+
version: "1.0.0",
|
|
151
|
+
});
|
|
152
|
+
// Register all tools
|
|
153
|
+
registerCommonTools(server, client);
|
|
154
|
+
registerComputeServerTools(server, client);
|
|
155
|
+
registerComputeStorageTools(server, client);
|
|
156
|
+
registerComputePublicIpTools(server, client);
|
|
157
|
+
registerComputeLoginKeyTools(server, client);
|
|
158
|
+
registerComputeInitScriptTools(server, client);
|
|
159
|
+
registerComputePlacementTools(server, client);
|
|
160
|
+
registerVpcTools(server, client);
|
|
161
|
+
registerAcgTools(server, client);
|
|
162
|
+
registerNetworkAclTools(server, client);
|
|
163
|
+
registerNatGatewayTools(server, client);
|
|
164
|
+
registerRouteTableTools(server, client);
|
|
165
|
+
registerVpcPeeringTools(server, client);
|
|
166
|
+
registerNetworkInterfaceTools(server, client);
|
|
167
|
+
registerLoadBalancerTools(server, client);
|
|
168
|
+
registerTargetGroupTools(server, client);
|
|
169
|
+
registerAutoScalingTools(server, client);
|
|
170
|
+
registerDatabaseMysqlTools(server, client);
|
|
171
|
+
registerDatabasePostgresqlTools(server, client);
|
|
172
|
+
registerDatabaseMssqlTools(server, client);
|
|
173
|
+
registerDatabaseMongodbTools(server, client);
|
|
174
|
+
registerDatabaseCacheTools(server, client);
|
|
175
|
+
registerStorageObjectTools(server, s3Client);
|
|
176
|
+
registerStorageNcloudTools(server, ncloudStorageClient);
|
|
177
|
+
// Create NcloudClient for NKS (Ncloud Kubernetes Service) APIs
|
|
178
|
+
const nksClient = new NcloudClient({
|
|
179
|
+
accessKey,
|
|
180
|
+
secretKey,
|
|
181
|
+
baseUrl: "https://nks.apigw.ntruss.com",
|
|
182
|
+
regionCode,
|
|
183
|
+
});
|
|
184
|
+
registerContainersNksTools(server, nksClient);
|
|
185
|
+
registerContainersRegistryTools(server, ncrClient);
|
|
186
|
+
registerActivityTracerTools(server, activityTracerClient);
|
|
187
|
+
registerStorageNasTools(server, client);
|
|
188
|
+
registerLogAnalyticsTools(server, client);
|
|
189
|
+
registerCertificateManagerTools(server, certificateManagerClient);
|
|
190
|
+
registerSecurityMonitoringTools(server, client);
|
|
191
|
+
registerCloudInsightTools(server, cloudInsightClient);
|
|
192
|
+
registerCloudInsightRuleTools(server, cloudInsightClient);
|
|
193
|
+
registerCloudInsightPluginTools(server, cloudInsightClient);
|
|
194
|
+
registerCloudInsightIntegrationTools(server, cloudInsightClient);
|
|
195
|
+
registerSourceCommitTools(server, sourceCommitClient);
|
|
196
|
+
registerSourceBuildTools(server, sourceBuildClient);
|
|
197
|
+
registerSourceDeployTools(server, sourceDeployClient);
|
|
198
|
+
registerSourcePipelineTools(server, sourcePipelineClient);
|
|
199
|
+
registerGlobalEdgeTools(server, globalEdgeClient);
|
|
200
|
+
registerVodStationTools(server, vodStationClient);
|
|
201
|
+
registerLiveStationTools(server, liveStationClient);
|
|
202
|
+
registerImageOptimizerTools(server, imageOptimizerClient);
|
|
203
|
+
registerSubAccountTools(server, subAccountClient);
|
|
204
|
+
registerApiGatewayTools(server, apiGatewayClient);
|
|
205
|
+
registerSensTools(server, sensClient);
|
|
206
|
+
// Create NcloudClient for Search Engine Service APIs
|
|
207
|
+
const sesClient = new NcloudClient({
|
|
208
|
+
accessKey,
|
|
209
|
+
secretKey,
|
|
210
|
+
baseUrl: "https://vpcsearchengine.apigw.ntruss.com",
|
|
211
|
+
regionCode,
|
|
212
|
+
});
|
|
213
|
+
registerSearchEngineServiceTools(server, sesClient);
|
|
214
|
+
registerCloudHadoopTools(server, client);
|
|
215
|
+
// Create NcloudClient for Cloud Data Streaming Service (CDSS) APIs
|
|
216
|
+
const cdssClient = new NcloudClient({
|
|
217
|
+
accessKey,
|
|
218
|
+
secretKey,
|
|
219
|
+
baseUrl: "https://clouddatastreamingservice.apigw.ntruss.com",
|
|
220
|
+
regionCode,
|
|
221
|
+
});
|
|
222
|
+
registerCloudDataStreamingTools(server, cdssClient);
|
|
223
|
+
// Create NcloudClient for Data Stream APIs (Topic, Connector, Schema)
|
|
224
|
+
const dataStreamClient = new NcloudClient({
|
|
225
|
+
accessKey,
|
|
226
|
+
secretKey,
|
|
227
|
+
baseUrl: "https://datastream.apigw.ntruss.com",
|
|
228
|
+
regionCode,
|
|
229
|
+
});
|
|
230
|
+
// Create NcloudClient for Data Stream Message API (different base URL)
|
|
231
|
+
const dataStreamMessageClient = new NcloudClient({
|
|
232
|
+
accessKey,
|
|
233
|
+
secretKey,
|
|
234
|
+
baseUrl: "https://api.datastream.naverncp.com",
|
|
235
|
+
regionCode,
|
|
236
|
+
});
|
|
237
|
+
registerDataStreamTools(server, dataStreamClient, dataStreamMessageClient);
|
|
238
|
+
// Create NcloudClient for Cloud Functions APIs (region-specific base URL)
|
|
239
|
+
const cloudFunctionsBaseUrlMap = {
|
|
240
|
+
KR: "https://cloudfunctions.apigw.ntruss.com",
|
|
241
|
+
SGN: "https://sg-cloudfunctions.apigw.ntruss.com",
|
|
242
|
+
JPN: "https://jp-cloudfunctions.apigw.ntruss.com",
|
|
243
|
+
};
|
|
244
|
+
const cloudFunctionsBaseUrl = cloudFunctionsBaseUrlMap[regionCode] ?? "https://cloudfunctions.apigw.ntruss.com";
|
|
245
|
+
const cloudFunctionsClient = new NcloudClient({
|
|
246
|
+
accessKey,
|
|
247
|
+
secretKey,
|
|
248
|
+
baseUrl: cloudFunctionsBaseUrl,
|
|
249
|
+
regionCode,
|
|
250
|
+
});
|
|
251
|
+
registerCloudFunctionsTools(server, cloudFunctionsClient);
|
|
252
|
+
// Create NcloudClient for Resource Manager APIs
|
|
253
|
+
const resourceManagerClient = new NcloudClient({
|
|
254
|
+
accessKey,
|
|
255
|
+
secretKey,
|
|
256
|
+
baseUrl: "https://resourcemanager.apigw.ntruss.com",
|
|
257
|
+
regionCode,
|
|
258
|
+
});
|
|
259
|
+
registerResourceManagerTools(server, resourceManagerClient);
|
|
260
|
+
// Create NcloudClient for Global DNS APIs
|
|
261
|
+
const globalDnsClient = new NcloudClient({
|
|
262
|
+
accessKey,
|
|
263
|
+
secretKey,
|
|
264
|
+
baseUrl: "https://globaldns.apigw.ntruss.com",
|
|
265
|
+
regionCode,
|
|
266
|
+
});
|
|
267
|
+
registerGlobalDnsTools(server, globalDnsClient);
|
|
268
|
+
// Create NcloudClient for Global Traffic Manager APIs
|
|
269
|
+
const gtmClient = new NcloudClient({
|
|
270
|
+
accessKey,
|
|
271
|
+
secretKey,
|
|
272
|
+
baseUrl: "https://globaltrafficmanager.apigw.ntruss.com",
|
|
273
|
+
regionCode,
|
|
274
|
+
});
|
|
275
|
+
registerGlobalTrafficManagerTools(server, gtmClient);
|
|
276
|
+
// Create NcloudClient for Data Catalog APIs
|
|
277
|
+
const dataCatalogClient = new NcloudClient({
|
|
278
|
+
accessKey,
|
|
279
|
+
secretKey,
|
|
280
|
+
baseUrl: "https://datacatalog.apigw.ntruss.com",
|
|
281
|
+
regionCode,
|
|
282
|
+
});
|
|
283
|
+
registerDataCatalogTools(server, dataCatalogClient);
|
|
284
|
+
// Create NcloudClient for Data Forest APIs
|
|
285
|
+
const dataForestClient = new NcloudClient({
|
|
286
|
+
accessKey,
|
|
287
|
+
secretKey,
|
|
288
|
+
baseUrl: "https://df.apigw.ntruss.com",
|
|
289
|
+
regionCode,
|
|
290
|
+
});
|
|
291
|
+
registerDataForestTools(server, dataForestClient);
|
|
292
|
+
// Create NcloudClient for Cloud Advisor APIs
|
|
293
|
+
const cloudAdvisorClient = new NcloudClient({
|
|
294
|
+
accessKey,
|
|
295
|
+
secretKey,
|
|
296
|
+
baseUrl: "https://cloud-advisor.apigw.ntruss.com",
|
|
297
|
+
regionCode,
|
|
298
|
+
});
|
|
299
|
+
registerCloudAdvisorTools(server, cloudAdvisorClient);
|
|
300
|
+
// Create NcloudClient for Data Flow APIs
|
|
301
|
+
const dataFlowClient = new NcloudClient({
|
|
302
|
+
accessKey,
|
|
303
|
+
secretKey,
|
|
304
|
+
baseUrl: "https://dataflow.apigw.ntruss.com",
|
|
305
|
+
regionCode,
|
|
306
|
+
});
|
|
307
|
+
registerDataFlowTools(server, dataFlowClient);
|
|
308
|
+
// Create NcloudClient for Data Query APIs
|
|
309
|
+
const dataQueryClient = new NcloudClient({
|
|
310
|
+
accessKey,
|
|
311
|
+
secretKey,
|
|
312
|
+
baseUrl: "https://kr.dataquery.naverncp.com",
|
|
313
|
+
regionCode,
|
|
314
|
+
});
|
|
315
|
+
registerDataQueryTools(server, dataQueryClient);
|
|
316
|
+
// Create NcloudClient for Private CA APIs
|
|
317
|
+
const privateCaClient = new NcloudClient({
|
|
318
|
+
accessKey,
|
|
319
|
+
secretKey,
|
|
320
|
+
baseUrl: "https://pca.apigw.ntruss.com",
|
|
321
|
+
regionCode,
|
|
322
|
+
});
|
|
323
|
+
registerPrivateCaTools(server, privateCaClient);
|
|
324
|
+
// Create NcloudClient for KMS API 2.0
|
|
325
|
+
const kmsClient = new NcloudClient({
|
|
326
|
+
accessKey,
|
|
327
|
+
secretKey,
|
|
328
|
+
baseUrl: "https://ocapi.ncloud.com",
|
|
329
|
+
regionCode,
|
|
330
|
+
});
|
|
331
|
+
registerKmsTools(server, kmsClient);
|
|
332
|
+
// Create NcloudClient for Billing APIs (List Price, Cost and Usage, Discount)
|
|
333
|
+
const billingClient = new NcloudClient({
|
|
334
|
+
accessKey,
|
|
335
|
+
secretKey,
|
|
336
|
+
baseUrl: "https://billingapi.apigw.ntruss.com",
|
|
337
|
+
regionCode,
|
|
338
|
+
});
|
|
339
|
+
registerBillingTools(server, billingClient);
|
|
340
|
+
// Create SwiftCompatibleClient for Archive Storage APIs (optional — requires NCLOUD_ARCHIVE_PROJECT_ID and NCLOUD_ARCHIVE_DOMAIN_ID)
|
|
341
|
+
const archiveProjectId = process.env.NCLOUD_ARCHIVE_PROJECT_ID;
|
|
342
|
+
const archiveDomainId = process.env.NCLOUD_ARCHIVE_DOMAIN_ID;
|
|
343
|
+
if (archiveProjectId && archiveDomainId) {
|
|
344
|
+
const swiftClient = new SwiftCompatibleClient({
|
|
345
|
+
accessKey,
|
|
346
|
+
secretKey,
|
|
347
|
+
projectId: archiveProjectId,
|
|
348
|
+
domainId: archiveDomainId,
|
|
349
|
+
regionCode,
|
|
350
|
+
});
|
|
351
|
+
registerStorageArchiveTools(server, swiftClient);
|
|
352
|
+
}
|
|
353
|
+
// Connect via stdio transport
|
|
354
|
+
async function main() {
|
|
355
|
+
const transport = new StdioServerTransport();
|
|
356
|
+
await server.connect(transport);
|
|
357
|
+
}
|
|
358
|
+
main().catch((error) => {
|
|
359
|
+
console.error("Fatal error:", error);
|
|
360
|
+
process.exit(1);
|
|
361
|
+
});
|
|
362
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export function registerAcgTools(server, client) {
|
|
3
|
+
// ─── Query Tools ───────────────────────────────────────────────────────────
|
|
4
|
+
server.tool("ncloud_list_acgs", "List all Access Control Groups (ACGs) in the current region", {
|
|
5
|
+
accessControlGroupNoList: z.array(z.string()).optional().describe("Filter by ACG numbers"),
|
|
6
|
+
accessControlGroupName: z.string().optional().describe("Filter by ACG name"),
|
|
7
|
+
accessControlGroupStatusCode: z.string().optional().describe("Filter by ACG status code (INIT | SET | RUN | TERMTING)"),
|
|
8
|
+
vpcNo: z.string().optional().describe("Filter by VPC number"),
|
|
9
|
+
pageNo: z.number().optional().describe("Page number for pagination (0 or 1 for first page)"),
|
|
10
|
+
pageSize: z.number().optional().describe("Page size for pagination (1-1000, required when pageNo is set)"),
|
|
11
|
+
}, async (params) => {
|
|
12
|
+
try {
|
|
13
|
+
const result = await client.request("/vserver/v2/getAccessControlGroupList", params);
|
|
14
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
server.tool("ncloud_get_acg_detail", "Get detailed information about a specific Access Control Group", {
|
|
21
|
+
accessControlGroupNo: z.string().describe("Access Control Group number"),
|
|
22
|
+
}, async (params) => {
|
|
23
|
+
try {
|
|
24
|
+
const result = await client.request("/vserver/v2/getAccessControlGroupDetail", params);
|
|
25
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
server.tool("ncloud_get_acg_rules", "List all inbound and outbound rules for a specific ACG", {
|
|
32
|
+
accessControlGroupNo: z.string().describe("Access Control Group number"),
|
|
33
|
+
accessControlGroupRuleTypeCode: z.string().optional().describe("Filter by rule type (INBND: inbound, OTBND: outbound). Default: all rules"),
|
|
34
|
+
}, async (params) => {
|
|
35
|
+
try {
|
|
36
|
+
const result = await client.request("/vserver/v2/getAccessControlGroupRuleList", params);
|
|
37
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
// ─── Create Tools ──────────────────────────────────────────────────────────
|
|
44
|
+
server.tool("ncloud_create_acg", "Create a new Access Control Group in a VPC", {
|
|
45
|
+
vpcNo: z.string().describe("VPC number to create ACG in (required)"),
|
|
46
|
+
accessControlGroupName: z.string().optional().describe("Name for the new ACG (3-30 chars, lowercase letters + numbers + '-', starts with letter, ends with letter or number). Auto-generated if omitted."),
|
|
47
|
+
accessControlGroupDescription: z.string().optional().describe("Description for the ACG (0-1000 bytes)"),
|
|
48
|
+
}, async (params) => {
|
|
49
|
+
try {
|
|
50
|
+
const result = await client.request("/vserver/v2/createAccessControlGroup", params);
|
|
51
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
// ─── Rule Management Tools ─────────────────────────────────────────────────
|
|
58
|
+
server.tool("ncloud_add_acg_inbound_rule", "Add an inbound rule to an Access Control Group", {
|
|
59
|
+
vpcNo: z.string().describe("VPC number (required)"),
|
|
60
|
+
accessControlGroupNo: z.string().describe("ACG number to add rule to (required)"),
|
|
61
|
+
protocolTypeCode: z.string().describe("Protocol type code (TCP, UDP, ICMP, or 1-254 protocol number)"),
|
|
62
|
+
ipBlock: z.string().optional().describe("Access source IP block in CIDR format (e.g., 0.0.0.0/0). Cannot be used with accessControlGroupSequence."),
|
|
63
|
+
accessControlGroupSequence: z.string().optional().describe("Access source ACG number (alternative to ipBlock). Cannot be used with ipBlock."),
|
|
64
|
+
portRange: z.string().optional().describe("Allowed port range (e.g., 22, 1-65535). Required if protocol is TCP or UDP."),
|
|
65
|
+
accessControlGroupRuleDescription: z.string().optional().describe("Rule description (0-1000 bytes)"),
|
|
66
|
+
}, async (params) => {
|
|
67
|
+
try {
|
|
68
|
+
const { vpcNo, accessControlGroupNo, protocolTypeCode, ipBlock, accessControlGroupSequence, portRange, accessControlGroupRuleDescription } = params;
|
|
69
|
+
const requestParams = {
|
|
70
|
+
vpcNo,
|
|
71
|
+
accessControlGroupNo,
|
|
72
|
+
"accessControlGroupRuleList.1.protocolTypeCode": protocolTypeCode,
|
|
73
|
+
};
|
|
74
|
+
if (ipBlock) {
|
|
75
|
+
requestParams["accessControlGroupRuleList.1.ipBlock"] = ipBlock;
|
|
76
|
+
}
|
|
77
|
+
if (accessControlGroupSequence) {
|
|
78
|
+
requestParams["accessControlGroupRuleList.1.accessControlGroupSequence"] = accessControlGroupSequence;
|
|
79
|
+
}
|
|
80
|
+
if (portRange) {
|
|
81
|
+
requestParams["accessControlGroupRuleList.1.portRange"] = portRange;
|
|
82
|
+
}
|
|
83
|
+
if (accessControlGroupRuleDescription) {
|
|
84
|
+
requestParams["accessControlGroupRuleList.1.accessControlGroupRuleDescription"] = accessControlGroupRuleDescription;
|
|
85
|
+
}
|
|
86
|
+
const result = await client.request("/vserver/v2/addAccessControlGroupInboundRule", requestParams);
|
|
87
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
server.tool("ncloud_add_acg_outbound_rule", "Add an outbound rule to an Access Control Group", {
|
|
94
|
+
vpcNo: z.string().describe("VPC number (required)"),
|
|
95
|
+
accessControlGroupNo: z.string().describe("ACG number to add rule to (required)"),
|
|
96
|
+
protocolTypeCode: z.string().describe("Protocol type code (TCP, UDP, ICMP, or 1-254 protocol number)"),
|
|
97
|
+
ipBlock: z.string().optional().describe("Destination IP block in CIDR format (e.g., 0.0.0.0/0). Cannot be used with accessControlGroupSequence."),
|
|
98
|
+
accessControlGroupSequence: z.string().optional().describe("Destination ACG number (alternative to ipBlock). Cannot be used with ipBlock."),
|
|
99
|
+
portRange: z.string().optional().describe("Allowed port range (e.g., 80, 1-65535). Required if protocol is TCP or UDP."),
|
|
100
|
+
accessControlGroupRuleDescription: z.string().optional().describe("Rule description (0-1000 bytes)"),
|
|
101
|
+
}, async (params) => {
|
|
102
|
+
try {
|
|
103
|
+
const { vpcNo, accessControlGroupNo, protocolTypeCode, ipBlock, accessControlGroupSequence, portRange, accessControlGroupRuleDescription } = params;
|
|
104
|
+
const requestParams = {
|
|
105
|
+
vpcNo,
|
|
106
|
+
accessControlGroupNo,
|
|
107
|
+
"accessControlGroupRuleList.1.protocolTypeCode": protocolTypeCode,
|
|
108
|
+
};
|
|
109
|
+
if (ipBlock) {
|
|
110
|
+
requestParams["accessControlGroupRuleList.1.ipBlock"] = ipBlock;
|
|
111
|
+
}
|
|
112
|
+
if (accessControlGroupSequence) {
|
|
113
|
+
requestParams["accessControlGroupRuleList.1.accessControlGroupSequence"] = accessControlGroupSequence;
|
|
114
|
+
}
|
|
115
|
+
if (portRange) {
|
|
116
|
+
requestParams["accessControlGroupRuleList.1.portRange"] = portRange;
|
|
117
|
+
}
|
|
118
|
+
if (accessControlGroupRuleDescription) {
|
|
119
|
+
requestParams["accessControlGroupRuleList.1.accessControlGroupRuleDescription"] = accessControlGroupRuleDescription;
|
|
120
|
+
}
|
|
121
|
+
const result = await client.request("/vserver/v2/addAccessControlGroupOutboundRule", requestParams);
|
|
122
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
// ─── Destructive Tools (with confirm gate) ─────────────────────────────────
|
|
129
|
+
server.tool("ncloud_delete_acg", "⚠️ Destructive: Delete an Access Control Group. Set confirm=true to execute.", {
|
|
130
|
+
vpcNo: z.string().describe("VPC number (required)"),
|
|
131
|
+
accessControlGroupNo: z.string().describe("ACG number to delete (required)"),
|
|
132
|
+
confirm: z.boolean().optional().default(false).describe("Must be true to actually execute the destructive operation"),
|
|
133
|
+
}, async (params) => {
|
|
134
|
+
try {
|
|
135
|
+
if (!params.confirm) {
|
|
136
|
+
const message = `⚠️ This will permanently delete ACG [${params.accessControlGroupNo}]. Do you want to proceed? (yes/no)\n\nTo execute, call this tool again with confirm=true.`;
|
|
137
|
+
return { content: [{ type: "text", text: message }] };
|
|
138
|
+
}
|
|
139
|
+
const { confirm, ...apiParams } = params;
|
|
140
|
+
const result = await client.request("/vserver/v2/deleteAccessControlGroup", apiParams);
|
|
141
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
server.tool("ncloud_remove_acg_inbound_rule", "⚠️ Destructive: Remove an inbound rule from an Access Control Group. Set confirm=true to execute.", {
|
|
148
|
+
vpcNo: z.string().describe("VPC number (required)"),
|
|
149
|
+
accessControlGroupNo: z.string().describe("ACG number to remove rule from (required)"),
|
|
150
|
+
protocolTypeCode: z.string().describe("Protocol type code (TCP, UDP, ICMP, or protocol number)"),
|
|
151
|
+
ipBlock: z.string().optional().describe("IP block in CIDR format. Cannot be used with accessControlGroupSequence."),
|
|
152
|
+
accessControlGroupSequence: z.string().optional().describe("Source ACG number. Cannot be used with ipBlock."),
|
|
153
|
+
portRange: z.string().optional().describe("Port range (e.g., 80, 1-65535). Required if protocol is TCP or UDP."),
|
|
154
|
+
confirm: z.boolean().optional().default(false).describe("Must be true to actually execute the destructive operation"),
|
|
155
|
+
}, async (params) => {
|
|
156
|
+
try {
|
|
157
|
+
if (!params.confirm) {
|
|
158
|
+
const message = `⚠️ This will permanently remove inbound rule from ACG [${params.accessControlGroupNo}]. Do you want to proceed? (yes/no)\n\nTo execute, call this tool again with confirm=true.`;
|
|
159
|
+
return { content: [{ type: "text", text: message }] };
|
|
160
|
+
}
|
|
161
|
+
const { confirm, vpcNo, accessControlGroupNo, protocolTypeCode, ipBlock, accessControlGroupSequence, portRange } = params;
|
|
162
|
+
const requestParams = {
|
|
163
|
+
vpcNo,
|
|
164
|
+
accessControlGroupNo,
|
|
165
|
+
"accessControlGroupRuleList.1.protocolTypeCode": protocolTypeCode,
|
|
166
|
+
};
|
|
167
|
+
if (ipBlock) {
|
|
168
|
+
requestParams["accessControlGroupRuleList.1.ipBlock"] = ipBlock;
|
|
169
|
+
}
|
|
170
|
+
if (accessControlGroupSequence) {
|
|
171
|
+
requestParams["accessControlGroupRuleList.1.accessControlGroupSequence"] = accessControlGroupSequence;
|
|
172
|
+
}
|
|
173
|
+
if (portRange) {
|
|
174
|
+
requestParams["accessControlGroupRuleList.1.portRange"] = portRange;
|
|
175
|
+
}
|
|
176
|
+
const result = await client.request("/vserver/v2/removeAccessControlGroupInboundRule", requestParams);
|
|
177
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
178
|
+
}
|
|
179
|
+
catch (error) {
|
|
180
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
server.tool("ncloud_remove_acg_outbound_rule", "⚠️ Destructive: Remove an outbound rule from an Access Control Group. Set confirm=true to execute.", {
|
|
184
|
+
vpcNo: z.string().describe("VPC number (required)"),
|
|
185
|
+
accessControlGroupNo: z.string().describe("ACG number to remove rule from (required)"),
|
|
186
|
+
protocolTypeCode: z.string().describe("Protocol type code (TCP, UDP, ICMP, or protocol number)"),
|
|
187
|
+
ipBlock: z.string().optional().describe("IP block in CIDR format. Cannot be used with accessControlGroupSequence."),
|
|
188
|
+
accessControlGroupSequence: z.string().optional().describe("Destination ACG number. Cannot be used with ipBlock."),
|
|
189
|
+
portRange: z.string().optional().describe("Port range (e.g., 80, 1-65535). Required if protocol is TCP or UDP."),
|
|
190
|
+
confirm: z.boolean().optional().default(false).describe("Must be true to actually execute the destructive operation"),
|
|
191
|
+
}, async (params) => {
|
|
192
|
+
try {
|
|
193
|
+
if (!params.confirm) {
|
|
194
|
+
const message = `⚠️ This will permanently remove outbound rule from ACG [${params.accessControlGroupNo}]. Do you want to proceed? (yes/no)\n\nTo execute, call this tool again with confirm=true.`;
|
|
195
|
+
return { content: [{ type: "text", text: message }] };
|
|
196
|
+
}
|
|
197
|
+
const { confirm, vpcNo, accessControlGroupNo, protocolTypeCode, ipBlock, accessControlGroupSequence, portRange } = params;
|
|
198
|
+
const requestParams = {
|
|
199
|
+
vpcNo,
|
|
200
|
+
accessControlGroupNo,
|
|
201
|
+
"accessControlGroupRuleList.1.protocolTypeCode": protocolTypeCode,
|
|
202
|
+
};
|
|
203
|
+
if (ipBlock) {
|
|
204
|
+
requestParams["accessControlGroupRuleList.1.ipBlock"] = ipBlock;
|
|
205
|
+
}
|
|
206
|
+
if (accessControlGroupSequence) {
|
|
207
|
+
requestParams["accessControlGroupRuleList.1.accessControlGroupSequence"] = accessControlGroupSequence;
|
|
208
|
+
}
|
|
209
|
+
if (portRange) {
|
|
210
|
+
requestParams["accessControlGroupRuleList.1.portRange"] = portRange;
|
|
211
|
+
}
|
|
212
|
+
const result = await client.request("/vserver/v2/removeAccessControlGroupOutboundRule", requestParams);
|
|
213
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=acg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acg.js","sourceRoot":"","sources":["../../src/tools/acg.ts"],"names":[],"mappings":"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"}
|