MCP Tools Reference: compute.googleapis.com

Tool: list_reservations

Lists Compute Engine reservations. Details for each reservation include name, ID, creation timestamp, zone, status, specific reservation required, commitment, and linked commitments. Requires project and zone as input.

The following sample demonstrate how to use curl to invoke the list_reservations 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_reservations",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Input Schema

Request message for listing reservations basic info.

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

string

Required. Project ID for this request.

zone

string

Required. The zone of the reservations.

pageSize

integer

Optional. The maximum number of reservations to return.

pageToken

string

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

Output Schema

Response message for listing reservations basic info.

JSON representation
{
  "reservations": [
    {
      object (ReservationBasicInfo)
    }
  ],
  "nextPageToken": string
}
Fields
reservations[]

object (ReservationBasicInfo)

The list of reservations.

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,
  "createTime": string,
  "zone": string,
  "status": enum (Status),
  "commitment": string,
  "linkedCommitments": [
    string
  ],
  "specificReservationRequired": boolean
}
Fields
name

string

Name of the reservation.

id

string (uint64 format)

The unique identifier for the reservation.

createTime

string (Timestamp format)

Creation timestamp of the reservation.

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".

zone

string

The zone of the reservation.

status

enum (Status)

The status of the reservation.

commitment

string

The commitment this reservation is tied to.

linkedCommitments[]

string

The commitments linked to this reservation.

specificReservationRequired

boolean

Indicates whether the reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from this reservation.

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.

Tool Annotations

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