Kubecost · Capability
Kubecost Cloud Cost API — Model
Kubecost Cloud Cost API — Model. 3 operations. Lead operation: Kubecost Query cloud cost data. Self-contained Naftiko capability covering one Kubecost business surface.
What You Can Do
GET
Getcloudcost
— Kubecost Query cloud cost data
/v1/model/cloudcost
GET
Getcloudcosttop
— Kubecost Query top cloud costs
/v1/model/cloudcost/top
GET
Getcloudcostview
— Kubecost Query cloud cost view data
/v1/model/cloudcost/view
MCP Tools
kubecost-query-cloud-cost-data
Kubecost Query cloud cost data
read-only
idempotent
kubecost-query-top-cloud-costs
Kubecost Query top cloud costs
read-only
idempotent
kubecost-query-cloud-cost-view
Kubecost Query cloud cost view data
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Kubecost Cloud Cost API — Model
description: 'Kubecost Cloud Cost API — Model. 3 operations. Lead operation: Kubecost Query cloud cost data. Self-contained
Naftiko capability covering one Kubecost business surface.'
tags:
- Kubecost
- Model
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
KUBECOST_API_KEY: KUBECOST_API_KEY
capability:
consumes:
- type: http
namespace: cloud-cost-model
baseUri: http://{kubecost-address}
description: Kubecost Cloud Cost API — Model business capability. Self-contained, no shared references.
resources:
- name: model-cloudCost
path: /model/cloudCost
operations:
- name: getcloudcost
method: GET
description: Kubecost Query cloud cost data
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: window
in: query
type: string
description: Duration of time over which to query. Accepts daily intervals (e.g. 3d) or RFC3339 date pairs.
required: true
- name: aggregate
in: query
type: string
description: Field by which to aggregate results. Supported values include invoiceEntityID, accountID, provider,
service, and label:<name>. Supports multi-aggregation via co
- name: accumulate
in: query
type: boolean
description: If true, sum the entire range into a single set.
- name: filterInvoiceEntityIDs
in: query
type: string
description: Filter by invoice entity ID (comma-separated).
- name: filterAccountIDs
in: query
type: string
description: Filter by account ID (comma-separated).
- name: filterProviders
in: query
type: string
description: Filter by provider (comma-separated).
- name: filterServices
in: query
type: string
description: Filter by service (comma-separated).
- name: filterLabels
in: query
type: string
description: Filter by label in the format label:value.
- name: model-cloudCost-top
path: /model/cloudCost/top
operations:
- name: getcloudcosttop
method: GET
description: Kubecost Query top cloud costs
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: window
in: query
type: string
required: true
- name: aggregate
in: query
type: string
- name: accumulate
in: query
type: boolean
- name: filterProviders
in: query
type: string
- name: filterServices
in: query
type: string
- name: limit
in: query
type: integer
description: Maximum number of results to return.
- name: model-cloudCost-view
path: /model/cloudCost/view
operations:
- name: getcloudcostview
method: GET
description: Kubecost Query cloud cost view data
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: window
in: query
type: string
required: true
- name: aggregate
in: query
type: string
- name: accumulate
in: query
type: boolean
- name: filterInvoiceEntityIDs
in: query
type: string
- name: filterAccountIDs
in: query
type: string
- name: filterProviders
in: query
type: string
- name: filterServices
in: query
type: string
exposes:
- type: rest
namespace: cloud-cost-model-rest
port: 8080
description: REST adapter for Kubecost Cloud Cost API — Model. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/model/cloudcost
name: model-cloudcost
description: REST surface for model-cloudCost.
operations:
- method: GET
name: getcloudcost
description: Kubecost Query cloud cost data
call: cloud-cost-model.getcloudcost
with:
window: rest.window
aggregate: rest.aggregate
accumulate: rest.accumulate
filterInvoiceEntityIDs: rest.filterInvoiceEntityIDs
filterAccountIDs: rest.filterAccountIDs
filterProviders: rest.filterProviders
filterServices: rest.filterServices
filterLabels: rest.filterLabels
outputParameters:
- type: object
mapping: $.
- path: /v1/model/cloudcost/top
name: model-cloudcost-top
description: REST surface for model-cloudCost-top.
operations:
- method: GET
name: getcloudcosttop
description: Kubecost Query top cloud costs
call: cloud-cost-model.getcloudcosttop
with:
window: rest.window
aggregate: rest.aggregate
accumulate: rest.accumulate
filterProviders: rest.filterProviders
filterServices: rest.filterServices
limit: rest.limit
outputParameters:
- type: object
mapping: $.
- path: /v1/model/cloudcost/view
name: model-cloudcost-view
description: REST surface for model-cloudCost-view.
operations:
- method: GET
name: getcloudcostview
description: Kubecost Query cloud cost view data
call: cloud-cost-model.getcloudcostview
with:
window: rest.window
aggregate: rest.aggregate
accumulate: rest.accumulate
filterInvoiceEntityIDs: rest.filterInvoiceEntityIDs
filterAccountIDs: rest.filterAccountIDs
filterProviders: rest.filterProviders
filterServices: rest.filterServices
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: cloud-cost-model-mcp
port: 9090
transport: http
description: MCP adapter for Kubecost Cloud Cost API — Model. One tool per consumed operation, routed inline through this
capability's consumes block.
tools:
- name: kubecost-query-cloud-cost-data
description: Kubecost Query cloud cost data
hints:
readOnly: true
destructive: false
idempotent: true
call: cloud-cost-model.getcloudcost
with:
window: tools.window
aggregate: tools.aggregate
accumulate: tools.accumulate
filterInvoiceEntityIDs: tools.filterInvoiceEntityIDs
filterAccountIDs: tools.filterAccountIDs
filterProviders: tools.filterProviders
filterServices: tools.filterServices
filterLabels: tools.filterLabels
outputParameters:
- type: object
mapping: $.
- name: kubecost-query-top-cloud-costs
description: Kubecost Query top cloud costs
hints:
readOnly: true
destructive: false
idempotent: true
call: cloud-cost-model.getcloudcosttop
with:
window: tools.window
aggregate: tools.aggregate
accumulate: tools.accumulate
filterProviders: tools.filterProviders
filterServices: tools.filterServices
limit: tools.limit
outputParameters:
- type: object
mapping: $.
- name: kubecost-query-cloud-cost-view
description: Kubecost Query cloud cost view data
hints:
readOnly: true
destructive: false
idempotent: true
call: cloud-cost-model.getcloudcostview
with:
window: tools.window
aggregate: tools.aggregate
accumulate: tools.accumulate
filterInvoiceEntityIDs: tools.filterInvoiceEntityIDs
filterAccountIDs: tools.filterAccountIDs
filterProviders: tools.filterProviders
filterServices: tools.filterServices
outputParameters:
- type: object
mapping: $.