cloud-cost-mcp 1.1.1 → 1.2.1

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 CHANGED
@@ -78,6 +78,15 @@ Once installed, just ask Claude:
78
78
  ```
79
79
  "Quick estimate for a medium API server"
80
80
  "Compare all clouds for a kubernetes-cluster preset"
81
+ "Estimate cost for gpu-training-large preset"
82
+ ```
83
+
84
+ ### GPU Pricing (OCI)
85
+ ```
86
+ "List all available GPU shapes"
87
+ "Compare A100 vs H100 GPU pricing"
88
+ "What GPU should I use for ML training with 80GB memory?"
89
+ "Get details for BM.GPU.H100.8"
81
90
  ```
82
91
 
83
92
  ### Migration Planning
@@ -105,6 +114,8 @@ Once installed, just ask Claude:
105
114
  | `estimate_migration_savings` | Calculate migration savings |
106
115
  | `list_presets` | List available deployment presets |
107
116
 
117
+ **Available presets**: `small-web-app`, `medium-api-server`, `large-database`, `ml-training`, `kubernetes-cluster`, `data-lake`, `high-egress-cdn`, `high-traffic-web`, `gpu-inference`, `gpu-training-small`, `gpu-training-large`
118
+
108
119
  ### Data Management Tools
109
120
  | Tool | Description |
110
121
  |------|-------------|
@@ -144,6 +155,16 @@ Once installed, just ask Claude:
144
155
  | `refresh_oci_pricing` | Fetch live OCI pricing (public API) |
145
156
  | `list_oci_categories` | List OCI service categories |
146
157
 
158
+ ### GPU Tools (OCI)
159
+ | Tool | Description |
160
+ |------|-------------|
161
+ | `list_gpu_shapes` | List GPU shapes with filtering by model, use case, price |
162
+ | `get_gpu_shape_details` | Get detailed specs and pricing for a GPU shape |
163
+ | `compare_gpu_shapes` | Compare multiple GPU shapes side-by-side |
164
+ | `recommend_gpu_shape` | Get GPU recommendation based on workload type |
165
+
166
+ **Available GPU shapes**: A10, A100 80GB, H100 80GB, H200 141GB, L40S, MI300X
167
+
147
168
  #### Status
148
169
  | Tool | Description |
149
170
  |------|-------------|
@@ -286,5 +286,135 @@
286
286
  "monthlyPrice": 0.0,
287
287
  "notes": "Pay per read/write units. 25GB Always Free."
288
288
  }
289
+ ],
290
+ "gpu": [
291
+ {
292
+ "service": "gpu",
293
+ "shapeFamily": "BM.GPU.A10.4",
294
+ "type": "nvidia-a10",
295
+ "name": "NVIDIA A10 Bare Metal",
296
+ "description": "4x NVIDIA A10 GPUs for inference workloads",
297
+ "gpuCount": 4,
298
+ "gpuModel": "NVIDIA A10",
299
+ "gpuMemoryGB": 24,
300
+ "ocpus": 64,
301
+ "memoryGB": 1024,
302
+ "pricePerHour": 2.95,
303
+ "currency": "USD",
304
+ "useCase": "inference",
305
+ "notes": "Best for AI inference, graphics rendering, and video processing"
306
+ },
307
+ {
308
+ "service": "gpu",
309
+ "shapeFamily": "VM.GPU.A10.1",
310
+ "type": "nvidia-a10",
311
+ "name": "NVIDIA A10 VM (1 GPU)",
312
+ "description": "1x NVIDIA A10 GPU VM for inference",
313
+ "gpuCount": 1,
314
+ "gpuModel": "NVIDIA A10",
315
+ "gpuMemoryGB": 24,
316
+ "ocpus": 15,
317
+ "memoryGB": 240,
318
+ "pricePerHour": 1.65,
319
+ "currency": "USD",
320
+ "useCase": "inference",
321
+ "notes": "Single GPU VM for smaller inference workloads"
322
+ },
323
+ {
324
+ "service": "gpu",
325
+ "shapeFamily": "VM.GPU.A10.2",
326
+ "type": "nvidia-a10",
327
+ "name": "NVIDIA A10 VM (2 GPU)",
328
+ "description": "2x NVIDIA A10 GPUs VM for inference",
329
+ "gpuCount": 2,
330
+ "gpuModel": "NVIDIA A10",
331
+ "gpuMemoryGB": 24,
332
+ "ocpus": 30,
333
+ "memoryGB": 480,
334
+ "pricePerHour": 2.30,
335
+ "currency": "USD",
336
+ "useCase": "inference",
337
+ "notes": "Dual GPU VM for medium inference workloads"
338
+ },
339
+ {
340
+ "service": "gpu",
341
+ "shapeFamily": "BM.GPU.A100-v2.8",
342
+ "type": "nvidia-a100",
343
+ "name": "NVIDIA A100 Bare Metal (8x 80GB)",
344
+ "description": "8x NVIDIA A100 80GB GPUs for large-scale training",
345
+ "gpuCount": 8,
346
+ "gpuModel": "NVIDIA A100 80GB",
347
+ "gpuMemoryGB": 80,
348
+ "ocpus": 128,
349
+ "memoryGB": 2048,
350
+ "pricePerHour": 17.00,
351
+ "currency": "USD",
352
+ "useCase": "training",
353
+ "notes": "High-bandwidth NVLink interconnect, ideal for distributed training"
354
+ },
355
+ {
356
+ "service": "gpu",
357
+ "shapeFamily": "BM.GPU.H100.8",
358
+ "type": "nvidia-h100",
359
+ "name": "NVIDIA H100 Bare Metal (8x 80GB)",
360
+ "description": "8x NVIDIA H100 80GB GPUs for large-scale AI",
361
+ "gpuCount": 8,
362
+ "gpuModel": "NVIDIA H100 80GB",
363
+ "gpuMemoryGB": 80,
364
+ "ocpus": 112,
365
+ "memoryGB": 2048,
366
+ "pricePerHour": 36.00,
367
+ "currency": "USD",
368
+ "useCase": "training",
369
+ "notes": "Latest generation, 4th Gen Tensor Cores, Transformer Engine"
370
+ },
371
+ {
372
+ "service": "gpu",
373
+ "shapeFamily": "BM.GPU.L40S.4",
374
+ "type": "nvidia-l40s",
375
+ "name": "NVIDIA L40S Bare Metal (4 GPU)",
376
+ "description": "4x NVIDIA L40S GPUs for inference and graphics",
377
+ "gpuCount": 4,
378
+ "gpuModel": "NVIDIA L40S",
379
+ "gpuMemoryGB": 48,
380
+ "ocpus": 64,
381
+ "memoryGB": 1024,
382
+ "pricePerHour": 3.50,
383
+ "currency": "USD",
384
+ "useCase": "inference",
385
+ "notes": "Ada Lovelace architecture, excellent for inference and visualization"
386
+ },
387
+ {
388
+ "service": "gpu",
389
+ "shapeFamily": "BM.GPU.H200.8",
390
+ "type": "nvidia-h200",
391
+ "name": "NVIDIA H200 Bare Metal (8x 141GB)",
392
+ "description": "8x NVIDIA H200 141GB HBM3e GPUs for next-gen AI",
393
+ "gpuCount": 8,
394
+ "gpuModel": "NVIDIA H200",
395
+ "gpuMemoryGB": 141,
396
+ "ocpus": 112,
397
+ "memoryGB": 2048,
398
+ "pricePerHour": 45.00,
399
+ "currency": "USD",
400
+ "useCase": "training",
401
+ "notes": "HBM3e memory for massive models, 1.9x H100 memory bandwidth"
402
+ },
403
+ {
404
+ "service": "gpu",
405
+ "shapeFamily": "BM.GPU.MI300X.8",
406
+ "type": "amd-mi300x",
407
+ "name": "AMD MI300X Bare Metal (8 GPU)",
408
+ "description": "8x AMD Instinct MI300X GPUs for AI workloads",
409
+ "gpuCount": 8,
410
+ "gpuModel": "AMD Instinct MI300X",
411
+ "gpuMemoryGB": 192,
412
+ "ocpus": 128,
413
+ "memoryGB": 2048,
414
+ "pricePerHour": 6.00,
415
+ "currency": "USD",
416
+ "useCase": "training",
417
+ "notes": "192GB HBM3 per GPU, competitive alternative to NVIDIA"
418
+ }
289
419
  ]
