Skip to content

googleapis/gcloud-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

gcloud-mcp Servers CI License

gcloud MCP Server ☁️

The gcloud Model Context Protocol (MCP) server enables AI assistants to easily interact with the Google Cloud environment using the gcloud CLI. With the gcloud MCP server you can:

  • Interact with Google Cloud using natural language. Describe the outcome you want instead of memorizing complex command syntax, flags, and arguments.
  • Automate and simplify complex workflows. Chain multiple cloud operations into a single, repeatable command to reduce manual effort and the chance of error.
  • Lower the barrier to entry for cloud management. Empower team members who are less familiar with gcloud to perform powerful actions confidently and safely.

📡 Available MCP Servers

This repository also hosts other MCP servers in addition to the gcloud MCP server. An up to date list is below, and links to other Google Cloud MCP servers hosted outside of this repo are here.

MCP Server Name Description Package Name Version
gcloud Interact with Google Cloud via the gcloud CLI using natural language prompts. gcloud-mcp Version
observability Access Google Cloud Observability APIs to query logs, metrics, and traces. observability-mcp Version
storage Interact with Google Cloud Storage for bucket and object management. storage-mcp Version

🚀 Getting Started

Prerequisites

✨ Set up your MCP server

Gemini CLI and Gemini Code Assist

To integrate MCP servers with Gemini CLI or Gemini Code Assist, run the setup command below from your home directory for MCP server listed in the table. This will install the MCP server as a Gemini CLI extension. for the current user, making it available for all your projects.

npx @google-cloud/[PACKAGE_NAME] init --agent=gemini-cli

For example, for the gcloud-mcp:

npx @google-cloud/gcloud-mcp init --agent=gemini-cli

After the initialization process, you can verify that the gcloud-mcp server is configured correctly by running the following command:

gemini mcp list

> ✓ gcloud: npx -y @google-cloud/gcloud-mcp (stdio) - Connected

For other AI clients

To use MCP servers in this repo with other clients, add the following snippet to their respective JSON configuration files for each MCP server:

"[SERVER_NAME]": {
  "command": "npx",
  "args": ["-y", "@google-cloud/[PACKAGE_NAME]"]
}

For example, for gcloud:

"gcloud": {
  "command": "npx",
  "args": ["-y", "@google-cloud/gcloud-mcp"]
}

Instructions for popular tools:

  • Claude Desktop: Open Claude > Settings > Developer > Edit Config and edit claude_desktop_config.json.
  • Cline: Click the MCP Servers icon, then Configure MCP Servers to edit cline_mcp_settings.json.
  • Cursor: Edit .cursor/mcp.json for a single project or ~/.cursor/mcp.json for all projects.
  • Gemini CLI (Manual Setup): If not using extensions, edit .gemini/settings.json for a single project or ~/.gemini/settings.json for all projects.

For Visual Studio Code edit the .vscode/mcp.json file in your workspace for a single project or your global user settings file for all projects:

"servers": {
  "[SERVER_NAME]": {
    "command": "npx",
    "args": ["-y", "@google-cloud/[PACKAGE_NAME]"]
  }
}

For example, for gcloud and observability:

"servers": {
  "gcloud": {
    "command": "npx",
    "args": ["-y", "@google-cloud/gcloud-mcp"]
  },
  "observability": {
    "command": "npx",
    "args": ["-y", "@google-cloud/observability-mcp"]
  },
}

🛠 Local Development

For more information regarding installing the repository locally, please see development.md

🧰 Available MCP Tools

MCP Server Tool Description
gcloud run_gcloud_command Executes a gcloud command. Some commands have been restricted from execution by the agent. See MCP Permissions for more information.
observability list_log_entries Lists log entries from a project.
list_log_names Lists log names from a project.
list_buckets Lists log buckets from a project.
list_views Lists log views from a project.
list_sinks Lists log sinks from a project.
list_log_scopes Lists log scopes from a project.
list_metric_descriptors Lists metric descriptors for a project.
list_time_series Lists time series data for a given metric.
list_alert_policies Lists the alert policies in a project.
list_traces Searches for traces in a project.
get_trace Gets a specific trace by id in a project.
list_group_stats Lists the error groups for a project.
storage list_objects Lists objects in a GCS bucket.
read_object_metadata Reads comprehensive metadata for a specific object.
read_object_content Reads the content of a specific object.
delete_object Deletes a specific object from a bucket.
write_object Writes a new object to a bucket.
update_object_metadata Updates the custom metadata of an existing object.
copy_object Copies an object from one bucket to another.
move_object Moves an object from one bucket to another.
upload_object Uploads a file to a GCS bucket.
download_object Downloads an object from GCS to a local file.
list_buckets Lists all buckets in a project.
create_bucket Creates a new bucket.
delete_bucket Deletes a bucket.
get_bucket_metadata Gets comprehensive metadata for a specific bucket.
update_bucket_labels Updates labels for a bucket.
get_bucket_location Gets the location of a bucket.
view_iam_policy Views the IAM policy for a bucket.
check_iam_permissions Tests IAM permissions for a bucket.
get_metadata_table_schema Checks if GCS insights service is enabled and returns the BigQuery table schema for a given insights dataset configuration.
execute_insights_query Executes a BigQuery SQL query against an insights dataset and returns the result.
list_insights_configs Lists the names of all Storage Insights dataset configurations for a given project.

🔑 MCP Permissions

The permissions of the gcloud MCP are directly tied to the permissions of the active gcloud account. To restrict permissions and operate with the principle of least privilege, you can authorize as a service account using impersonation and assign the service account a role with limited permissions.

By default, the gcloud MCP prevents execution of gcloud commands that don't make sense for AI agents. This is done to restrict commands that can run arbitrary inputs and initiate interactive sessions. See here for the list of denied commands.

💫 Other Google Cloud MCP Servers

Google Cloud offers these other servers:

👥 Contributing

We welcome contributions! Whether you're fixing bugs, sharing feedback, or improving documentation, your contributions are welcome. Please read our Contributing Guide to get started.

📄 Important Notes

This repository is currently in preview and may see breaking changes. This repository provides a solution, not an officially supported Google product. It is not covered under Google Cloud Terms of Service. It may break when the MCP specification, other SDKs, or when other solutions and products change. See also our Security Policy.

About

gcloud MCP server

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 22