ask_cloud_assistLABSCO SUMMARY
An agent behind each tool call, not a thin API wrapper.
Each tool hands the work to Gemini Cloud Assist, which then makes its own Google Cloud calls, so a single investigate_issue or design_infra call can carry a whole workflow. Google's own guidance is that the capabilities stay stable while the tool names and parameters may change.
What it is
A Google Cloud MCP server at https://geminicloudassist.googleapis.com/mcp that exposes Gemini Cloud Assist as tools. It follows an agents-as-tools pattern: the agent behind each tool makes its own calls into Google Cloud rather than returning a raw API result.
What you get
- ask_cloud_assist — the primary interface, covering everything the other tools do
- investigate_issue — quick troubleshooting, or a deeper pass through an Investigation resource
- design_infra — designing and architecting infrastructure, working with the App Design Center tools
- invoke_operation — creating, updating and deleting resources; the only path for writes, and only when Agent Actions are enabled
- optimize_costs — spending breakdowns, plus the idle and underutilized resources behind them
- App Design Center tools for the design lifecycle: setup_adc, manage_application, manage_application_template, assess_best_practices, list_application_templates
Requirements
An IAM role carrying the mcp.googleapis.com/tools.call permission — roles/geminicloudassist.user, roles/geminicloudassist.editor or roles/geminicloudassist.admin. Enable the service with gcloud beta services mcp enable geminicloudassist.googleapis.com and authenticate with Application Default Credentials. Integrating with third-party tools over MCP is in private preview; access is arranged through your Google Cloud account team.
Setup effort
Follow the published steps — gcloud beta services mcp enable geminicloudassist.googleapis.com --project=PROJECT_ID
USE CASES
Troubleshooting a production issue from your editor
Hand over the symptom and get quick triage, or open an Investigation resource for a deeper pass.
Designing infrastructure and auditing it before you deploy
Draft the design, validate it against Security Command Center frameworks for actionable findings, then deploy it or export it as Terraform.
Finding what is costing you money
Ask for a spending breakdown and the idle or underutilized resources driving it.
Letting the agent actually change something
Writes go through one tool and only when Agent Actions are enabled, so reading stays the default.
Asking a Google Cloud question with no idea which tool fits
One tool covers the whole surface — start there and let it route the work.
10 tools
Listed in project docs. Your client may show a different list.
design_infrainvestigate_issueinvoke_operationoptimize_costssetup_adcmanage_applicationmanage_application_templateassess_best_practiceslist_application_templatesBEFORE YOU INSTALL
What to know first
Tools you get
10 tools named in the project's documentation.
Requires
- Google Cloud SDK (gcloud, with beta components) installed and configured
- A Google Cloud project
- IAM roles roles/serviceusage.serviceUsageAdmin (to enable the APIs) and roles/geminicloudassist.user
- Access to the private preview: the APIs are behind an allowlist, requested through your Google Cloud account team
INSTALLATION
Connect your client
Server setup
Setup
gcloud beta services mcp enable geminicloudassist.googleapis.com --project=PROJECT_ID
gcloud auth login
gcloud auth application-default loginHosted endpoint
https://geminicloudassist.googleapis.com/mcpAdd this hosted endpoint to your MCP client, then sign in.
MCP Clients
Gemini CLI
gemini extensions install https://github.com/GoogleCloudPlatform/gemini-cloud-assist-mcpOr add the configuration below to ~/.gemini/settings.json yourself:
{
"mcpServers": {
"gemini_cloud_assist": {
"httpUrl": "https://geminicloudassist.googleapis.com/mcp",
"authProviderType": "google_credentials",
"oauth": {
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"timeout": 600000
},
"application_design_center": {
"httpUrl": "https://designcenter.googleapis.com/mcp",
"authProviderType": "google_credentials",
"oauth": {
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
},
"timeout": 600000
}
}
}PROJECT_ID in the commands is your Google Cloud project ID. Gemini CLI and Antigravity then authenticate with the Application Default Credentials those gcloud commands set up; only Cursor needs its own OAuth client.
Antigravity
{
"mcpServers": {
"gemini_cloud_assist": {
"serverUrl": "https://geminicloudassist.googleapis.com/mcp",
"headers": {},
"authProviderType": "google_credentials"
},
"application_design_center": {
"serverUrl": "https://designcenter.googleapis.com/mcp",
"headers": {},
"authProviderType": "google_credentials"
}
}
}Add this to your mcp_config.json. Sign-in uses your Application Default Credentials (gcloud auth application-default login).
PROJECT_ID in the commands is your Google Cloud project ID. Gemini CLI and Antigravity then authenticate with the Application Default Credentials those gcloud commands set up; only Cursor needs its own OAuth client.
Cursor
In your Google Cloud project, create an OAuth 2.0 client ID for a desktop app.
Configure URI://anysphere.cursor-mcp/oauth/callback as the redirect URL.
Put that client's ID and secret in the OAUTH_CLIENT_ID and OAUTH_CLIENT_SECRET environment variables the block reads, then add or merge the configuration below:
{
"mcpServers": {
"gemini_cloud_assist": {
"url": "https://geminicloudassist.googleapis.com/mcp",
"auth": {
"CLIENT_ID": "${env:OAUTH_CLIENT_ID}",
"CLIENT_SECRET": "${env:OAUTH_CLIENT_SECRET}",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
},
"application_design_center": {
"url": "https://designcenter.googleapis.com/mcp",
"auth": {
"CLIENT_ID": "${env:OAUTH_CLIENT_ID}",
"CLIENT_SECRET": "${env:OAUTH_CLIENT_SECRET}",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
}
}
}PROJECT_ID in the commands is your Google Cloud project ID. Gemini CLI and Antigravity then authenticate with the Application Default Credentials those gcloud commands set up; only Cursor needs its own OAuth client.