290
420
  }
@@ -2,7 +2,7 @@
2
2
  * Cloud Cost MCP - Data Loader
3
3
  * Loads pricing data from bundled JSON files for all cloud providers
4
4
  */
5
- import type { CloudProvider, ProviderPricingData, AllCloudPricing, ComputeInstance, StoragePricing, EgressPricing, DataFreshnessInfo } from '../types.js';
5
+ import type { CloudProvider, ProviderPricingData, AllCloudPricing, ComputeInstance, StoragePricing, EgressPricing, DataFreshnessInfo, GPUPricing } from '../types.js';
6
6
  /**
7
7
  * Get pricing data for a specific provider
8
8
  */
@@ -53,4 +53,12 @@ export declare function getAllDatabasePricing(): {
53
53
  gcp: import("../types.js").DatabasePricing[];
54
54
  oci: import("../types.js").DatabasePricing[];
55
55
  };
56
+ /**
57
+ * Get GPU pricing data (currently OCI only)
58
+ */
59
+ export declare function getGPUPricing(type?: string): GPUPricing[];
60
+ /**
61
+ * Get GPU shape by family name
62
+ */
63
+ export declare function getGPUShapeByFamily(shapeFamily: string): GPUPricing | undefined;
56
64
  //# sourceMappingURL=loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/data/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,cAAc,EACd,aAAa,EACb,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAerB;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,mBAAmB,CAW5E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAOpD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,eAAe,EAAE,CAgB1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,EAAE,CAgBvD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,EAAE,CAQrD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,EAAE,CAoBtD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,yCAE1D;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED;;GAEG;AACH,wBAAgB,uBAAuB;;;;;EAQtC;AAED;;GAEG;AACH,wBAAgB,qBAAqB;;;;;EAQpC"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/data/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,UAAU,EACX,MAAM,aAAa,CAAC;AAerB;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,mBAAmB,CAW5E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAOpD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,eAAe,EAAE,CAgB1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,EAAE,CAgBvD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,EAAE,CAQrD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,iBAAiB,EAAE,CAoBtD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,yCAE1D;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED;;GAEG;AACH,wBAAgB,uBAAuB;;;;;EAQtC;AAED;;GAEG;AACH,wBAAgB,qBAAqB;;;;;EAQpC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE,CAsBzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAK/E"}
@@ -146,4 +146,32 @@ export function getAllDatabasePricing() {
146
146
  oci: allData.oci.database || [],
147
147
  };
148
148
  }
