MCP Tools Reference: geminicloudassist.googleapis.com

Tool: invoke_operation

Invokes the Operations Agent for Cloud Operations tasks.

The Operations Agent is capable of handling various cloud operations, investigations, and management tasks.

The user_query is a stringified JSON object that defines the exact operation. The JSON MUST contain an operation_type key with one of two values: GKE_APPLY , GKE_PATCH . Based on the operation_type , provide exactly one of the corresponding objects:

  • If GKE_APPLY :Provide a gke_apply object containing:

    • target_cluster (string, required): Full resource name, e.g., projects/{p}/locations/{l}/clusters/{c} .
    • yaml_manifest (string, required): The raw YAML string. Ensure newlines are escaped.
    • namespace (string, optional): Overrides the namespace.
    • force_conflicts (boolean, optional): If true, force conflicts resolution when applying. This corresponds to kubectl apply --server-side --force-conflicts. Use this to ensure the intended state is applied even if another field manager currently owns the targeted fields.
  • If GKE_PATCH :Provide a gke_patch object containing:

    • target_cluster (string, required): Full resource name.
    • resource_type (string, required): e.g., deployments .
    • resource_name (string, required): Name of the k8s resource.
    • patch_json (string, required): The JSON patch string. Escaped properly.
    • namespace (string, optional): The namespace of the resource.

Examples:

  • Example 1 ( GKE_APPLY ):

     {
              "operation_type": "GKE_APPLY",
              "gke_apply": {
                "target_cluster": "projects/my-company/locations/us-central1/clusters/my-cluster",
                "yaml_manifest": "apiVersion: v1 | kind: ConfigMap | metadata: name: my-config | data: key: value",
                "namespace": "default"
              }
            } 
    
  • Example 2 ( GKE_PATCH ):

     {
              "operation_type": "GKE_PATCH",
              "gke_patch": {
                "target_cluster": "projects/my-company/locations/us-central1/clusters/my-cluster",
                "resource_type": "deployments",
                "resource_name": "my-app",
                "patch_json": "{'spec': {'replicas': 5}}",
                "namespace": "default"
              }
            } 
    
  • Example 3 ( GKE_APPLY with force_conflicts to override existing field managers):

     {
              "operation_type": "GKE_APPLY",
              "gke_apply": {
                "target_cluster": "projects/my-company/locations/us-central1/clusters/my-cluster",
                "yaml_manifest": "apiVersion: apps/v1\nkind: Deployment\nmetadata:\n  name: web-backend\nspec:\n  replicas: 5\n  template:\n    spec:\n      containers:\n      - name: app\n        image: my-repo/web-backend:v2.0.1",
                "namespace": "default",
                "force_conflicts": true
              }
            } 
    

Args:

  • project : The Google Cloud project with format projects/{project_id} .
  • userQuery : A stringified JSON object that defines the exact operation.
  • contextId : Context ID from the previous agent response.

Session Management:

  • This tool returns a contextId in its output.
  • To continue a conversation (multi-turn), you MUST include this contextId in the next request.
  • Omit contextId to start a new, independent task.

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

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

Input Schema

Request for InvokeOperation

InvokeOperationRequest

JSON representation
 { 
 "project" 
 : 
 string 
 , 
 "userQuery" 
 : 
 string 
 , 
 "contextId" 
 : 
 string 
 } 
Fields
project

string

Required. The project resource name in the format projects/{project} .

userQuery

string

Required. The natural language prompt provided by the user.

contextId

string

Optional. This is an optional session ID to continue a conversation.

Output Schema

Represents the response for InvokeOperation. This message is only used as an output_schema_override.

InvokeOperationResponse

JSON representation
 { 
 "content" 
 : 
 string 
 , 
 "contextId" 
 : 
 string 
 } 
Fields
content

string

Contains the textual response received from the agent.

contextId

string

Represents the session ID; clients must persist this.

Tool Annotations

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

Create a Mobile Website
View Site in Mobile | Classic
Share by: