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.
- package/README.md +18 -2
- package/README_EN.md +18 -2
- package/dist/index.js +12 -331
- package/dist/index.js.map +1 -1
- package/dist/tools/_response.d.ts +69 -0
- package/dist/tools/_response.js +96 -0
- package/dist/tools/_response.js.map +1 -0
- package/dist/tools/acg.js +10 -9
- package/dist/tools/acg.js.map +1 -1
- package/dist/tools/activity-tracer.js +4 -3
- package/dist/tools/activity-tracer.js.map +1 -1
- package/dist/tools/analytics-cdss.js +51 -50
- package/dist/tools/analytics-cdss.js.map +1 -1
- package/dist/tools/analytics-datacatalog.js +22 -21
- package/dist/tools/analytics-datacatalog.js.map +1 -1
- package/dist/tools/analytics-dataflow.js +27 -26
- package/dist/tools/analytics-dataflow.js.map +1 -1
- package/dist/tools/analytics-dataforest.js +25 -24
- package/dist/tools/analytics-dataforest.js.map +1 -1
- package/dist/tools/analytics-dataquery.js +6 -5
- package/dist/tools/analytics-dataquery.js.map +1 -1
- package/dist/tools/analytics-datastream.js +22 -21
- package/dist/tools/analytics-datastream.js.map +1 -1
- package/dist/tools/analytics-hadoop.js +30 -29
- package/dist/tools/analytics-hadoop.js.map +1 -1
- package/dist/tools/analytics-ses.js +43 -42
- package/dist/tools/analytics-ses.js.map +1 -1
- package/dist/tools/api-gateway.js +13 -12
- package/dist/tools/api-gateway.js.map +1 -1
- package/dist/tools/autoscaling.js +25 -24
- package/dist/tools/autoscaling.js.map +1 -1
- package/dist/tools/billing.d.ts +0 -11
- package/dist/tools/billing.js +210 -48
- package/dist/tools/billing.js.map +1 -1
- package/dist/tools/certificate-manager.js +4 -3
- package/dist/tools/certificate-manager.js.map +1 -1
- package/dist/tools/cloud-advisor.js +16 -15
- package/dist/tools/cloud-advisor.js.map +1 -1
- package/dist/tools/cloud-functions.js +22 -21
- package/dist/tools/cloud-functions.js.map +1 -1
- package/dist/tools/cloud-insight-integration.js +6 -5
- package/dist/tools/cloud-insight-integration.js.map +1 -1
- package/dist/tools/cloud-insight-plugin.js +34 -33
- package/dist/tools/cloud-insight-plugin.js.map +1 -1
- package/dist/tools/cloud-insight-rule.js +28 -27
- package/dist/tools/cloud-insight-rule.js.map +1 -1
- package/dist/tools/cloud-insight.js +12 -11
- package/dist/tools/cloud-insight.js.map +1 -1
- package/dist/tools/common.js +6 -5
- package/dist/tools/common.js.map +1 -1
- package/dist/tools/compute-initscript.js +5 -4
- package/dist/tools/compute-initscript.js.map +1 -1
- package/dist/tools/compute-loginkey.js +5 -4
- package/dist/tools/compute-loginkey.js.map +1 -1
- package/dist/tools/compute-placement.js +14 -13
- package/dist/tools/compute-placement.js.map +1 -1
- package/dist/tools/compute-publicip.js +8 -7
- package/dist/tools/compute-publicip.js.map +1 -1
- package/dist/tools/compute-server.js +29 -28
- package/dist/tools/compute-server.js.map +1 -1
- package/dist/tools/compute-storage.js +16 -15
- package/dist/tools/compute-storage.js.map +1 -1
- package/dist/tools/containers-nks.js +38 -37
- package/dist/tools/containers-nks.js.map +1 -1
- package/dist/tools/containers-registry.js +13 -12
- package/dist/tools/containers-registry.js.map +1 -1
- package/dist/tools/database-cache.js +25 -24
- package/dist/tools/database-cache.js.map +1 -1
- package/dist/tools/database-mongodb.js +25 -24
- package/dist/tools/database-mongodb.js.map +1 -1
- package/dist/tools/database-mssql.js +23 -22
- package/dist/tools/database-mssql.js.map +1 -1
- package/dist/tools/database-mysql.js +30 -29
- package/dist/tools/database-mysql.js.map +1 -1
- package/dist/tools/database-postgresql.js +26 -25
- package/dist/tools/database-postgresql.js.map +1 -1
- package/dist/tools/global-dns.js +13 -12
- package/dist/tools/global-dns.js.map +1 -1
- package/dist/tools/global-edge.js +21 -20
- package/dist/tools/global-edge.js.map +1 -1
- package/dist/tools/global-traffic-manager.js +27 -26
- package/dist/tools/global-traffic-manager.js.map +1 -1
- package/dist/tools/kms.js +52 -39
- package/dist/tools/kms.js.map +1 -1
- package/dist/tools/loadbalancer.js +17 -16
- package/dist/tools/loadbalancer.js.map +1 -1
- package/dist/tools/log-analytics.js +11 -10
- package/dist/tools/log-analytics.js.map +1 -1
- package/dist/tools/media-imageoptimizer.js +10 -9
- package/dist/tools/media-imageoptimizer.js.map +1 -1
- package/dist/tools/media-livestation.js +13 -12
- package/dist/tools/media-livestation.js.map +1 -1
- package/dist/tools/media-vodstation.js +11 -10
- package/dist/tools/media-vodstation.js.map +1 -1
- package/dist/tools/nat-gateway.js +6 -5
- package/dist/tools/nat-gateway.js.map +1 -1
- package/dist/tools/network-acl.js +18 -17
- package/dist/tools/network-acl.js.map +1 -1
- package/dist/tools/network-interface.js +15 -14
- package/dist/tools/network-interface.js.map +1 -1
- package/dist/tools/private-ca.js +32 -23
- package/dist/tools/private-ca.js.map +1 -1
- package/dist/tools/registry.d.ts +49 -0
- package/dist/tools/registry.js +254 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/resource-manager.js +7 -6
- package/dist/tools/resource-manager.js.map +1 -1
- package/dist/tools/route-table.js +12 -11
- package/dist/tools/route-table.js.map +1 -1
- package/dist/tools/security-monitoring.js +8 -7
- package/dist/tools/security-monitoring.js.map +1 -1
- package/dist/tools/sens.js +7 -6
- package/dist/tools/sens.js.map +1 -1
- package/dist/tools/sourcebuild.js +18 -17
- package/dist/tools/sourcebuild.js.map +1 -1
- package/dist/tools/sourcecommit.js +13 -12
- package/dist/tools/sourcecommit.js.map +1 -1
- package/dist/tools/sourcedeploy.js +35 -34
- package/dist/tools/sourcedeploy.js.map +1 -1
- package/dist/tools/sourcepipeline.js +18 -17
- package/dist/tools/sourcepipeline.js.map +1 -1
- package/dist/tools/storage-archive.js +13 -12
- package/dist/tools/storage-archive.js.map +1 -1
- package/dist/tools/storage-nas.js +20 -19
- package/dist/tools/storage-nas.js.map +1 -1
- package/dist/tools/storage-ncloud.js +25 -24
- package/dist/tools/storage-ncloud.js.map +1 -1
- package/dist/tools/storage-object.js +29 -28
- package/dist/tools/storage-object.js.map +1 -1
- package/dist/tools/sub-account.js +19 -18
- package/dist/tools/sub-account.js.map +1 -1
- package/dist/tools/target-group.js +12 -11
- package/dist/tools/target-group.js.map +1 -1
- package/dist/tools/vpc-peering.js +8 -7
- package/dist/tools/vpc-peering.js.map +1 -1
- package/dist/tools/vpc.js +11 -10
- package/dist/tools/vpc.js.map +1 -1
- package/package.json +1 -1
- package/dist/auth/signature.test.d.ts +0 -1
- package/dist/auth/signature.test.js +0 -90
- package/dist/auth/signature.test.js.map +0 -1
- package/dist/client/ncloud-client.test.d.ts +0 -1
- package/dist/client/ncloud-client.test.js +0 -477
- package/dist/client/ncloud-client.test.js.map +0 -1
- package/dist/tools/compute-server.test.d.ts +0 -1
- package/dist/tools/compute-server.test.js +0 -224
- package/dist/tools/compute-server.test.js.map +0 -1
package/dist/tools/billing.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { toolText, prune, paginateWithGuard } from "./_response.js";
|
|
2
3
|
/**
|
|
3
4
|
* Ncloud Billing API Tools
|
|
4
5
|
* Base URL: https://billingapi.apigw.ntruss.com/billing/v1
|
|
@@ -10,6 +11,159 @@ import { z } from "zod";
|
|
|
10
11
|
*
|
|
11
12
|
* 모든 API는 조회(GET) 전용이며 파괴적 작업이 없습니다.
|
|
12
13
|
*/
|
|
14
|
+
// ─── 검색 폴백 헬퍼 (List Price 도구 전용) ───────────────────────────────
|
|
15
|
+
// 배경: NCP의 productName 필터는 productName 필드 하나만 검색하는데, LB 등 다수 상품은
|
|
16
|
+
// productName이 빈 문자열/한글이라 영문 키워드로 0건이 된다(REPORT 2장 #2).
|
|
17
|
+
// 대응: productName은 API로 보내지 않고, 받아온 목록을 아래 필드들에 대해
|
|
18
|
+
// 대소문자 무시 부분일치로 후필터한다(REPORT 4장 P1).
|
|
19
|
+
const SEARCH_FETCH_MAX_PAGES = 10; // 검색 모드에서 스캔할 최대 페이지(페이지당 1000행)
|
|
20
|
+
/** 검색 대상 필드에 대해 query(소문자) 부분일치 여부. */
|
|
21
|
+
function matchesProductQuery(p, q) {
|
|
22
|
+
const fields = [
|
|
23
|
+
p?.productName,
|
|
24
|
+
p?.productDescription,
|
|
25
|
+
p?.productCode,
|
|
26
|
+
p?.productType?.codeName,
|
|
27
|
+
p?.productItemKind?.codeName,
|
|
28
|
+
];
|
|
29
|
+
return fields.some((s) => typeof s === "string" && s.toLowerCase().includes(q));
|
|
30
|
+
}
|
|
31
|
+
/** NCP 응답(flat 또는 1-depth wrapper)에서 list와 totalRows를 추출. */
|
|
32
|
+
function extractList(result, listKey) {
|
|
33
|
+
let container = result;
|
|
34
|
+
if (!Array.isArray(container?.[listKey]) && result && typeof result === "object") {
|
|
35
|
+
for (const v of Object.values(result)) {
|
|
36
|
+
if (v && typeof v === "object" && Array.isArray(v[listKey])) {
|
|
37
|
+
container = v;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const list = Array.isArray(container?.[listKey]) ? container[listKey] : [];
|
|
43
|
+
const total = typeof container?.totalRows === "number" ? container.totalRows : list.length;
|
|
44
|
+
return { list, total };
|
|
45
|
+
}
|
|
46
|
+
// ─── P3 slim projection (가격 도구 detailLevel="price") ───────────────────
|
|
47
|
+
// getProductPriceList 응답은 항목당 HW/OS 메타데이터와 promiseList/periodUnitList/
|
|
48
|
+
// countryUnitList/packageUnitList 등 대형 배열로 비대(REPORT_test-result B-2: 49행≈138KB).
|
|
49
|
+
// price 모드는 가격·식별 필드만 남겨 용량 주범을 제거한다. 필드명은 공식 docs 기준
|
|
50
|
+
// (https://api.ncloud-docs.com/docs/platform-listprice-getproductpricelist).
|
|
51
|
+
/** priceList 항목을 핵심 가격 필드로 축약. */
|
|
52
|
+
function slimPriceEntry(pr) {
|
|
53
|
+
const rating = pr?.productRatingType;
|
|
54
|
+
return {
|
|
55
|
+
price: pr?.price,
|
|
56
|
+
unit: pr?.unit?.codeName,
|
|
57
|
+
chargingUnitType: pr?.chargingUnitType?.codeName,
|
|
58
|
+
ratingUnitType: pr?.ratingUnitType?.codeName,
|
|
59
|
+
productRatingType: rating && typeof rating === "object" ? rating.codeName : rating,
|
|
60
|
+
priceType: pr?.priceType?.codeName,
|
|
61
|
+
conditionType: pr?.conditionType?.codeName,
|
|
62
|
+
conditionPrice: pr?.conditionPrice,
|
|
63
|
+
payCurrency: pr?.payCurrency?.codeName,
|
|
64
|
+
freeUnit: pr?.freeUnit,
|
|
65
|
+
freeValue: pr?.freeValue,
|
|
66
|
+
meteringUnit: pr?.meteringUnit?.codeName,
|
|
67
|
+
region: pr?.region?.regionCode,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/** productPrice 항목을 식별 필드 + 축약 priceList 로 projection. */
|
|
71
|
+
function slimProductPrice(p) {
|
|
72
|
+
return {
|
|
73
|
+
productCode: p?.productCode,
|
|
74
|
+
productName: p?.productName,
|
|
75
|
+
productDescription: p?.productDescription,
|
|
76
|
+
productCategory: p?.productCategory?.codeName,
|
|
77
|
+
productType: p?.productType?.codeName,
|
|
78
|
+
productItemKind: p?.productItemKind?.codeName,
|
|
79
|
+
priceList: Array.isArray(p?.priceList) ? p.priceList.map(slimPriceEntry) : undefined,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
// ─── 응답 크기 가드 (PLAN_response-size-guard) ────────────────────────────
|
|
83
|
+
// 슬림 투영·prune은 항목당 크기만 줄여, 매칭 건수가 많으면(예: productName="MySQL"
|
|
84
|
+
// 94건 ≈ 67KB) 슬림 후에도 클라이언트 토큰 한도를 초과한다. → ② 기본 pageSize 하향
|
|
85
|
+
// (정상 흐름을 페이지로 흡수) + ③ 하드 크기 가드(backstop)로 대응.
|
|
86
|
+
const LISTPRICE_DEFAULT_PAGE_SIZE = 50; // ② 기본 페이지 크기 (실측: 항목당 ~0.7KB → ~36KB/페이지)
|
|
87
|
+
const LISTPRICE_MAX_PAGE_SIZE = 1000; // NCP 상한
|
|
88
|
+
const LISTPRICE_GUARD_MAX_BYTES = 45000; // ③ 페이지 직렬화 임계 (실측: 36KB 통과 / 67KB 초과 사이)
|
|
89
|
+
/** productCode 기준 안정 정렬 비교자 — NCP 응답 순서가 호출마다 달라질 수 있어 서버에서 고정. */
|
|
90
|
+
function byProductCode(a, b) {
|
|
91
|
+
return String(a?.productCode ?? "").localeCompare(String(b?.productCode ?? ""));
|
|
92
|
+
}
|
|
93
|
+
/** 사용자 pageSize를 [1, 상한]으로 클램프, 미지정 시 기본값. */
|
|
94
|
+
function resolvePageSize(userPageSize) {
|
|
95
|
+
if (userPageSize === undefined)
|
|
96
|
+
return LISTPRICE_DEFAULT_PAGE_SIZE;
|
|
97
|
+
return Math.min(Math.max(1, Math.floor(userPageSize)), LISTPRICE_MAX_PAGE_SIZE);
|
|
98
|
+
}
|
|
99
|
+
/** baseParams로 페이지를 순회하며 목록 전체를 모은다(최대 SEARCH_FETCH_MAX_PAGES×1000). */
|
|
100
|
+
async function scanAll(client, path, listKey, baseParams) {
|
|
101
|
+
const scanned = [];
|
|
102
|
+
let totalRows = 0;
|
|
103
|
+
for (let pageNo = 1; pageNo <= SEARCH_FETCH_MAX_PAGES; pageNo++) {
|
|
104
|
+
const params = { ...baseParams, pageNo: String(pageNo), pageSize: "1000" };
|
|
105
|
+
const result = await client.requestRaw("GET", path, params);
|
|
106
|
+
const { list, total } = extractList(result, listKey);
|
|
107
|
+
totalRows = total;
|
|
108
|
+
scanned.push(...list);
|
|
109
|
+
if (list.length === 0 || scanned.length >= totalRows)
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
return { scanned, totalRows };
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* List Price 계열 공통 조회: 전체 스캔 → (검색 시) 후필터 → 안정 정렬 → 항목 가공
|
|
116
|
+
* → 페이지네이션 + 하드 가드. 검색·비검색 모두 동일 경로(안정 페이지네이션 보장).
|
|
117
|
+
*/
|
|
118
|
+
async function runListPriceQuery(opts) {
|
|
119
|
+
const { client, path, listKey, baseParams, productName, pageNo, pageSize } = opts;
|
|
120
|
+
const project = opts.project ?? ((x) => x);
|
|
121
|
+
const { scanned, totalRows: categoryTotal } = await scanAll(client, path, listKey, baseParams);
|
|
122
|
+
const scanTruncated = scanned.length < categoryTotal; // 최대 페이지 한도로 전부 스캔 못함
|
|
123
|
+
// 검색 모드: productName을 API로 보내지 않고 5개 필드 부분일치 후필터(REPORT 4장 P1)
|
|
124
|
+
let candidates = scanned;
|
|
125
|
+
const searchMeta = {};
|
|
126
|
+
if (productName) {
|
|
127
|
+
const q = productName.toLowerCase();
|
|
128
|
+
candidates = scanned.filter((p) => matchesProductQuery(p, q));
|
|
129
|
+
searchMeta.searchMode = true;
|
|
130
|
+
searchMeta.query = productName;
|
|
131
|
+
searchMeta.matchedRows = candidates.length;
|
|
132
|
+
searchMeta.scannedRows = scanned.length;
|
|
133
|
+
searchMeta.categoryTotalRows = categoryTotal; // 필터 전 카테고리 전체
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
searchMeta.totalRows = candidates.length; // 비검색: 페이징 대상 전체
|
|
137
|
+
}
|
|
138
|
+
// 안정 정렬(원본 productCode) 후 항목 가공(prune ∘ project)
|
|
139
|
+
candidates = [...candidates].sort(byProductCode);
|
|
140
|
+
const projected = candidates.map((x) => prune(project(x)));
|
|
141
|
+
const { items, meta } = paginateWithGuard(projected, {
|
|
142
|
+
pageNo,
|
|
143
|
+
pageSize: resolvePageSize(pageSize),
|
|
144
|
+
maxBytes: LISTPRICE_GUARD_MAX_BYTES,
|
|
145
|
+
});
|
|
146
|
+
// 사람이 읽는 안내 문구
|
|
147
|
+
const denom = candidates.length;
|
|
148
|
+
const start = (meta.pageNo - 1) * meta.pageSize;
|
|
149
|
+
let note;
|
|
150
|
+
if (meta.truncated) {
|
|
151
|
+
note = `응답이 커서 ${meta.returnedRows}건만 반환했습니다. pageSize=${meta.suggestedPageSize} 이하로 다시 조회하면 전체를 누락 없이 순회할 수 있고, productCategoryCode/productItemKindCode로 좁혀도 됩니다.`;
|
|
152
|
+
}
|
|
153
|
+
else if (meta.hasMore) {
|
|
154
|
+
note = `전체 ${denom}건 중 ${start + 1}~${start + meta.returnedRows}건 표시. 다음은 pageNo=${meta.nextPageNo}.`;
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
note = `전체 ${denom}건 중 ${denom === 0 ? 0 : start + 1}~${start + meta.returnedRows}건 표시(마지막 페이지).`;
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
...searchMeta,
|
|
161
|
+
...meta,
|
|
162
|
+
...(scanTruncated ? { scanTruncated: true } : {}),
|
|
163
|
+
note,
|
|
164
|
+
[listKey]: items,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
13
167
|
export function registerBillingTools(server, client) {
|
|
14
168
|
// ============================================================
|
|
15
169
|
// List Price APIs — /product/...
|
|
@@ -28,7 +182,7 @@ export function registerBillingTools(server, client) {
|
|
|
28
182
|
if (payCurrencyCode)
|
|
29
183
|
params["payCurrencyCode"] = payCurrencyCode;
|
|
30
184
|
const result = await client.requestRaw("GET", "/billing/v1/product/getPriceList", params);
|
|
31
|
-
return
|
|
185
|
+
return toolText(result);
|
|
32
186
|
}
|
|
33
187
|
catch (error) {
|
|
34
188
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -43,72 +197,80 @@ export function registerBillingTools(server, client) {
|
|
|
43
197
|
if (productCategoryCode)
|
|
44
198
|
params["productCategoryCode"] = productCategoryCode;
|
|
45
199
|
const result = await client.requestRaw("GET", "/billing/v1/product/getProductCategoryList", params);
|
|
46
|
-
return
|
|
200
|
+
return toolText(result);
|
|
47
201
|
}
|
|
48
202
|
catch (error) {
|
|
49
203
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
50
204
|
}
|
|
51
205
|
});
|
|
52
206
|
// ncloud_get_product_list — 서비스 목록 조회
|
|
53
|
-
server.tool("ncloud_get_product_list", "Get product (service) list for billing. Returns available products with their codes, names, descriptions, and categories. Use regionCode and optional filters to narrow results.", {
|
|
207
|
+
server.tool("ncloud_get_product_list", "Get product (service) list for billing. Returns available products with their codes, names, descriptions, and categories. Use regionCode and optional filters to narrow results. Paginated (default 50/page, sorted by productCode); the response includes totalRows/returnedRows/hasMore/nextPageNo — follow nextPageNo to page through all results.", {
|
|
54
208
|
regionCode: z.string().describe("Region code (e.g. KR, JPN, SGN)"),
|
|
55
|
-
pageNo: z.number().optional().describe("Page number"),
|
|
56
|
-
pageSize: z.number().optional().describe("Page size (
|
|
209
|
+
pageNo: z.number().optional().describe("Page number (default 1). Use nextPageNo from the response to page through results."),
|
|
210
|
+
pageSize: z.number().optional().describe("Page size (default 50, max 1000). Results are server-sorted by productCode for stable pagination."),
|
|
57
211
|
productItemKindCode: z.string().optional().describe("Product item kind code (e.g. VSVR, SW)"),
|
|
58
212
|
productCategoryCode: z.string().optional().describe("Product category code (e.g. COMPUTE)"),
|
|
59
213
|
productCode: z.string().optional().describe("Product code to filter"),
|
|
60
|
-
productName: z.string().optional().describe("
|
|
214
|
+
productName: z.string().optional().describe("Keyword search (case-insensitive substring). Matches across productName, productDescription, productCode, productType.codeName, productItemKind.codeName — works even when the NCP productName field is empty/Korean (e.g. 'Load Balancer')."),
|
|
61
215
|
}, async ({ regionCode, pageNo, pageSize, productItemKindCode, productCategoryCode, productCode, productName }) => {
|
|
62
216
|
try {
|
|
63
|
-
const
|
|
64
|
-
if (pageNo !== undefined)
|
|
65
|
-
params["pageNo"] = String(pageNo);
|
|
66
|
-
if (pageSize !== undefined)
|
|
67
|
-
params["pageSize"] = String(pageSize);
|
|
217
|
+
const baseParams = { responseFormatType: "json", regionCode };
|
|
68
218
|
if (productItemKindCode)
|
|
69
|
-
|
|
219
|
+
baseParams["productItemKindCode"] = productItemKindCode;
|
|
70
220
|
if (productCategoryCode)
|
|
71
|
-
|
|
221
|
+
baseParams["productCategoryCode"] = productCategoryCode;
|
|
72
222
|
if (productCode)
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
223
|
+
baseParams["productCode"] = productCode;
|
|
224
|
+
const result = await runListPriceQuery({
|
|
225
|
+
client,
|
|
226
|
+
path: "/billing/v1/product/getProductList",
|
|
227
|
+
listKey: "productList",
|
|
228
|
+
baseParams,
|
|
229
|
+
productName,
|
|
230
|
+
pageNo,
|
|
231
|
+
pageSize,
|
|
232
|
+
});
|
|
233
|
+
return toolText(result);
|
|
78
234
|
}
|
|
79
235
|
catch (error) {
|
|
80
236
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
81
237
|
}
|
|
82
238
|
});
|
|
83
239
|
// ncloud_get_product_price_list — 서비스 및 가격 목록 조회
|
|
84
|
-
server.tool("ncloud_get_product_price_list", "Get product and price list. Returns products with their associated pricing information including monthly/hourly rates, conditions, and discount details.", {
|
|
240
|
+
server.tool("ncloud_get_product_price_list", "Get product and price list. Returns products with their associated pricing information including monthly/hourly rates, conditions, and discount details. Paginated (default 50/page, sorted by productCode); the response includes totalRows/returnedRows/hasMore/nextPageNo (and truncated=true if a single page was size-capped) — follow nextPageNo to page through all results.", {
|
|
85
241
|
regionCode: z.string().describe("Region code (e.g. KR, JPN, SGN)"),
|
|
86
|
-
pageNo: z.number().optional().describe("Page number"),
|
|
87
|
-
pageSize: z.number().optional().describe("Page size (
|
|
242
|
+
pageNo: z.number().optional().describe("Page number (default 1). Use nextPageNo from the response to page through results."),
|
|
243
|
+
pageSize: z.number().optional().describe("Page size (default 50, max 1000). Results are server-sorted by productCode for stable pagination."),
|
|
88
244
|
productItemKindCode: z.string().optional().describe("Product item kind code (e.g. VSVR)"),
|
|
89
245
|
productCategoryCode: z.string().optional().describe("Product category code (e.g. COMPUTE)"),
|
|
90
246
|
productCode: z.string().optional().describe("Product code to filter"),
|
|
91
|
-
productName: z.string().optional().describe("
|
|
247
|
+
productName: z.string().optional().describe("Keyword search (case-insensitive substring). Matches across productName, productDescription, productCode, productType.codeName, productItemKind.codeName — works even when the NCP productName field is empty/Korean (e.g. 'Load Balancer')."),
|
|
92
248
|
payCurrencyCode: z.enum(["KRW", "USD", "JPY"]).optional().describe("Payment currency code"),
|
|
93
|
-
|
|
249
|
+
detailLevel: z.enum(["price", "full"]).optional().default("price").describe("'price' (default): slim response with identity + price fields only (much smaller). 'full': raw payload with all metadata. Tip: for broad category queries combine productCategoryCode + productName to keep responses small."),
|
|
250
|
+
}, async ({ regionCode, pageNo, pageSize, productItemKindCode, productCategoryCode, productCode, productName, payCurrencyCode, detailLevel }) => {
|
|
94
251
|
try {
|
|
95
|
-
const
|
|
96
|
-
if (pageNo !== undefined)
|
|
97
|
-
params["pageNo"] = String(pageNo);
|
|
98
|
-
if (pageSize !== undefined)
|
|
99
|
-
params["pageSize"] = String(pageSize);
|
|
252
|
+
const baseParams = { responseFormatType: "json", regionCode };
|
|
100
253
|
if (productItemKindCode)
|
|
101
|
-
|
|
254
|
+
baseParams["productItemKindCode"] = productItemKindCode;
|
|
102
255
|
if (productCategoryCode)
|
|
103
|
-
|
|
256
|
+
baseParams["productCategoryCode"] = productCategoryCode;
|
|
104
257
|
if (productCode)
|
|
105
|
-
|
|
106
|
-
if (productName)
|
|
107
|
-
params["productName"] = productName;
|
|
258
|
+
baseParams["productCode"] = productCode;
|
|
108
259
|
if (payCurrencyCode)
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
260
|
+
baseParams["payCurrencyCode"] = payCurrencyCode;
|
|
261
|
+
// P3: detailLevel="full" 아니면 price 모드(기본) — 항목을 가격·식별 필드로 축약
|
|
262
|
+
const project = detailLevel === "full" ? (x) => x : slimProductPrice;
|
|
263
|
+
const result = await runListPriceQuery({
|
|
264
|
+
client,
|
|
265
|
+
path: "/billing/v1/product/getProductPriceList",
|
|
266
|
+
listKey: "productPriceList",
|
|
267
|
+
baseParams,
|
|
268
|
+
productName,
|
|
269
|
+
pageNo,
|
|
270
|
+
pageSize,
|
|
271
|
+
project,
|
|
272
|
+
});
|
|
273
|
+
return toolText(result);
|
|
112
274
|
}
|
|
113
275
|
catch (error) {
|
|
114
276
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -140,7 +302,7 @@ export function registerBillingTools(server, client) {
|
|
|
140
302
|
if (memberNoList)
|
|
141
303
|
memberNoList.forEach((no, i) => { params[`memberNoList.${i + 1}`] = no; });
|
|
142
304
|
const result = await client.requestRaw("GET", "/billing/v1/cost/getDemandCostList", params);
|
|
143
|
-
return
|
|
305
|
+
return toolText(result);
|
|
144
306
|
}
|
|
145
307
|
catch (error) {
|
|
146
308
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -172,7 +334,7 @@ export function registerBillingTools(server, client) {
|
|
|
172
334
|
if (productDemandTypeCode)
|
|
173
335
|
params["productDemandTypeCode"] = productDemandTypeCode;
|
|
174
336
|
const result = await client.requestRaw("GET", "/billing/v1/cost/getProductDemandCostList", params);
|
|
175
|
-
return
|
|
337
|
+
return toolText(result);
|
|
176
338
|
}
|
|
177
339
|
catch (error) {
|
|
178
340
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -213,7 +375,7 @@ export function registerBillingTools(server, client) {
|
|
|
213
375
|
if (regionCode)
|
|
214
376
|
params["regionCode"] = regionCode;
|
|
215
377
|
const result = await client.requestRaw("GET", "/billing/v1/cost/getContractDemandCostList", params);
|
|
216
|
-
return
|
|
378
|
+
return toolText(result);
|
|
217
379
|
}
|
|
218
380
|
catch (error) {
|
|
219
381
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -250,7 +412,7 @@ export function registerBillingTools(server, client) {
|
|
|
250
412
|
if (regionCode)
|
|
251
413
|
params["regionCode"] = regionCode;
|
|
252
414
|
const result = await client.requestRaw("GET", "/billing/v1/cost/getContractSummaryList", params);
|
|
253
|
-
return
|
|
415
|
+
return toolText(result);
|
|
254
416
|
}
|
|
255
417
|
catch (error) {
|
|
256
418
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -291,7 +453,7 @@ export function registerBillingTools(server, client) {
|
|
|
291
453
|
if (regionCode)
|
|
292
454
|
params["regionCode"] = regionCode;
|
|
293
455
|
const result = await client.requestRaw("GET", "/billing/v1/cost/getContractUsageList", params);
|
|
294
|
-
return
|
|
456
|
+
return toolText(result);
|
|
295
457
|
}
|
|
296
458
|
catch (error) {
|
|
297
459
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -332,7 +494,7 @@ export function registerBillingTools(server, client) {
|
|
|
332
494
|
if (regionCode)
|
|
333
495
|
params["regionCode"] = regionCode;
|
|
334
496
|
const result = await client.requestRaw("GET", "/billing/v1/cost/getContractUsageListByDaily", params);
|
|
335
|
-
return
|
|
497
|
+
return toolText(result);
|
|
336
498
|
}
|
|
337
499
|
catch (error) {
|
|
338
500
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -359,7 +521,7 @@ export function registerBillingTools(server, client) {
|
|
|
359
521
|
if (productCategoryCode)
|
|
360
522
|
params["productCategoryCode"] = productCategoryCode;
|
|
361
523
|
const result = await client.requestRaw("GET", "/billing/v1/cost/getCostRelationCodeList", params);
|
|
362
|
-
return
|
|
524
|
+
return toolText(result);
|
|
363
525
|
}
|
|
364
526
|
catch (error) {
|
|
365
527
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -401,7 +563,7 @@ export function registerBillingTools(server, client) {
|
|
|
401
563
|
if (isValidDiscount !== undefined)
|
|
402
564
|
params["isValidDiscount"] = String(isValidDiscount);
|
|
403
565
|
const result = await client.requestRaw("GET", "/billing/v1/discount/getDiscountList", params);
|
|
404
|
-
return
|
|
566
|
+
return toolText(result);
|
|
405
567
|
}
|
|
406
568
|
catch (error) {
|
|
407
569
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -431,7 +593,7 @@ export function registerBillingTools(server, client) {
|
|
|
431
593
|
if (memberNoList)
|
|
432
594
|
memberNoList.forEach((no, i) => { params[`memberNoList.${i + 1}`] = no; });
|
|
433
595
|
const result = await client.requestRaw("GET", "/billing/v1/discount/getCoinHistoryList", params);
|
|
434
|
-
return
|
|
596
|
+
return toolText(result);
|
|
435
597
|
}
|
|
436
598
|
catch (error) {
|
|
437
599
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -467,7 +629,7 @@ export function registerBillingTools(server, client) {
|
|
|
467
629
|
if (endMonth)
|
|
468
630
|
params["endMonth"] = endMonth;
|
|
469
631
|
const result = await client.requestRaw("GET", "/billing/v1/discount/getCreditHistoryList", params);
|
|
470
|
-
return
|
|
632
|
+
return toolText(result);
|
|
471
633
|
}
|
|
472
634
|
catch (error) {
|
|
473
635
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -499,7 +661,7 @@ export function registerBillingTools(server, client) {
|
|
|
499
661
|
if (memberNoList)
|
|
500
662
|
memberNoList.forEach((no, i) => { params[`memberNoList.${i + 1}`] = no; });
|
|
501
663
|
const result = await client.requestRaw("GET", "/billing/v1/discount/getProductDemandCostByDiscountList", params);
|
|
502
|
-
return
|
|
664
|
+
return toolText(result);
|
|
503
665
|
}
|
|
504
666
|
catch (error) {
|
|
505
667
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -535,7 +697,7 @@ export function registerBillingTools(server, client) {
|
|
|
535
697
|
if (endMonth)
|
|
536
698
|
params["endMonth"] = endMonth;
|
|
537
699
|
const result = await client.requestRaw("GET", "/billing/v1/discount/getProductDiscountHistoryList", params);
|
|
538
|
-
return
|
|
700
|
+
return toolText(result);
|
|
539
701
|
}
|
|
540
702
|
catch (error) {
|
|
541
703
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/tools/billing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/tools/billing.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
|
/**
|
|
3
4
|
* Certificate Manager API 1.0
|
|
4
5
|
* Base URL: https://certificatemanager.apigw.ntruss.com
|
|
@@ -31,7 +32,7 @@ export function registerCertificateManagerTools(server, client) {
|
|
|
31
32
|
queryParams["instanceNo"] = params.instanceNo;
|
|
32
33
|
const hasQuery = Object.values(queryParams).some((v) => v !== undefined);
|
|
33
34
|
const result = await client.requestRaw("GET", "/api/v1/certificates", hasQuery ? queryParams : undefined);
|
|
34
|
-
return
|
|
35
|
+
return toolText(result);
|
|
35
36
|
}
|
|
36
37
|
catch (error) {
|
|
37
38
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -51,7 +52,7 @@ export function registerCertificateManagerTools(server, client) {
|
|
|
51
52
|
publicKeyCertificate: params.publicKeyCertificate,
|
|
52
53
|
certificateChain: params.certificateChain,
|
|
53
54
|
});
|
|
54
|
-
return
|
|
55
|
+
return toolText(result);
|
|
55
56
|
}
|
|
56
57
|
catch (error) {
|
|
57
58
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -74,7 +75,7 @@ export function registerCertificateManagerTools(server, client) {
|
|
|
74
75
|
return { content: [{ type: "text", text: message }] };
|
|
75
76
|
}
|
|
76
77
|
const result = await client.requestRaw("DELETE", `/api/v1/certificate/${params.certificateNo}`, { certificateName: params.certificateName });
|
|
77
|
-
return
|
|
78
|
+
return toolText(result);
|
|
78
79
|
}
|
|
79
80
|
catch (error) {
|
|
80
81
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certificate-manager.js","sourceRoot":"","sources":["../../src/tools/certificate-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"certificate-manager.js","sourceRoot":"","sources":["../../src/tools/certificate-manager.ts"],"names":[],"mappings":"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"}
|