Tool: get_price
Gets the latest consumption model price for a given SKU.
The following code sample shows how to use curl to call the get_price MCP tool.
| Curl Request |
|---|
curl --location 'https://cloudbilling.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_price", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request message for [GetPrice][google.cloud.billing.price.v2main.Prices.GetPrice].
GetPriceRequest
| JSON representation |
|---|
{ "name": string, "currencyCode": string } |
| Fields | |
|---|---|
name |
Required. Name of the latest price to retrieve. Format: skus/{sku}/price |
currencyCode |
Optional. ISO-4217 currency code for the price. If not specified, USD will be used. |
Output Schema
Encapsulates the latest price for a SKU.
Price
| JSON representation |
|---|
{
"name": string,
"currencyCode": string,
"skuPrices": [
{
object ( |
| Fields | |
|---|---|
name |
Identifier. Resource name for the latest price. |
currencyCode |
ISO-4217 currency code for the price. |
skuPrices[] |
consumption model price for the |
SkuPrice
| JSON representation |
|---|
{ "consumptionModel": string, "consumptionModelDescription": string, "valueType": string, // Union field |
| Fields | |
|---|---|
consumptionModel |
Resource name of the consumption model. |
consumptionModelDescription |
Description of the consumption model. Example: "Default", "BigQuery CUD - 1 Year". |
valueType |
Type of the price. It can have values: ["unspecified", "rate"]. |
Union field value. Value of the price. value can be only one of the following: |
|
rate |
Rate price metadata. |
Rate
| JSON representation |
|---|
{ "tiers": [ { object ( |
| Fields | |
|---|---|
tiers[] |
All tiers associated with the |
unitInfo |
Unit info such as name and quantity. |
aggregationInfo |
Aggregation info for tiers such as aggregation level and interval. |
RateTier
| JSON representation |
|---|
{ "startAmount": { object ( |
| Fields | |
|---|---|
startAmount |
Lower bound amount for a tier. Tiers 0-100, 100-200 will be represented with two tiers with |
listPrice |
List price of one tier. |
Decimal
| JSON representation |
|---|
{ "value": string } |
| Fields | |
|---|---|
value |
The decimal value, as a string. The string representation consists of an optional sign, The fraction consists of a decimal point followed by zero or more decimal digits. The string must contain at least one digit in either the integer or the fraction. The number formed by the sign, the integer and the fraction is referred to as the significand. The exponent consists of the character Services should normalize decimal values before storing them by:
Services may perform additional normalization based on its own needs and the internal decimal implementation selected, such as shifting the decimal point and exponent value together (example: Note that only the The ENBF grammar is: Services should clearly document the range of supported values, the maximum supported precision (total number of digits), and, if applicable, the scale (number of digits after the decimal point), as well as how it behaves when receiving out-of-bounds values. Services may choose to accept values passed as input even when the value has a higher precision or scale than the service supports, and should round the value to fit the supported scale. Alternatively, the service may error with Services should error with |
Money
| JSON representation |
|---|
{ "currencyCode": string, "units": string, "nanos": integer } |
| Fields | |
|---|---|
currencyCode |
The three-letter currency code defined in ISO 4217. |
units |
The whole units of the amount. For example if |
nanos |
Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If |
UnitInfo
| JSON representation |
|---|
{
"unit": string,
"unitDescription": string,
"unitQuantity": {
object ( |
| Fields | |
|---|---|
unit |
Shorthand for the unit. Example: GiBy.mo. |
unitDescription |
Human-readable description of the unit. Example: gibibyte month. |
unitQuantity |
Unit quantity for the tier. Example: if the RateTier price is $1 per 1000000 Bytes, then |
AggregationInfo
| JSON representation |
|---|
{ "level": enum ( |
| Fields | |
|---|---|
level |
Level at which usage is aggregated to compute cost. Example: "ACCOUNT" level indicates that usage is aggregated across all projects in a single account. |
interval |
Interval at which usage is aggregated to compute cost. Example: "MONTHLY" interval indicates that usage is aggregated every month. |
Level
Different aggregation levels.
| Enums | |
|---|---|
LEVEL_UNSPECIFIED |
Default unspecified value. |
LEVEL_ACCOUNT |
Usage is aggregated at an account level. |
LEVEL_PROJECT |
Usage is aggregated at a project level. |
Interval
Different aggregation intervals.
| Enums | |
|---|---|
INTERVAL_UNSPECIFIED |
Default unspecified value. |
INTERVAL_MONTHLY |
Usage is aggregated every month. |
INTERVAL_DAILY |
Usage is aggregated every day. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