MCP Tools Reference: compute.googleapis.com

Tool: list_machine_types

Lists the available Google Compute Engine machine types. Requires project and zone as input. Returns machine types, including id, creationTimestamp, name, description, guest cpus, memory, image space, maximum persistent disks, maximum persisten disks size, deprecated, zone, is shared cpu, accelerators, and architecture.

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

Input Schema

Request message for listing machine types.

JSON representation
{
  "project": string,
  "zone": string
}
Fields
project

string

Required. Project ID for this request.

zone

string

Required. The zone of the machine types.

Output Schema

Response message for listing machine types.

JSON representation
{
  "machineTypes": [
    {
      object (MachineType)
    }
  ]
}
Fields
machineTypes[]

object (MachineType)

The list of machine types.

JSON representation
{
  "kind": string,
  "id": string,
  "creationTimestamp": string,
  "name": string,
  "description": string,
  "guestCpus": integer,
  "memoryMb": integer,
  "imageSpaceGb": integer,
  "maximumPersistentDisks": integer,
  "maximumPersistentDisksSizeGb": string,
  "deprecated": {
    object (DeprecationStatus)
  },
  "zone": string,
  "selfLink": string,
  "isSharedCpu": boolean,
  "accelerators": [
    {
      "guestAcceleratorType": string,
      "guestAcceleratorCount": integer
    }
  ],
  "architecture": enum (Architecture)
}
Fields
kind

string

Output only. [Output Only] The type of the resource. Always compute#machineType for machine types.

id

string (uint64 format)

[Output Only] The unique identifier for the resource. This identifier is defined by the server.

creationTimestamp

string

[Output Only] Creation timestamp in RFC3339 text format.

name

string

[Output Only] Name of the resource.

description

string

[Output Only] An optional textual description of the resource.

guestCpus

integer

[Output Only] The number of virtual CPUs that are available to the instance.

memoryMb

integer

[Output Only] The amount of physical memory available to the instance, defined in MB.

imageSpaceGb

integer

[Deprecated] This property is deprecated and will never be populated with any relevant values.

maximumPersistentDisks

integer

[Output Only] Maximum persistent disks allowed.

maximumPersistentDisksSizeGb

string (int64 format)

[Output Only] Maximum total persistent disks size (GB) allowed.

deprecated

object (DeprecationStatus)

[Output Only] The deprecation status associated with this machine type. Only applicable if the machine type is unavailable.

zone

string

[Output Only] The name of the zone where the machine type resides, such as us-central1-a.

selfLink

string

[Output Only] Server-defined URL for the resource.

isSharedCpu

boolean

[Output Only] Whether this machine type has a shared CPU. See Shared-core machine types for more information.

accelerators[]

object

[Output Only] A list of accelerator configurations assigned to this machine type.

guestAcceleratorType

string

The accelerator type resource name, not a full URL, e.g. nvidia-tesla-t4.

guestAcceleratorCount

integer

Number of accelerator cards exposed to the guest.

architecture

enum (Architecture)

[Output Only] The architecture of the machine type.

JSON representation
{
  "state": enum (State),
  "replacement": string,
  "deprecated": string,
  "obsolete": string,
  "deleted": string
}
Fields
state

enum (State)

The deprecation state of this resource. This can be ACTIVE, DEPRECATED, OBSOLETE, or DELETED. Operations which communicate the end of life date for an image, can use ACTIVE. Operations which create a new resource using a DEPRECATED resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. Operations which use OBSOLETE or DELETED resources will be rejected and result in an error.

replacement

string

The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource.

deprecated

string

An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DEPRECATED. This is only informational and the status will not change unless the client explicitly changes it.

obsolete

string

An optional RFC3339 timestamp on or after which the state of this resource is intended to change to OBSOLETE. This is only informational and the status will not change unless the client explicitly changes it.

deleted

string

An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DELETED. This is only informational and the status will not change unless the client explicitly changes it.

JSON representation
{
  "guestAcceleratorType": string,
  "guestAcceleratorCount": integer
}
Fields
guestAcceleratorType

string

The accelerator type resource name, not a full URL, e.g. nvidia-tesla-t4.

guestAcceleratorCount

integer

Number of accelerator cards exposed to the guest.

Tool Annotations

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