MCP Tools Reference: geminicloudassist.googleapis.com

Tool: design_infra

Design Agent helps users manage the entire lifecycle of application infrastructure on Google Cloud Platform. It provides a set of specialized sub-agents to handle different aspects of infrastructure design and generation.

Supported Commands and Required Information:

  • manage_app_design : Design and architect infrastructure on Google Cloud Platform required for application infrastructure design intents.

    • Description:
      • This command can generate the Google Cloud architecture, then render the Mermaid diagram as well as generate the Terraform code.
      • This command mayalso accept Infrastructure as Code (IaC) when iterating on a design (e.g. import Terraform code into existing application template).
      • This command can also be used to retrieve the Terraform code for an existing application template or app design.
    • Design Session:
      • Each design session is associated with an Application Design Center (ADC) application template (identified by applicationTemplateURI ).
      • The agent will maintain the state of application designs and its Terraform artifacts.
      • To iterate on a design, you MUST provide the application template ID in the form of projects/{projectid}/locations/{region}/spaces/{spaceid}/applicationTemplates/{templateid} .
      • To create a new design, do not supply the application template ID.
    • User Query:Should describe the high-level application architecture, requirements, and constraints. You may specify environment variables, port, etc. Or specific request for IaC import or Terraform code retrieval.
      • Example: "Design a 3-tier web app with a load balancer, frontend, backend, and a database."
      • Example: "Import application design from IaC, here are my terraform files: - main.tf terraform\n<main.tf file content>\n , - variables.tf terraform\n<variables file content>\n ..."
      • Example: "Show me the Terraform code for application template projects/.../applicationTemplates/test-app "
    • Important Guidelines
      • Design Iteration:: If the user wants to modify or update an existing design, they MUSTprovide the application_template_id in the query.
        • Example: "Update design projects/{projectid}/locations/{region}/spaces/{spaceid}/applicationTemplates/{templateid} : add a Cloud SQL instance."
      • project input mustbe formatted as projects/{projectid} .
    • Goal:Generates a comprehensive design using Application Design Center (ADC) concepts or imports an application design from IaC.
    • Returns:An XML-formatted string containing one or more of: Message , serializedDesign , applicationTemplateURI , terraformCode , mermaidCode , and Instructions .
  • generate_terraform : Generate Terraform configs a single resource.

    • User Query:specific request for Terraform code.
      • Example: "Generate Terraform for a GKE cluster with a spot node pool."
    • Hint: If user wants to generate Terraform for an ADC application template, they MUSTuse manage_app_design instead.
      • Example: "Generate Terraform for application template tmpl_12345 " should be routed to manage_app_design .
    • Goal:Produces valid, deployable Terraform HCL code.
  • generate_gcloud : Generate gcloud commands.

    • User Query:A request to perform an action using the Google Cloud CLI.
      • Example: "Give me the gcloud command to create a Pub/Sub topic."
    • Goal:Generates a sequence of executable gcloud commands.
  • generate_bigquery : Generate BigQuery commands.

    • User Query:A request for BigQuery commands.
      • Example: "Give me the bq command to create a dataset."
    • Goal:Generates a sequence of executable bq commands.
  • generate_kubernetes_yaml : Generate Kubernetes YAML.

    • User Query:A request for Kubernetes manifests.
      • Example: "Create a Kubernetes Deployment for Nginx with 3 replicas."
    • Goal:Produces valid Kubernetes YAML manifests.
  • debug_deployment : Debug deployment failure in ADC application.

    • User Query:A request to debug a deployment failure in ADC application. It needs to contain a helper phrase like 'Help me debug this application' and only the application_uri and no other information.
      • Example: "Help me debug this application - projects/test-project/locations/us-central1/spaces/test-space/applicationTemplates/test-app"
    • Goal:Diagnoses deployment issues and returns instructions to fix the problem.
    • Follow-up Actions:
      • If the output contains gcloud commands, follow the instructions and run the gcloud command to fix the issue.
      • If the output describes an infrastructure design change, call the manage_app_design tool to apply recommended changes in the infrastructure.

Usage:

To use this tool, the caller must specify the command argument corresponding to the desired sub-agent and provide the user_query with the specific intent.

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

Input Schema

Request for DesignInfra

DesignInfraRequest

JSON representation
 { 
 "project" 
 : 
 string 
 , 
 "userQuery" 
 : 
 string 
 , 
 "contextId" 
 : 
 string 
 , 
 "command" 
 : 
 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.

command

string

Required. The command being invoked. Valid values are: - "manage_app_design" - "generate_terraform" - "generate_gcloud" - "generate_yaml" - "debug_deployment"

Output Schema

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

DesignInfraResponse

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

string

Contains the textual response received from the agent.

contextId

string

Represents the session ID; clients must persist this.

metadata

object ( Struct format)

Contains the metadata returned from the agent.

Struct

JSON representation
 { 
 "fields" 
 : 
 { 
 string 
 : 
 value 
 , 
 ... 
 } 
 } 
Fields
fields

map (key: string, value: value ( Value format))

Unordered map of dynamically typed values.

An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

FieldsEntry

JSON representation
 { 
 "key" 
 : 
 string 
 , 
 "value" 
 : 
 value 
 } 
Fields
key

string

value

value ( Value format)

Value

JSON representation
 { 
 // Union field kind 
can be only one of the following: 
 "nullValue" 
 : 
 null 
 , 
 "numberValue" 
 : 
 number 
 , 
 "stringValue" 
 : 
 string 
 , 
 "boolValue" 
 : 
 boolean 
 , 
 "structValue" 
 : 
 { 
 object 
 } 
 , 
 "listValue" 
 : 
 array 
 // End of list of possible types for union field kind 
. 
 } 
Fields
Union field kind . The kind of value. kind can be only one of the following:
nullValue

null

Represents a JSON null .

numberValue

number

Represents a JSON number. Must not be NaN , Infinity or -Infinity , since those are not supported in JSON. This also cannot represent large Int64 values, since JSON format generally does not support them in its number type.

stringValue

string

Represents a JSON string.

boolValue

boolean

Represents a JSON boolean ( true or false literal in JSON).

structValue

object ( Struct format)

Represents a JSON object.

listValue

array ( ListValue format)

Represents a JSON array.

ListValue

JSON representation
 { 
 "values" 
 : 
 [ 
 value 
 ] 
 } 
Fields
values[]

value ( Value format)

Repeated field of dynamically typed values.

Tool Annotations

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

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