MCP Tools Reference: compute.googleapis.com

Tool: list_commitments

Lists Compute Engine Commitments in a region. Details for each commitment include name, ID, status, plan, type, resources, and creation, start and end timestamps. Requires project and region as input.

The following sample demonstrate how to use curl to invoke the list_commitments MCP tool.

Curl Request
                  
curl --location 'https://compute.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "list_commitments",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Input Schema

Request message for listing region commitments.

JSON representation
{
  "project": string,
  "region": string,
  "pageSize": integer,
  "pageToken": string
}
Fields
project

string

Required. Project ID for this request.

region

string

Required. The region of the commitments.

pageSize

integer

Optional. The maximum number of commitments to return.

pageToken

string

Optional. A page token received from a previous call to list commitments.

Output Schema

Response message for listing region commitments.

JSON representation
{
  "commitments": [
    {
      object (CommitmentBasicInfo)
    }
  ],
  "nextPageToken": string
}
Fields
commitments[]

object (CommitmentBasicInfo)

The list of commitments.

nextPageToken

string

A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

JSON representation
{
  "name": string,
  "id": string,
  "status": enum (Status),
  "plan": enum (Plan),
  "type": enum (Type),
  "createTime": string,
  "startTime": string,
  "endTime": string,
  "resources": [
    {
      object (ResourceCommitment)
    }
  ]
}
Fields
name

string

Name of the commitment.

id

string (uint64 format)

The unique identifier for the commitment.

status

enum (Status)

The status of the commitment.

plan

enum (Plan)

The plan of the commitment.

type

enum (Type)

The type of the commitment.

createTime

string (Timestamp format)

Creation timestamp of the commitment.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

startTime

string (Timestamp format)

Start timestamp of the commitment.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

End timestamp of the commitment.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

resources[]

object (ResourceCommitment)

A list of all the hardware resources of the commitment.

JSON representation
{
  "seconds": string,
  "nanos": integer
}
Fields
seconds

string (int64 format)

Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z).

nanos

integer

Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive.

JSON representation
{
  "type": enum (Type),
  "amount": string,
  "acceleratorType": string
}
Fields
type

enum (Type)

The type of hardware resource that you want to specify. You can specify any of the following values:

  • VCPU
  • MEMORY
  • LOCAL_SSD
  • ACCELERATOR

Specify as a separate entry in the list for each individual resource type.

amount

string (int64 format)

The quantity of the hardware resource that you want to commit to purchasing (in a type-dependent unit).

  • For vCPUs, you must specify an integer value.
  • For memory, you specify the amount of MB that you want. The value you specify must be a multiple of 256 MB, with up to 6.5 GB of memory per every vCPU.
  • For GPUs, you must specify an integer value.
  • For Local SSD disks, you must specify the amount in GB. The size of a single Local SSD disk is 375 GB.

acceleratorType

string

Name of the accelerator type or GPU resource. Specify this field only when the type of hardware resource is ACCELERATOR.

Tool Annotations

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