149
+ /**
150
+ * Get GPU pricing data (currently OCI only)
151
+ */
152
+ export function getGPUPricing(type) {
153
+ const cached = pricingCache.get('GPU_PRICING');
154
+ let pricing;
155
+ if (cached) {
156
+ pricing = cached;
157
+ }
158
+ else {
159
+ const ociData = getProviderData('oci');
160
+ pricing = ociData.gpu || [];
161
+ pricingCache.set('GPU_PRICING', pricing, 60);
162
+ }
163
+ if (type) {
164
+ return pricing.filter((p) => p.type === type ||
165
+ p.gpuModel.toLowerCase().includes(type.toLowerCase()) ||
166
+ p.shapeFamily.toLowerCase().includes(type.toLowerCase()));
167
+ }
168
+ return pricing;
169
+ }
170
+ /**
171
+ * Get GPU shape by family name
172
+ */
173
+ export function getGPUShapeByFamily(shapeFamily) {
174
+ const pricing = getGPUPricing();
175
+ return pricing.find((p) => p.shapeFamily.toLowerCase() === shapeFamily.toLowerCase());
176
+ }
149
177
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/data/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/data/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAWrC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;GAEG;AACH,SAAS,eAAe,CAAC,QAAuB;IAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,QAAQ,eAAe,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAwB,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAuB;IACrD,MAAM,QAAQ,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;IACrD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAsB,QAAQ,CAAC,CAAC;IAE/D,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,qBAAqB;IAChE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC;QAC3B,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC;QAC/B,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC;QAC3B,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC;KAC5B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAoB,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3E,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,MAAM,SAAS,GAAsB;QACnC,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO;QACtB,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO;QACxB,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO;QACtB,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO;KACvB,CAAC;IAEF,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAmB,UAAU,CAAC,WAAW,CAAC,CAAC;IAC1E,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,MAAM,OAAO,GAAqB;QAChC,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO;QACtB,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO;QACxB,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO;QACtB,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO;KACvB,CAAC;IAEF,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IACtD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,OAAO;QACL,OAAO,CAAC,GAAG,CAAC,MAAM;QAClB,OAAO,CAAC,KAAK,CAAC,MAAM;QACpB,OAAO,CAAC,GAAG,CAAC,MAAM;QAClB,OAAO,CAAC,GAAG,CAAC,MAAM;KACnB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAE9C,OAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QACxE,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/B,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAE5D,OAAO;YACL,QAAQ;YACR,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;YACtC,SAAS;YACT,OAAO,EAAE,KAAK,GAAG,YAAY;YAC7B,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,UAAU,EAAE,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,KAAK,EAAE,yBAAyB;SACxG,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAuB;IACzD,OAAO,eAAe,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;QAC3B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU;QAC/B,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;QAC3B,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;KAC5B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE;QAC/B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE;QACnC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE;QAC/B,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE;KAChC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAa;IACzC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAe,aAAa,CAAC,CAAC;IAC7D,IAAI,OAAqB,CAAC;IAE1B,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;QAC5B,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,IAAI;YACf,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACrD,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,OAAO,OAAO,CAAC,IAAI,CACjB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,WAAW,EAAE,CACjE,CAAC;AACJ,CAAC"}
package/dist/index.js CHANGED
@@ -24,6 +24,8 @@ import { CallToolRequestSchema, ListToolsRequestSchema, ErrorCode, McpError, } f
24
24
  import { compareCompute, compareStorage, compareEgress, compareKubernetes, findCheapestCompute, getStoragePricingSummary, } from './tools/compare.js';
25
25
  // Import calculator tools
26
26
  import { calculateWorkloadCost, quickEstimate, getAvailablePresets, estimateMigrationSavings, } from './tools/calculator.js';
27
+ // Import GPU tools
28
+ import { listGPUShapes, getGPUShapeDetails, compareGPUShapes, recommendGPUShape, } from './tools/gpu.js';
27
29
  // Import data functions
28
30
  import { getDataFreshness, getProviderData, } from './data/loader.js';
29
31
  // Import real-time fetchers
