Tool: list_instance_group_managers
Lists Compute Engine managed instance groups (MIGs). Details for each MIG include name, ID, instance template, base instance name, target size, target stopped size, target suspended size, status and creation timestamp. Requires project and zone as input.
The following sample demonstrate how to use curl to invoke the list_instance_group_managers 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_instance_group_managers", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
Input Schema
Request message for listing instance group managers basic info.
McpListInstanceGroupManagersBasicInfoRequest
| JSON representation |
|---|
{ "project": string, "zone": string, "pageSize": integer, "pageToken": string } |
| Fields | |
|---|---|
project |
Required. Project ID for this request. |
zone |
Required. The zone of the instance group managers. |
pageSize |
Optional. The maximum number of instance group managers to return. |
pageToken |
Optional. A page token received from a previous call to list instance group managers. |
Output Schema
Response message for listing instance group managers basic info.
McpListInstanceGroupManagersBasicInfoResponse
| JSON representation |
|---|
{
"instanceGroupManagers": [
{
object ( |
| Fields | |
|---|---|
instanceGroupManagers[] |
The list of instance group managers. |
nextPageToken |
A token that can be sent as |
InstanceGroupManagerBasicInfo
| JSON representation |
|---|
{
"name": string,
"id": string,
"createTime": string,
"instanceTemplate": string,
"baseInstanceName": string,
"targetSize": integer,
"targetStoppedSize": integer,
"targetSuspendedSize": integer,
"status": {
object ( |
| Fields | |
|---|---|
name |
Name of the instance group manager. |
id |
The unique identifier for the instance group manager. |
createTime |
Creation timestamp of the instance group manager. 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: |
instanceTemplate |
The instance template of the instance group manager. |
baseInstanceName |
The base instance name of the instance group manager. |
targetSize |
The target size of the instance group manager. |
targetStoppedSize |
The target stopped size of the instance group manager. |
targetSuspendedSize |
The target suspended size of the instance group manager. |
status |
The status of the instance group manager. |
Timestamp
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
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 |
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. |
Status
| JSON representation |
|---|
{ "isStable": boolean, "allInstancesConfig": { object ( |
| Fields | |
|---|---|
isStable |
Output only. A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified. |
allInstancesConfig |
Output only. Status of all-instances configuration on the group. |
versionTarget |
Output only. A status of consistency of Instances' versions with their target version specified by |
stateful |
Output only. Stateful status of the given Instance Group Manager. |
autoscaler |
Output only. The URL of the Autoscaler that targets this instance group manager. |
bulkInstanceOperation |
Output only. The status of bulk instance operation. |
appliedAcceleratorTopologies[] |
Output only. The accelerator topology applied to this MIG. Currently only one accelerator topology is supported. |
currentInstanceStatuses |
Output only. The list of instance statuses and the number of instances in this managed instance group that have the status. Currently only shown for TPU MIGs |
AllInstancesConfig
| JSON representation |
|---|
{ "effective": boolean, "currentRevision": string } |
| Fields | |
|---|---|
effective |
Output only. A bit indicating whether this configuration has been applied to all managed instances in the group. |
currentRevision |
Output only. Current all-instances configuration revision. This value is in RFC3339 text format. |
VersionTarget
| JSON representation |
|---|
{ "isReached": boolean } |
| Fields | |
|---|---|
isReached |
Output only. A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by |
Stateful
| JSON representation |
|---|
{
"hasStatefulConfig": boolean,
"perInstanceConfigs": {
object ( |
| Fields | |
|---|---|
hasStatefulConfig |
Output only. A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful configuration even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions. |
perInstanceConfigs |
Output only. Status of per-instance configurations on the instances. |
PerInstanceConfigs
| JSON representation |
|---|
{ "allEffective": boolean } |
| Fields | |
|---|---|
allEffective |
Output only. A bit indicating if all of the group's per-instance configurations (listed in the output of a listPerInstanceConfigs API call) have status |
BulkInstanceOperation
| JSON representation |
|---|
{
"inProgress": boolean,
"lastProgressCheck": {
object ( |
| Fields | |
|---|---|
inProgress |
Output only. Informs whether bulk instance operation is in progress. |
lastProgressCheck |
Output only. Information from the last progress check of bulk instance operation. |
LastProgressCheck
| JSON representation |
|---|
{ "timestamp": string, "error": { "errors": [ { "code": string, "location": string, "message": string, "errorDetails": [ { "errorInfo": { object ( |
| Fields | |
|---|---|
timestamp |
Output only. Timestamp of the last progress check of bulk instance operation. Timestamp is in RFC3339 text format. 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: |
error |
Output only. Errors encountered during bulk instance operation. |
errors[] |
[Output Only] The array of errors encountered while processing this operation. |
code |
[Output Only] The error type identifier for this error. |
location |
[Output Only] Indicates the field in the request that caused the error. This property is optional. |
message |
[Output Only] An optional, human-readable error message. |
errorDetails[] |
[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED. |
errorInfo |
|
quotaInfo |
|
help |
|
localizedMessage |
|
Errors
| JSON representation |
|---|
{ "errors": [ { "code": string, "location": string, "message": string, "errorDetails": [ { // Union field |
| Fields | |
|---|---|
errors[] |
[Output Only] The array of errors encountered while processing this operation. |
code |
[Output Only] The error type identifier for this error. |
location |
[Output Only] Indicates the field in the request that caused the error. This property is optional. |
message |
[Output Only] An optional, human-readable error message. |
errorDetails[] |
[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED. |
errorInfo |
|
quotaInfo |
|
help |
|
localizedMessage |
|
Error
| JSON representation |
|---|
{ "code": string, "location": string, "message": string, "errorDetails": [ { "errorInfo": { object ( |
| Fields | |
|---|---|
code |
[Output Only] The error type identifier for this error. |
location |
[Output Only] Indicates the field in the request that caused the error. This property is optional. |
message |
[Output Only] An optional, human-readable error message. |
errorDetails[] |
[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED. |
errorInfo |
|
quotaInfo |
|
help |
|
localizedMessage |
|
ErrorDetails
| JSON representation |
|---|
{ // Union field |
| Fields | |
|---|---|
Union field
|
|
errorInfo |
|
quotaInfo |
|
help |
|
localizedMessage |
|
ErrorInfo
| JSON representation |
|---|
{ "reason": string, "domain": string, "metadatas": { string: string, ... } } |
| Fields | |
|---|---|
reason |
The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of |
domain |
The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com". |
metadatas |
Additional structured details about this error. Keys must match a regular expression of An object containing a list of |
MetadataEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
QuotaExceededInfo
| JSON representation |
|---|
{
"metricName": string,
"limitName": string,
"dimensions": {
string: string,
...
},
"limit": number,
"futureLimit": number,
"rolloutStatus": enum ( |
| Fields | |
|---|---|
metricName |
The Compute Engine quota metric name. |
limitName |
The name of the quota limit. |
dimensions |
The map holding related quota dimensions. An object containing a list of |
limit |
Current effective quota limit. The limit's unit depends on the quota type or metric. |
futureLimit |
Future quota limit being rolled out. The limit's unit depends on the quota type or metric. |
rolloutStatus |
Rollout status of the future quota limit. |
DimensionsEntry
| JSON representation |
|---|
{ "key": string, "value": string } |
| Fields | |
|---|---|
key |
|
value |
|
Help
| JSON representation |
|---|
{
"links": [
{
object ( |
| Fields | |
|---|---|
links[] |
URL(s) pointing to additional information on handling the current error. |
Link
| JSON representation |
|---|
{ "description": string, "url": string } |
| Fields | |
|---|---|
description |
Describes what the link offers. |
url |
The URL of the link. |
LocalizedMessage
| JSON representation |
|---|
{ "locale": string, "message": string } |
| Fields | |
|---|---|
locale |
The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX" |
message |
The localized error message in the above locale. |
AcceleratorTopology
| JSON representation |
|---|
{ "acceleratorTopology": string, "state": enum ( |
| Fields | |
|---|---|
acceleratorTopology |
Output only. Topology in the format of: "16x16", "4x4x4", etc. The value is the same as configured in the WorkloadPolicy. |
state |
Output only. The state of the accelerator topology. |
stateDetails |
Output only. The result of the latest accelerator topology state check. |
AcceleratorTopologyStateDetails
| JSON representation |
|---|
{ "timestamp": string, "error": { "errors": [ { "code": string, "location": string, "message": string, "errorDetails": [ { "errorInfo": { object ( |
| Fields | |
|---|---|
timestamp |
Output only. Timestamp is shown only if there is an error. The field has // RFC3339 // text format. 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: |
error |
Output only. Encountered errors. |
errors[] |
[Output Only] The array of errors encountered while processing this operation. |
code |
[Output Only] The error type identifier for this error. |
location |
[Output Only] Indicates the field in the request that caused the error. This property is optional. |
message |
[Output Only] An optional, human-readable error message. |
errorDetails[] |
[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED. |
errorInfo |
|
quotaInfo |
|
help |
|
localizedMessage |
|
InstanceStatusSummary
| JSON representation |
|---|
{ "nonExistent": integer, "provisioning": integer, "staging": integer, "running": integer, "stopping": integer, "stopped": integer, "terminated": integer, "suspending": integer, "suspended": integer, "repairing": integer, "deprovisioning": integer, "pendingStop": integer, "pending": integer } |
| Fields | |
|---|---|
nonExistent |
Output only. The number of instances that have not been created yet or have been deleted. Includes only instances that would be shown in the listManagedInstances method and not all instances that have been deleted in the lifetime of the MIG. Does not include FlexStart instances that are waiting for the resources availability, they are considered as 'pending'. |
provisioning |
Output only. The number of instances in the managed instance group that have PROVISIONING status. |
staging |
Output only. The number of instances in the managed instance group that have STAGING status. |
running |
Output only. The number of instances in the managed instance group that have RUNNING status. |
stopping |
Output only. The number of instances in the managed instance group that have STOPPING status. |
stopped |
Output only. The number of instances in the managed instance group that have STOPPED status. |
terminated |
Output only. The number of instances in the managed instance group that have TERMINATED status. |
suspending |
Output only. The number of instances in the managed instance group that have SUSPENDING status. |
suspended |
Output only. The number of instances in the managed instance group that have SUSPENDED status. |
repairing |
Output only. The number of instances in the managed instance group that have REPAIRING status. |
deprovisioning |
Output only. The number of instances in the managed instance group that have DEPROVISIONING status. |
pendingStop |
Output only. The number of instances in the managed instance group that have PENDING_STOP status. |
pending |
Output only. The number of instances in the managed instance group that have PENDING status, that is FlexStart instances that are waiting for resources. Instances that do not exist because of the other reasons are counted as 'non_existent'. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