@@ -34,7 +36,7 @@ import { fetchAWSEC2Pricing, fetchAWSRDSPricing, getAWSLightsailPricing, getAWSR
34
36
  // Create server instance
35
37
  const server = new Server({
36
38
  name: 'cloud-cost-mcp',
37
- version: '1.1.0',
39
+ version: '1.2.1',
38
40
  }, {
39
41
  capabilities: {
40
42
  tools: {},
@@ -192,13 +194,17 @@ const TOOLS = [
192
194
  },
193
195
  {
194
196
  name: 'quick_estimate',
195
- description: 'Get instant cost comparison for common deployment presets.',
197
+ description: 'Get instant cost comparison for common deployment presets including GPU workloads.',
196
198
  inputSchema: {
197
199
  type: 'object',
198
200
  properties: {
199
201
  preset: {
200
202
  type: 'string',
201
- enum: ['small-web-app', 'medium-api-server', 'large-database', 'ml-training', 'kubernetes-cluster', 'data-lake', 'high-egress-cdn'],
203
+ enum: [
204
+ 'small-web-app', 'medium-api-server', 'large-database', 'ml-training',
205
+ 'kubernetes-cluster', 'data-lake', 'high-egress-cdn', 'high-traffic-web',
206
+ 'gpu-inference', 'gpu-training-small', 'gpu-training-large'
207
+ ],
202
208
  description: 'Deployment preset name',
203
209
  },
204
210
  },
@@ -525,6 +531,82 @@ const TOOLS = [
525
531
  properties: {},
526
532
  },
527
533
  },
534
+ // GPU Tools (OCI)
535
+ {
536
+ name: 'list_gpu_shapes',
537
+ description: 'List OCI GPU shapes with pricing. Filter by GPU model (A10, A100, H100, H200, L40S, MI300X) or use case (inference, training).',
538
+ inputSchema: {
539
+ type: 'object',
540
+ properties: {
541
+ gpuModel: {
542
+ type: 'string',
543
+ description: 'Filter by GPU model (e.g., "A100", "H100", "MI300X")',
544
+ },
545
+ useCase: {
546
+ type: 'string',
547
+ enum: ['inference', 'training', 'graphics', 'general'],
548
+ description: 'Filter by intended use case',
549
+ },
550
+ maxPricePerHour: {
551
+ type: 'number',
552
+ description: 'Maximum hourly price filter',
553
+ },
554
+ },
555
+ },
556
+ },
557
+ {
558
+ name: 'get_gpu_shape_details',
559
+ description: 'Get detailed specifications and pricing for a specific OCI GPU shape.',
560
+ inputSchema: {
561
+ type: 'object',
562
+ properties: {
563
+ shapeFamily: {
564
+ type: 'string',
565
+ description: 'GPU shape family (e.g., "BM.GPU.H100.8", "BM.GPU.A100-v2.8", "VM.GPU.A10.1")',
566
+ },
567
+ },
568
+ required: ['shapeFamily'],
569
+ },
570
+ },
571
+ {
572
+ name: 'compare_gpu_shapes',
573
+ description: 'Compare multiple OCI GPU shapes side-by-side on specs, pricing, and price-per-GPU metrics.',
574
+ inputSchema: {
575
+ type: 'object',
576
+ properties: {
577
+ shapes: {
578
+ type: 'array',
579
+ items: { type: 'string' },
580
+ description: 'GPU shape families to compare (e.g., ["BM.GPU.A10.4", "BM.GPU.A100-v2.8", "BM.GPU.H100.8"])',
581
+ },
582
+ },
583
+ required: ['shapes'],
584
+ },
585
+ },
586
+ {
587
+ name: 'recommend_gpu_shape',
588
+ description: 'Get GPU shape recommendation based on workload requirements and budget.',
589
+ inputSchema: {
590
+ type: 'object',
591
+ properties: {
592
+ workloadType: {
593
+ type: 'string',
594
+ enum: ['inference', 'training', 'fine-tuning', 'data-science'],
595
+ description: 'Type of AI/ML workload',
596
+ },
597
+ minGPUMemoryGB: {
598
+ type: 'number',
599
+ description: 'Minimum GPU memory needed per GPU (e.g., 24, 40, 80)',
600
+ },
601
+ budget: {
602
+ type: 'string',
603
+ enum: ['low', 'medium', 'high'],
604
+ description: 'Budget constraint (low: <$5/hr, medium: <$20/hr, high: unlimited)',
605
+ },
606
+ },
607
+ required: ['workloadType'],
608
+ },
609
+ },
528
610
  ];
529
611
  // Handle list tools request
530
612
  server.setRequestHandler(ListToolsRequestSchema, async () => {
@@ -682,6 +764,27 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
682
764
  note: 'Azure VM categories with count of instance types',
683
765
  };
684
766
  break;
767
+ // GPU Tools (OCI)
768
+ case 'list_gpu_shapes':
769
+ result = listGPUShapes({
770
+ gpuModel: typedArgs.gpuModel,
771
+ useCase: typedArgs.useCase,
772
+ maxPricePerHour: typedArgs.maxPricePerHour,
773
+ });
774
+ break;
775
+ case 'get_gpu_shape_details':
776
+ result = getGPUShapeDetails(typedArgs.shapeFamily);
777
+ break;
778
+ case 'compare_gpu_shapes':
779
+ result = compareGPUShapes(typedArgs.shapes);
780
+ break;
781
+ case 'recommend_gpu_shape':
782
+ result = recommendGPUShape({
783
+ workloadType: typedArgs.workloadType,
784
+ minGPUMemoryGB: typedArgs.minGPUMemoryGB,
785
+ budget: typedArgs.budget,
786
+ });
787
+ break;
685
788
  default:
686
789
  throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
687
790
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -10,13 +10,16 @@ export declare function calculateWorkloadCost(spec: WorkloadSpec): WorkloadCompa
10
10
  /**
11
11
  * Quick estimate for common deployment presets
12
12
  */
13
- export declare function quickEstimate(preset: string): WorkloadComparisonResult;
13
+ export declare function quickEstimate(preset: string): WorkloadComparisonResult & {
14
+ presetDescription?: string;
15
+ };
14
16
  /**
15
17
  * Get available presets
16
18
  */
17
19
  export declare function getAvailablePresets(): Array<{
18
20
  name: string;
19
21
  description: string;
22
+ category: string;
20
23
  }>;
21
24
  /**
22
25
  * Estimate migration savings from one cloud to another
@@ -1 +1 @@
1
- {"version":3,"file":"calculator.d.ts","sourceRoot":"","sources":["../../src/tools/calculator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAEZ,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAiJrB;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,wBAAwB,CA2ClF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,wBAAwB,CA+CtE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAUlF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,IAAI,EAAE,YAAY,CAAC;IACnB,eAAe,EAAE,aAAa,CAAC;IAC/B,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC,GAAG;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,CAsCA"}
1
+ {"version":3,"file":"calculator.d.ts","sourceRoot":"","sources":["../../src/tools/calculator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAEZ,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAiJrB;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,wBAAwB,CA2ClF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,wBAAwB,GAAG;IAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAAE,CAyGvG;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBpG;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,IAAI,EAAE,YAAY,CAAC;IACnB,eAAe,EAAE,aAAa,CAAC;IAC/B,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC,GAAG;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,CAsCA"}
@@ -174,59 +174,123 @@ export function calculateWorkloadCost(spec) {
174
174
  export function quickEstimate(preset) {
175
175
  const presets = {
176
176
  'small-web-app': {
177
- compute: { vcpus: 2, memoryGB: 4, count: 1 },
178
- storage: { blockGB: 50 },
179
- egress: { monthlyGB: 100 },
177
+ spec: {
178
+ compute: { vcpus: 2, memoryGB: 4, count: 1 },
179
+ storage: { blockGB: 50 },
180
+ egress: { monthlyGB: 100 },
181
+ },
182
+ description: 'Basic web application with single instance',
180
183
  },
181
184
  'medium-api-server': {
182
- compute: { vcpus: 4, memoryGB: 16, count: 2 },
183
- storage: { blockGB: 200, objectGB: 100 },
184
- egress: { monthlyGB: 500 },
185
+ spec: {
186
+ compute: { vcpus: 4, memoryGB: 16, count: 2 },
187
+ storage: { blockGB: 200, objectGB: 100 },
188
+ egress: { monthlyGB: 500 },
189
+ },
190
+ description: 'API server with load balancing and moderate storage',
185
191
  },
186
192
  'large-database': {
187
- compute: { vcpus: 8, memoryGB: 64, count: 1 },
188
- storage: { blockGB: 1000 },
189
- egress: { monthlyGB: 200 },
193
+ spec: {
194
+ compute: { vcpus: 8, memoryGB: 64, count: 1 },
195
+ storage: { blockGB: 1000 },
196
+ egress: { monthlyGB: 200 },
197
+ },
198
+ description: 'High-memory database server with 1TB storage',
190
199
  },
191
200
  'ml-training': {
192
- compute: { vcpus: 8, memoryGB: 32, count: 2 },
193
- storage: { objectGB: 500 },
194
- egress: { monthlyGB: 1000 },
201
+ spec: {
202
+ compute: { vcpus: 8, memoryGB: 32, count: 2 },
203
+ storage: { objectGB: 500 },
204
+ egress: { monthlyGB: 1000 },
205
+ },
206
+ description: 'CPU-based ML training cluster (no GPU)',
195
207
  },
196
208
  'kubernetes-cluster': {
197
- kubernetes: { nodeCount: 3, nodeVcpus: 4, nodeMemoryGB: 16 },
198
- storage: { blockGB: 300 },
199
- egress: { monthlyGB: 500 },
209
+ spec: {
210
+ kubernetes: { nodeCount: 3, nodeVcpus: 4, nodeMemoryGB: 16 },
211
+ storage: { blockGB: 300 },
212
+ egress: { monthlyGB: 500 },
213
+ },
214
+ description: 'Standard 3-node Kubernetes cluster',
200
215
  },
201
216
  'data-lake': {
202
- compute: { vcpus: 4, memoryGB: 16, count: 2 },
203
- storage: { objectGB: 5000 },
204
- egress: { monthlyGB: 2000 },
217
+ spec: {
218
+ compute: { vcpus: 16, memoryGB: 128, count: 1 },
219
+ storage: { objectGB: 100000 },
220
+ egress: { monthlyGB: 5000 },
221
+ },
222
+ description: 'Object storage-heavy analytics workload (100TB)',
205
223
  },
206
224
  'high-egress-cdn': {
207
- compute: { vcpus: 2, memoryGB: 4, count: 2 },
208
- storage: { objectGB: 200 },
209
- egress: { monthlyGB: 10000 },
225
+ spec: {
226
+ compute: { vcpus: 2, memoryGB: 4, count: 2 },
227
+ storage: { objectGB: 200 },
228
+ egress: { monthlyGB: 10000 },
229
+ },
230
+ description: 'CDN origin servers with 10TB/month egress',
231
+ },
232
+ // GPU Presets (using equivalent vCPU/memory for cost estimation)
233
+ 'gpu-inference': {
234
+ spec: {
235
+ compute: { vcpus: 64, memoryGB: 1024, count: 1 },
236
+ storage: { blockGB: 500, objectGB: 1000 },
237
+ egress: { monthlyGB: 2000 },
238
+ },
239
+ description: 'GPU inference server (BM.GPU.A10.4 equivalent: $2.95/hr)',
240
+ },
241
+ 'gpu-training-small': {
242
+ spec: {
243
+ compute: { vcpus: 128, memoryGB: 2048, count: 1 },
244
+ storage: { blockGB: 2000, objectGB: 5000 },
245
+ egress: { monthlyGB: 5000 },
246
+ },
247
+ description: 'GPU training (BM.GPU.A100-v2.8 equivalent: $17/hr, ~200hrs/month)',
248
+ },
249
+ 'gpu-training-large': {
250
+ spec: {
251
+ compute: { vcpus: 112, memoryGB: 2048, count: 1 },
252
+ storage: { blockGB: 10000, objectGB: 50000 },
253
+ egress: { monthlyGB: 10000 },
254
+ },
255
+ description: 'Large-scale GPU training (BM.GPU.H100.8 equivalent: $36/hr)',
256
+ },
257
+ 'high-traffic-web': {
258
+ spec: {
259
+ compute: { vcpus: 8, memoryGB: 64, count: 4 },
260
+ storage: { blockGB: 500, objectGB: 2000 },
261
+ egress: { monthlyGB: 10000 },
262
+ },
263
+ description: 'Load-balanced web tier with 4 instances and CDN',
210
264
  },
211
265
  };
212
- const spec = presets[preset];
213
- if (!spec) {
266
+ const presetConfig = presets[preset];
267
+ if (!presetConfig) {
214
268
  throw new Error(`Unknown preset: ${preset}. Available presets: ${Object.keys(presets).join(', ')}`);
215
269
  }
216
- return calculateWorkloadCost(spec);
270
+ const result = calculateWorkloadCost(presetConfig.spec);
271
+ return {
272
+ ...result,
273
+ presetDescription: presetConfig.description,
274
+ };
217
275
  }
218
276
  /**
219
277
  * Get available presets
220
278
  */
221
279
  export function getAvailablePresets() {
222
280
  return [
223
- { name: 'small-web-app', description: '2 vCPU, 4GB RAM, 50GB storage, 100GB egress' },
224
- { name: 'medium-api-server', description: '2x 4 vCPU, 16GB RAM, 200GB block + 100GB object, 500GB egress' },
225
- { name: 'large-database', description: '8 vCPU, 64GB RAM, 1TB storage, 200GB egress' },
226
- { name: 'ml-training', description: '2x 8 vCPU, 32GB RAM, 500GB object storage, 1TB egress' },
227
- { name: 'kubernetes-cluster', description: '3 nodes × 4 vCPU × 16GB, 300GB storage, 500GB egress' },
228
- { name: 'data-lake', description: '2x 4 vCPU, 16GB RAM, 5TB object storage, 2TB egress' },
229
- { name: 'high-egress-cdn', description: '2x 2 vCPU, 4GB RAM, 200GB object, 10TB egress (shows OCI advantage)' },
281
+ // Standard presets
282
+ { name: 'small-web-app', description: '2 vCPU, 4GB RAM, 50GB storage, 100GB egress', category: 'web' },
283
+ { name: 'medium-api-server', description: '2x 4 vCPU, 16GB RAM, 200GB block + 100GB object, 500GB egress', category: 'web' },
284
+ { name: 'high-traffic-web', description: '4x 8 vCPU, 64GB RAM, 500GB block + 2TB object, 10TB egress', category: 'web' },
285
+ { name: 'large-database', description: '8 vCPU, 64GB RAM, 1TB storage, 200GB egress', category: 'database' },
286
+ { name: 'kubernetes-cluster', description: '3 nodes × 4 vCPU × 16GB, 300GB storage, 500GB egress', category: 'kubernetes' },
287
+ { name: 'data-lake', description: '16 vCPU, 128GB RAM, 100TB object storage, 5TB egress', category: 'analytics' },
288
+ { name: 'high-egress-cdn', description: '2x 2 vCPU, 4GB RAM, 200GB object, 10TB egress (shows OCI advantage)', category: 'networking' },
289
+ // GPU presets
290
+ { name: 'ml-training', description: 'CPU-based: 2x 8 vCPU, 32GB RAM, 500GB object storage, 1TB egress', category: 'ml' },
291
+ { name: 'gpu-inference', description: 'GPU inference: A10 equivalent (64 vCPU, 1TB RAM, ~$2.95/hr GPU cost)', category: 'gpu' },
292
+ { name: 'gpu-training-small', description: 'GPU training: A100 equivalent (128 vCPU, 2TB RAM, ~$17/hr GPU cost)', category: 'gpu' },
293
+ { name: 'gpu-training-large', description: 'Large GPU training: H100 equivalent (112 vCPU, 2TB RAM, ~$36/hr GPU cost)', category: 'gpu' },
230
294
  ];
231
295
  }
232
296
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../src/tools/calculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calculator.js","sourceRoot":"","sources":["../../src/tools/calculator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Cloud Cost MCP - GPU Tools
3
+ * Tools for listing, comparing, and recommending GPU shapes
4
+ */
5
+ import type { GPUPricing, GPUUseCase } from '../types.js';
6
+ /**
7
+ * List GPU shapes with optional filtering
8
+ */
9
+ export declare function listGPUShapes(params: {
10
+ gpuModel?: string;
11
+ useCase?: GPUUseCase;
12
+ maxPricePerHour?: number;
13
+ }): {
14
+ shapes: GPUPricing[];
15
+ count: number;
16
+ summary: string;
17
+ };
18
+ /**
19
+ * Get detailed info for a specific GPU shape
20
+ */
21
+ export declare function getGPUShapeDetails(shapeFamily: string): {
22
+ found: boolean;
23
+ shape?: GPUPricing;
24
+ monthlyEstimate?: number;
25
+ costBreakdown?: {
26
+ hourly: number;
27
+ daily: number;
28
+ monthly: number;
29
+ annual: number;
30
+ };
31
+ specs?: {
32
+ totalGPUMemoryGB: number;
33
+ gpuMemoryPerUnit: number;
34
+ memoryPerOCPU: number;
35
+ };
36
+ message: string;
37
+ };
38
+ /**
39
+ * Compare multiple GPU shapes side by side
40
+ */
41
+ export declare function compareGPUShapes(shapes: string[]): {
42
+ comparison: Array<{
43
+ shapeFamily: string;
44
+ name: string;
45
+ gpuCount: number;
46
+ gpuModel: string;
47
+ gpuMemoryGB: number;
48
+ totalGPUMemoryGB: number;
49
+ ocpus: number;
50
+ memoryGB: number;
51
+ pricePerHour: number;
52
+ monthlyPrice: number;
53
+ useCase: string;
54
+ pricePerGPU: number;
55
+ pricePerGPUMemoryGB: number;
56
+ }>;
57
+ cheapest: string | null;
58
+ mostMemory: string | null;
59
+ summary: string;
60
+ };
61
+ /**
62
+ * Recommend GPU shape based on workload requirements
63
+ */
64
+ export declare function recommendGPUShape(params: {
65
+ workloadType: 'inference' | 'training' | 'fine-tuning' | 'data-science';
66
+ minGPUMemoryGB?: number;
67
+ budget?: 'low' | 'medium' | 'high';
68
+ }): {
69
+ recommended: GPUPricing | null;
70
+ alternatives: GPUPricing[];
71
+ reasoning: string;
72
+ allMatches: GPUPricing[];
73
+ };
74
+ //# sourceMappingURL=gpu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gpu.d.ts","sourceRoot":"","sources":["../../src/tools/gpu.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG1D;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG;IACF,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,CAqCA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG;IACvD,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;CACjB,CAgCA;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG;IAClD,UAAU,EAAE,KAAK,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC,CAAC;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CA0EA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,YAAY,EAAE,WAAW,GAAG,UAAU,GAAG,aAAa,GAAG,cAAc,CAAC;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;CACpC,GAAG;IACF,WAAW,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,EAAE,CAAC;CAC1B,CAqFA"}
@@ -0,0 +1,222 @@
1
+ /**
2
+ * Cloud Cost MCP - GPU Tools
3
+ * Tools for listing, comparing, and recommending GPU shapes
4
+ */
5
+ import { getGPUPricing, getGPUShapeByFamily } from '../data/loader.js';
6
+ /**
7
+ * List GPU shapes with optional filtering
8
+ */
9
+ export function listGPUShapes(params) {
10
+ let shapes = getGPUPricing();
11
+ // Filter by GPU model
12
+ if (params.gpuModel) {
13
+ const model = params.gpuModel.toLowerCase();
14
+ shapes = shapes.filter((s) => s.gpuModel.toLowerCase().includes(model) ||
15
+ s.type.toLowerCase().includes(model) ||
16
+ s.shapeFamily.toLowerCase().includes(model));
17
+ }
18
+ // Filter by use case
19
+ if (params.useCase) {
20
+ shapes = shapes.filter((s) => s.useCase === params.useCase);
21
+ }
22
+ // Filter by max price
23
+ if (params.maxPricePerHour !== undefined) {
24
+ shapes = shapes.filter((s) => s.pricePerHour <= params.maxPricePerHour);
25
+ }
26
+ // Sort by price
27
+ shapes.sort((a, b) => a.pricePerHour - b.pricePerHour);
28
+ const summary = shapes.length === 0
29
+ ? 'No GPU shapes match the specified criteria.'
30
+ : `Found ${shapes.length} GPU shape(s). Prices range from $${shapes[0].pricePerHour.toFixed(2)}/hr to $${shapes[shapes.length - 1].pricePerHour.toFixed(2)}/hr.`;
31
+ return {
32
+ shapes,
33
+ count: shapes.length,
34
+ summary,
35
+ };
36
+ }
37
+ /**
38
+ * Get detailed info for a specific GPU shape
39
+ */
40
+ export function getGPUShapeDetails(shapeFamily) {
41
+ const shape = getGPUShapeByFamily(shapeFamily);
42
+ if (!shape) {
43
+ const allShapes = getGPUPricing();
44
+ const availableShapes = allShapes.map((s) => s.shapeFamily).join(', ');
45
+ return {
46
+ found: false,
47
+ message: `GPU shape '${shapeFamily}' not found. Available shapes: ${availableShapes}`,
48
+ };
49
+ }
50
+ const monthlyEstimate = shape.pricePerHour * 730; // 730 hours/month
51
+ const totalGPUMemoryGB = shape.gpuCount * shape.gpuMemoryGB;
52
+ return {
53
+ found: true,
54
+ shape,
55
+ monthlyEstimate,
56
+ costBreakdown: {
57
+ hourly: shape.pricePerHour,
58
+ daily: shape.pricePerHour * 24,
59
+ monthly: monthlyEstimate,
60
+ annual: monthlyEstimate * 12,
61
+ },
62
+ specs: {
63
+ totalGPUMemoryGB,
64
+ gpuMemoryPerUnit: shape.gpuMemoryGB,
65
+ memoryPerOCPU: Math.round(shape.memoryGB / shape.ocpus),
66
+ },
67
+ message: `${shape.name}: ${shape.gpuCount}x ${shape.gpuModel} with ${totalGPUMemoryGB}GB total GPU memory at $${shape.pricePerHour.toFixed(2)}/hr ($${monthlyEstimate.toFixed(2)}/month)`,
68
+ };
69
+ }
70
+ /**
71
+ * Compare multiple GPU shapes side by side
72
+ */
73
+ export function compareGPUShapes(shapes) {
74
+ const results = [];
75
+ const notFound = [];
76
+ for (const shapeFamily of shapes) {
77
+ const shape = getGPUShapeByFamily(shapeFamily);
78
+ if (shape) {
79
+ const totalGPUMemoryGB = shape.gpuCount * shape.gpuMemoryGB;
80
+ results.push({
81
+ shapeFamily: shape.shapeFamily,
82
+ name: shape.name,
83
+ gpuCount: shape.gpuCount,
84
+ gpuModel: shape.gpuModel,
85
+ gpuMemoryGB: shape.gpuMemoryGB,
86
+ totalGPUMemoryGB,
87
+ ocpus: shape.ocpus,
88
+ memoryGB: shape.memoryGB,
89
+ pricePerHour: shape.pricePerHour,
90
+ monthlyPrice: shape.pricePerHour * 730,
91
+ useCase: shape.useCase,
92
+ pricePerGPU: shape.pricePerHour / shape.gpuCount,
93
+ pricePerGPUMemoryGB: shape.pricePerHour / totalGPUMemoryGB,
94
+ });
95
+ }
96
+ else {
97
+ notFound.push(shapeFamily);
98
+ }
99
+ }
100
+ if (results.length === 0) {
101
+ return {
102
+ comparison: [],
103
+ cheapest: null,
104
+ mostMemory: null,
105
+ summary: `No valid GPU shapes found. Not found: ${notFound.join(', ')}`,
106
+ };
107
+ }
108
+ // Find cheapest and most memory
109
+ const cheapest = results.reduce((a, b) => a.pricePerHour < b.pricePerHour ? a : b);
110
+ const mostMemory = results.reduce((a, b) => a.totalGPUMemoryGB > b.totalGPUMemoryGB ? a : b);
111
+ let summary = `Compared ${results.length} GPU shapes. `;
112
+ summary += `Cheapest: ${cheapest.name} at $${cheapest.pricePerHour.toFixed(2)}/hr. `;
113
+ summary += `Most GPU memory: ${mostMemory.name} with ${mostMemory.totalGPUMemoryGB}GB total.`;
114
+ if (notFound.length > 0) {
115
+ summary += ` Not found: ${notFound.join(', ')}.`;
116
+ }
117
+ return {
118
+ comparison: results,
119
+ cheapest: cheapest.shapeFamily,
120
+ mostMemory: mostMemory.shapeFamily,
121
+ summary,
122
+ };
123
+ }
124
+ /**
125
+ * Recommend GPU shape based on workload requirements
126
+ */
127
+ export function recommendGPUShape(params) {
128
+ let shapes = getGPUPricing();
129
+ // Map workload type to use case
130
+ const useCaseMap = {
131
+ inference: ['inference'],
132
+ training: ['training'],
133
+ 'fine-tuning': ['training', 'inference'],
134
+ 'data-science': ['inference', 'training', 'general'],
135
+ };
136
+ const relevantUseCases = useCaseMap[params.workloadType] || ['general'];
137
+ // Filter by use case
138
+ shapes = shapes.filter((s) => relevantUseCases.includes(s.useCase));
139
+ // Filter by minimum GPU memory if specified
140
+ if (params.minGPUMemoryGB) {
141
+ shapes = shapes.filter((s) => s.gpuMemoryGB >= params.minGPUMemoryGB);
142
+ }
143
+ // Filter by budget
144
+ const budgetRanges = {
145
+ low: { min: 0, max: 5 },
146
+ medium: { min: 0, max: 20 },
147
+ high: { min: 0, max: Infinity },
148
+ };
149
+ if (params.budget) {
150
+ const range = budgetRanges[params.budget];
151
+ shapes = shapes.filter((s) => s.pricePerHour >= range.min && s.pricePerHour <= range.max);
152
+ }
153
+ // Sort by price
154
+ shapes.sort((a, b) => a.pricePerHour - b.pricePerHour);
155
+ if (shapes.length === 0) {
156
+ return {
157
+ recommended: null,
158
+ alternatives: [],
159
+ reasoning: `No GPU shapes match the criteria: workloadType=${params.workloadType}, minGPUMemoryGB=${params.minGPUMemoryGB || 'any'}, budget=${params.budget || 'any'}. Try relaxing your requirements.`,
160
+ allMatches: [],
161
+ };
162
+ }
163
+ // Pick recommended based on workload type
164
+ let recommended;
165
+ if (params.workloadType === 'inference') {
166
+ // For inference, prefer A10 or L40S (good inference performance, reasonable cost)
167
+ recommended =
168
+ shapes.find((s) => s.type === 'nvidia-a10' || s.type === 'nvidia-l40s') || shapes[0];
169
+ }
170
+ else if (params.workloadType === 'training') {
171
+ // For training, prefer H100 > A100 > others if budget allows
172
+ recommended =
173
+ shapes.find((s) => s.type === 'nvidia-h100') ||
174
+ shapes.find((s) => s.type === 'nvidia-a100') ||
175
+ shapes[shapes.length - 1]; // Most capable in range
176
+ }
177
+ else if (params.workloadType === 'fine-tuning') {
178
+ // For fine-tuning, A100 is often the sweet spot
179
+ recommended =
180
+ shapes.find((s) => s.type === 'nvidia-a100') ||
181
+ shapes.find((s) => s.type === 'nvidia-a10') ||
182
+ shapes[0];
183
+ }
184
+ else {
185
+ // Data science - balance of cost and capability
186
+ recommended = shapes[Math.floor(shapes.length / 2)] || shapes[0];
187
+ }
188
+ const alternatives = shapes.filter((s) => s.shapeFamily !== recommended.shapeFamily);
189
+ const reasoning = buildRecommendationReasoning(recommended, params);
190
+ return {
191
+ recommended,
192
+ alternatives: alternatives.slice(0, 3), // Top 3 alternatives
193
+ reasoning,
194
+ allMatches: shapes,
195
+ };
196
+ }
197
+ function buildRecommendationReasoning(shape, params) {
198
+ const parts = [];
199
+ parts.push(`Recommended: ${shape.name} (${shape.shapeFamily})`);
200
+ parts.push(`- ${shape.gpuCount}x ${shape.gpuModel} with ${shape.gpuMemoryGB}GB memory per GPU`);
201
+ parts.push(`- Total GPU memory: ${shape.gpuCount * shape.gpuMemoryGB}GB`);
202
+ parts.push(`- Price: $${shape.pricePerHour.toFixed(2)}/hr ($${(shape.pricePerHour * 730).toFixed(2)}/month)`);
203
+ switch (params.workloadType) {
204
+ case 'inference':
205
+ parts.push(`- Best for inference due to balanced performance-to-cost ratio`);
206
+ break;
207
+ case 'training':
208
+ parts.push(`- Best for training with high memory bandwidth and tensor cores`);
209
+ break;
210
+ case 'fine-tuning':
211
+ parts.push(`- Good balance of memory and cost for fine-tuning workloads`);
212
+ break;
213
+ case 'data-science':
214
+ parts.push(`- Versatile option for data science experimentation`);
215
+ break;
216
+ }
217
+ if (shape.notes) {
218
+ parts.push(`- Note: ${shape.notes}`);
219
+ }
220
+ return parts.join('\n');
221
+ }
222
+ //# sourceMappingURL=gpu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gpu.js","sourceRoot":"","sources":["../../src/tools/gpu.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -5,6 +5,26 @@
5
5
  export type CloudProvider = 'aws' | 'azure' | 'gcp' | 'oci';
6
6
  export type ComputeCategory = 'general' | 'compute' | 'memory' | 'storage' | 'gpu' | 'arm';
7
7
  export type StorageTier = 'hot' | 'cool' | 'cold' | 'archive';
8
+ export type GPUType = 'nvidia-a10' | 'nvidia-a100' | 'nvidia-h100' | 'nvidia-h200' | 'nvidia-l40s' | 'nvidia-b200' | 'amd-mi300x';
9
+ export type GPUUseCase = 'inference' | 'training' | 'graphics' | 'general';
10
+ export interface GPUPricing {
11
+ service: 'gpu';
12
+ shapeFamily: string;
13
+ type: GPUType;
14
+ name: string;
15
+ description: string;
16
+ gpuCount: number;
17
+ gpuModel: string;
18
+ gpuMemoryGB: number;
19
+ ocpus: number;
20
+ memoryGB: number;
21
+ pricePerHour: number;
22
+ currency: 'USD';
23
+ useCase: GPUUseCase;
24
+ partNumber?: string;
25
+ notes?: string;
26
+ }
27
+ export type WorkloadPresetType = 'small-web-app' | 'medium-api-server' | 'large-database' | 'ml-training' | 'kubernetes-cluster' | 'data-lake' | 'high-egress-cdn' | 'gpu-inference' | 'gpu-training-small' | 'gpu-training-large' | 'high-traffic-web';
8
28
  export interface PricingMetadata {
9
29
  provider: CloudProvider;
10
30
  lastUpdated: string;
@@ -116,6 +136,7 @@ export interface ProviderPricingData {
116
136
  egress: EgressPricing;
117
137
  kubernetes?: KubernetesPricing;
118
138
  database?: DatabasePricing[];
139
+ gpu?: GPUPricing[];
119
140
  }
120
141
  export interface AllCloudPricing {
121
142
  aws: ProviderPricingData;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC;AAE3F,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAG9D,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,aAAa,GAC5D,aAAa,GAAG,aAAa,GAAG,YAAY,CAAC;AAEnE,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AAG3E,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,KAAK,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,MAAM,kBAAkB,GAC1B,eAAe,GAAG,mBAAmB,GAAG,gBAAgB,GACxD,aAAa,GAAG,oBAAoB,GAAG,WAAW,GAAG,iBAAiB,GAEtE,eAAe,GAAG,oBAAoB,GAAG,oBAAoB,GAC7D,kBAAkB,CAAC;AAGvB,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;IAC1B,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9C,IAAI,EAAE,WAAW,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,GAAG,OAAO,GAAG,YAAY,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,sBAAsB,CAAC;IAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,KAAK,CAAC;QACtB,QAAQ,EAAE,aAAa,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,SAAS,EAAE,KAAK,CAAC;QACf,QAAQ,EAAE,aAAa,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,QAAQ,EAAE,aAAa,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC;CACpB;AAGD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,mBAAmB,CAAC;IACzB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,GAAG,EAAE,mBAAmB,CAAC;IACzB,GAAG,EAAE,mBAAmB,CAAC;CAC1B;AAGD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAGD,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,KAAK,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,oBAAoB,EAAE,CAAC;IAClC,QAAQ,EAAE,aAAa,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cloud-cost-mcp",
3
- "version": "1.1.1",
3
+ "version": "1.2.1",
4
4
  "description": "Multi-cloud pricing comparison MCP server for AWS, Azure, GCP, and OCI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",