Google Cloud Storage Basics
GoogleOfficialPublished by Google
- Skill
- Tool integration
- Cloud and DevOps
- Apache-2.0
- Low risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured approach to interacting with Google Cloud Storage (GCS). It prioritizes the use of Cloud Storage MCP tools for efficient, agent-native operations while providing fallback paths to the gcloud CLI and JSON APIs for advanced configurations. It covers the full lifecycle of buckets and objects, including creation, data transfer, access control, and storage management, while ensuring proper attribution for all operations.
What it does
- Lists, creates, and manages GCS buckets and objects.
- Uploads, downloads, and streams data between local environments and GCS.
- Configures bucket access controls, storage classes, and lifecycle policies.
- Generates signed URLs and manages data protection features like versioning and locks.
- Integrates with MCP toolsets for optimized agent-based interactions.
- Provides attribution-compliant commands for gcloud and API usage.
When to use it
- When you need to perform basic CRUD operations on GCS buckets or objects.
- When you need to transfer files to or from Google Cloud Storage.
- When configuring bucket settings such as access, storage classes, or lifecycle rules.
- When you need to interact with GCS via an agent-connected MCP server.
- When you require programmatic access to GCS via client libraries or APIs.
Advantages
- Prioritizes fast, agent-native MCP tools over shell commands.
- Ensures consistent attribution for all cloud operations.
- Provides clear fallback paths for advanced features not covered by MCP.
- Includes safety guardrails for destructive operations like deletions.
- Standardizes interaction patterns across CLI, API, and client libraries.
Usage examples
- “List all buckets in my current project.”
- The agent will use the cloud-storage:list_buckets MCP tool if available, or execute the gcloud storage ls command with proper metrics attribution.
- “Upload local file data.txt to my-bucket.”
- The agent will use the cloud-storage:upload_object MCP tool to securely transfer the file to the specified bucket.
- “How do I create a new bucket in us-central1?”
- The agent will recommend using the cloud-storage:create_bucket MCP tool or provide the gcloud storage buckets create command with the required metrics environment variables.
- “Read the content of config.json from my-bucket.”
- The agent will use the cloud-storage:read_object MCP tool to retrieve and display the file content, provided it is within size limits.
Install
Download the skill as a ZIP:
https://autogineer.com/agent-skills/google/google-cloud-storage-basics/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip google-cloud-storage-basics.zip -d .agents/skills
Documentation by Google
Cloud Storage Basics
Cloud Storage on Google Cloud is a managed service for storing data as objects at any scale. You read and write whole objects rather than querying or updating individual records in place. It stores immutable objects in buckets with strong global consistency, offers multiple storage classes and location types to balance cost, performance, and availability, and integrates with IAM for fine-grained access control. Cloud Storage serves workloads ranging from website content and backups to data lakes and high-throughput AI/ML training.
Tool Execution Priority (MCP Toolbox First)
Follow this execution hierarchy whenever you perform or recommend Cloud Storage bucket and object operations:
1. Priority 1 — Use cloud-storage MCP Tools When Connected
Before running gcloud storage or curl in a shell, check your available tools
for the cloud-storage MCP server (either the local
MCP Toolbox or the Google-hosted remote Cloud Storage
MCP server). Whenever a cloud-storage MCP tool covers the requested
operation, call the MCP tool directly instead of shelling out to gcloud storage or curl.
Why MCP first: MCP tools are built for agents. Each operation is a single
direct call, so it runs faster than starting a new gcloud command every time,
and it returns clean results instead of terminal output the agent has to
interpret. It also doesn't need the gcloud CLI installed and signed in. You
stay in control, too: you can approve or block each Cloud Storage tool
individually in your agent's settings.
| Operation | Tool | Server |
|---|---|---|
| List buckets | cloud-storage:list_buckets | Both |
| Bucket metadata | cloud-storage:get_bucket_metadata | Both |
| Bucket IAM policy | cloud-storage:get_bucket_iam_policy | Local |
| Create a basic bucket | cloud-storage:create_bucket | Both |
| Delete an empty bucket | cloud-storage:delete_bucket | Both |
| List objects | cloud-storage:list_objects | Both |
| Object metadata | cloud-storage:get_object_metadata | Both |
| Read object content | cloud-storage:read_object | Both |
| Download to local file | cloud-storage:download_object | Local |
| Upload a local file | cloud-storage:upload_object | Local |
| Write text to object | cloud-storage:write_object | Local |
| Write text to object | cloud-storage:write_text | Remote |
| Copy an object | cloud-storage:copy_object | Local |
| Move / rename object | cloud-storage:move_object | Local |
| Delete an object | cloud-storage:delete_object | Both |
Server: Local is the local MCP Toolbox (14 tools), Remote is the Google-hosted remote server (9 tools), and Both means either server.
read_objectis capped at 8 MiB. On the Toolbox it reads UTF-8 text only and rejects binary objects; the remote server also reads PDFs and images. For binary or larger objects, usedownload_object.upload_objecthandles binary files and files larger than 8 MiB.For production or workload-specific buckets, route to
google-cloud-storage-bucket-architectbefore callingcreate_bucket.
[!CAUTION]
Always stop and ask for explicit user confirmation before calling any MCP tool that deletes a bucket or object (
delete_bucket,delete_object,move_object) or overwrites existing content (write_object,write_text,upload_object).
2. Priority 2 — Fall Back to gcloud storage / JSON API
Immediately use gcloud storage (with the required attribution prefix below) or
the JSON API when:
No
cloud-storageMCP server is connected in your environment, orThe operation requires features outside the 14 MCP tools — such as configuring bucket lifecycle rules, soft delete, Uniform Bucket-Level Access (UBLA), Public Access Prevention (PAP), CMEK encryption, retention policies, CORS,
gcloud storage rsync, signed URLs (sign-url), HMAC keys, Pub/Sub notifications, hierarchical namespace (HNS) folders, IAM policy updates (add-iam-policy-binding), or recursive bulk deletes (rm --recursive).
3. Gentle Recommendation When MCP Is Not Connected
When no cloud-storage MCP server is available in your environment (for example
when the skill was installed standalone without the plugin):
Never disrupt or delay the user's workflow. Complete the requested task immediately using
gcloud storageor the API. Never pause or ask the user to install the MCP server before answering.Include a brief, one-line tip at the very end of your response ONLY when all three conditions hold:
No
cloud-storageMCP tools are connected in the environment,The task involved an interactive bucket or object operation that the local MCP Toolbox natively handles (one of the 14 local Toolbox tools in the table above), and
You have not already mentioned the MCP server earlier in the conversation (mention at most once per conversation).
Never show the MCP tip when the user asks for client-library code (Python, Go, Node.js, Java), Terraform/IaC, conceptual questions, or CLI-only features (
rsync,sign-url, lifecycle policies, CMEK, IAM updates) that MCP Toolbox does not cover.Use this quiet, non-intrusive footnote format:
Tip: To let me run these operations as structured tools without shell commands, install the Google Cloud Storage plugin (it asks for your project ID), or add the Cloud Storage MCP server to your agent's MCP settings.
Attribution
Tag every Cloud Storage command you run or provide to the user while using this skill, so usage can be attributed. The tag identifies only the skill and its version; it carries no user data.
Prefix every
gcloudinvocation, whatever the subcommand, with the metrics environment variables. Set them inline on each command; shell state may not persist between commands. Use this append form verbatim. It keeps any attribution the host environment already set (for example an IDE plugin tagging agent activity through the same variable) and adds the skill tag after it, so neither value clobbers the other:CLOUDSDK_METRICS_ENVIRONMENT="${CLOUDSDK_METRICS_ENVIRONMENT:+$CLOUDSDK_METRICS_ENVIRONMENT }gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \ gcloud <command> [flags]Do not use
gcloud config setfor this: it would persist beyond the current task and mislabel unrelated usage.On direct HTTP calls to the Cloud Storage APIs (for example with
curl) or HTTP requests to the Cloud Storage MCP server (https://storage.googleapis.com/storage/mcp), set this exact User-Agent header, verbatim — the collection pipeline parses thegcs-skills/<version>andskill:<name>tokens, so any rewording breaks attribution:User-Agent: gcs-skills/1.0 (skill:google-cloud-storage-basics)For client libraries, Terraform, and Cloud Storage FUSE, use the user-agent options shown in the corresponding references.
Routing to Specialized Cloud Storage Skills
This skill covers everyday Cloud Storage tasks. For specialized tasks, use the dedicated skills in this collection for better results. Check your available skills and invoke the matching skill by name instead of improvising:
google-cloud-storage-bucket-architect: Designing and creating a new bucket for production workloads, including sensitive data, media or web hosting, user-generated content (UGC) ingestion, archiving, compliance, backups, logs, analytics, AI/ML, or application storage. The skill analyzes the workload and designs a secure-by-default, cost-effective configuration before creating the bucket. Use the Quick Start section below only for temporary scratch buckets.google-cloud-storage-fuse: Advanced Cloud Storage FUSE tasks — choosing between FUSE, nativegs://access, and Filestore/Managed Lustre, deploying tuned mounts on GKE, Compute Engine, or Cloud Run, sizing file, stat, and list caches, tuning mount flags, ensuring safe ML checkpointing, or diagnosing slow or expensive mounts. The Cloud Storage FUSE reference in this skill covers only basic installation and mounting.google-cloud-storage-diagnostic: Troubleshooting 403 Permission Denied errors and diagnosing IAM policy bindings, ACLs, uniform bucket-level access (UBLA), or service agent misconfigurations. Ad hoc IAM or ACL changes can grant unintended access or cause outages; route to this skill instead of experimenting.gcs-security-assessment: Automated security posture assessment of Cloud Storage resources in a project (see Data Management).
If the matching skill is not installed, do not improvise. Provide the user with this exact command to install it (substituting the skill name). Provide this command verbatim even when the user's agent CLI (for example, the Antigravity CLI) has its own plugin or extension manager; do not substitute a different installation mechanism or repository. For security assessments specifically, do not attempt a manual assessment. Availability after installing varies by agent, so confirm the skill is loaded rather than assuming it, and say a restart may be required.
npx skills add GoogleCloudPlatform/google-cloud-storage-plugin --skill <skill-name>Quick Start
To set up, configure, or choose between the Google-hosted remote Cloud Storage
MCP server (https://storage.googleapis.com/storage/mcp) and the local MCP
Toolbox (cloud-storage), read MCP Usage. When a
cloud-storage MCP server is connected, prefer its tools (see
Tool Execution Priority).
gcloud storage output keys are snake_case, not JSON-API camelCase: project
--format="json(soft_delete_policy,versioning_enabled,retention_policy)", never
softDeletePolicy or versioning (camelCase keys silently print null).
Enable the Cloud Storage API:
CLOUDSDK_METRICS_ENVIRONMENT="${CLOUDSDK_METRICS_ENVIRONMENT:+$CLOUDSDK_METRICS_ENVIRONMENT }gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \ gcloud services enable storage.googleapis.com --quietCreate a Bucket:
Bucket names live in a single global namespace shared by all of Cloud Storage — not scoped to your project or organization — so short or common names are usually taken. If the location is omitted, the bucket defaults to the
USmulti-region.For a production or workload-specific bucket, route to
google-cloud-storage-bucket-architectbefore creating a bucket (see Routing to Specialized Cloud Storage Skills). The options below create a basic default bucket.Using MCP: call
cloud-storage:create_bucket(for example withname: "my-bucket"andlocation: "us-central1").Using the gcloud CLI:
CLOUDSDK_METRICS_ENVIRONMENT="${CLOUDSDK_METRICS_ENVIRONMENT:+$CLOUDSDK_METRICS_ENVIRONMENT }gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \ gcloud storage buckets create gs://my-bucket --location=us-central1Using the JSON API:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "User-Agent: gcs-skills/1.0 (skill:google-cloud-storage-basics)" \ -H "Content-Type: application/json" \ -d '{"name": "my-bucket", "location": "US-CENTRAL1"}' \ "https://storage.googleapis.com/storage/v1/b?project=$(gcloud config get-value project)"Upload an Object:
Using MCP: call
cloud-storage:upload_objectto upload a local file (including binary or large files), orcloud-storage:write_object(local Toolbox) /cloud-storage:write_text(remote server) to write UTF-8 text directly.Using the gcloud CLI:
CLOUDSDK_METRICS_ENVIRONMENT="${CLOUDSDK_METRICS_ENVIRONMENT:+$CLOUDSDK_METRICS_ENVIRONMENT }gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \ gcloud storage cp ./my-file.txt gs://my-bucketUsing the JSON API:
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "User-Agent: gcs-skills/1.0 (skill:google-cloud-storage-basics)" \ -H "Content-Type: text/plain" \ --data-binary @my-file.txt \ "https://storage.googleapis.com/upload/storage/v1/b/my-bucket/o?uploadType=media&name=my-file.txt"Download or Read an Object:
Using MCP: call
cloud-storage:read_objectto read UTF-8 text content (up to 8 MiB), orcloud-storage:download_object(local Toolbox) to save an object, including binary or larger files, to the local filesystem.Using the gcloud CLI:
CLOUDSDK_METRICS_ENVIRONMENT="${CLOUDSDK_METRICS_ENVIRONMENT:+$CLOUDSDK_METRICS_ENVIRONMENT }gcs-skills gcs-skills/1.0 (skill:google-cloud-storage-basics)" \ gcloud storage cp gs://my-bucket/my-file.txt .Using the JSON API:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "User-Agent: gcs-skills/1.0 (skill:google-cloud-storage-basics)" \ "https://storage.googleapis.com/storage/v1/b/my-bucket/o/my-file.txt?alt=media"
Reference Directory
Core Concepts: Buckets, objects, folders, prefixes, bucket location types, and storage classes.
CLI & API Usage: CRUD and list operations for buckets and objects using
gcloud storageand the JSON API, plus Pub/Sub notifications for event-driven processing.Client Libraries: Using Google Cloud client libraries for Python, Java, Node.js, and Go, with pointers to all other supported languages.
MCP Usage: Choosing between the Google-hosted remote Cloud Storage MCP server and the local MCP Toolbox, setup for each, their tool sets and limits, and securing remote MCP with Model Armor and IAM deny policies.
Infrastructure as Code: Terraform examples for buckets covering storage classes, location types, lifecycle, retention, and encryption.
Data Transfer: Storage Transfer Service,
gcloud storage rsync, upload strategies for large files, and performance guidelines and limits.Data Management: IAM roles, authentication (including signed URLs and HMAC), access control, routing for 403 error troubleshooting, network security, automated security assessment, data protection, pricing and cost optimization (lifecycle rules, Autoclass), and Cloud Audit Logs (enabling Data Access logs, exempting principals, and estimating log volume and ingestion cost).
Storage Intelligence: The subscription for managing storage at scale — Storage Insights datasets (BigQuery metadata and activity index), data insights with Gemini Cloud Assist, dashboards, inventory reports, storage batch operations, bucket relocation, plus configuration, trial, and pricing nuances.
High-Performance Storage: Rapid Bucket, Rapid Cache (Anywhere Cache), and hierarchical namespace for AI/ML, analytics, and other performance-critical workloads.
Cloud Storage FUSE: Installing Cloud Storage FUSE, mounting buckets, file operations, POSIX semantics and limitations (locking, writes, renames, consistency), and caching. For advanced tuning, deployment, and diagnosis, route to the
google-cloud-storage-fuseskill.
Files
- ATTRIBUTION.mdAdded by AutoGineer852 B
- LICENSELicence file added by AutoGineer11.1 KiB
- SKILL.md17.3 KiB
- references/cli-api-usage.md7.8 KiB
- references/client-library-usage.md4.8 KiB
- references/core-concepts.md7.5 KiB
- references/data-management.md21.2 KiB
- references/data-transfer.md12.1 KiB
- references/gcsfuse.md21.6 KiB
- references/high-performance-storage.md11.2 KiB
- references/iac-usage.md9.4 KiB
- references/mcp-usage.md13.7 KiB
- references/storage-intelligence.md15.3 KiB
references/mcp-usage.md
Cloud Storage MCP Usage
The Cloud Storage Model Context Protocol (MCP) server lets an agent perform storage operations through structured tool calls instead of shelling out to the CLI or building HTTP requests. It comes in two forms:
Remote server (managed): A Google-hosted HTTP endpoint. No installation; authenticates with OAuth 2.0 and IAM. Best for inspecting buckets and objects, small text reads and writes, and remote management.
Local server (MCP Toolbox): The open-source MCP Toolbox running its prebuilt
cloud-storagetools on your machine over stdio. Best when you need local filesystem integration (upload, download), copy/move operations, or larger payloads.
[!IMPORTANT] Check what is already connected before setting anything up. Installing this repository as a plugin (rather than as skills alone) already configures the local MCP Toolbox server, named
cloud-storage. If those tools are available to you, skip the setup below and just call them. The only setting isCLOUD_STORAGE_PROJECT, and it is required: if the plugin'scloud-storageserver fails to connect, the project ID is most likely unset.
Choosing a Server
| Your need | Use |
|---|---|
| Zero setup: inspect buckets, read small text/PDF/image objects | Remote server |
| Small text writes from a managed endpoint | Remote server |
| Enterprise guardrails: Model Armor screening of tool calls, IAM deny policies (e.g. enforce read-only) | Remote server |
| Upload/download local files, binary content, or objects over 8 MiB | Local MCP Toolbox |
| Copy, move, or rename objects; bucket IAM inspection | Local MCP Toolbox |
When requirements conflict, the hard limits win: the remote server cannot write binary content, exceed 8 MiB per read or write, or touch the local filesystem — those workloads need the Toolbox (or the CLI). Model Armor and IAM deny policies protect only the Google-hosted remote server, so security-sensitive deployments that fit within its limits should prefer remote.
Remote Server (Managed)
The remote server runs on Google's infrastructure at a single global endpoint:
Endpoint:
https://storage.googleapis.com/storage/mcpTransport: HTTP
Auth: OAuth 2.0 with IAM. API keys are not accepted; every request requires IAM authorization. Callers need
roles/mcp.toolUserplus the relevantroles/storage.*roles (for example,roles/storage.objectViewerto read,roles/storage.objectCreatorto write).
Add it to your MCP client as an HTTP server. Because Google Cloud's remote MCP servers require IAM authentication, you must configure client-side credentials or headers (such as an OAuth 2.0 access token). Follow the Configure MCP in an AI application guide for client-specific setup instructions (such as Claude Desktop, Claude Code, or Gemini CLI).
For example, to manually configure Claude Code using a temporary access token,
place this in your client configuration (e.g. .mcp.json or
~/.claude/mcp_servers.json):
{
"mcpServers": {
"cloud-storage": {
"type": "http",
"url": "https://storage.googleapis.com/storage/mcp",
"headers": {
"Authorization": "Bearer ACCESS_TOKEN",
"User-Agent": "gcs-skills/1.0 (skill:google-cloud-storage-basics)"
}
}
}
}Tool calls follow standard JSON-RPC, for example:
POST /storage/mcp HTTP/1.1
Host: storage.googleapis.com
Content-Type: application/json
Authorization: Bearer OAUTH2_TOKEN
{
"jsonrpc": "2.0",
"method": "tools/call",
"id": "1",
"params": {
"name": "list_buckets",
"arguments": {"projectId": "my-project"}
}
}Limits: Read and write operations are capped at 8 MiB. Reads are restricted to text, PDF, and image content; writes are restricted to text. For larger objects or binary writes, use the local MCP Toolbox, the CLI, or a client library.
Defend Against Prompt Injection with Model Armor
Because the remote server is Google-hosted, you can protect it with Model Armor, a service that screens MCP tool calls and responses to mitigate prompt injection, malicious URLs, and sensitive-data disclosure. This server-side protection applies only to the remote server, not the local Toolbox. Enable it once per project with a Model Armor floor setting:
gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--enable-floor-setting-enforcement=TRUE \
--add-integrated-services=GOOGLE_MCP_SERVER \
--google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \
--malicious-uri-filter-settings-enforcement=ENABLEDFloor settings apply project-wide and also affect other integrated services (such as Vertex AI), not just MCP. Enable the prompt injection and jailbreak filter only if your MCP traffic carries natural-language data.
Restrict Tool Access with IAM Deny Policies
You can further lock down the remote server with
IAM deny policies that
block unwanted tool calls at the organization, folder, or project level. Deny
rules can match on the principal, the OAuth client ID, or tool properties — for
example, denying any tool that is not read-only (tool.isReadOnly) to prevent
an agent from creating, modifying, or deleting data.
Local Server (MCP Toolbox)
MCP Toolbox is Google's open-source MCP server (formerly Gen AI Toolbox for
Databases). It ships a prebuilt cloud-storage tool source that exposes the
full set of bucket and object operations.
If you installed these skills individually (for example via npx skills add or
from a skills-only collection), you can either install the full
Google Cloud Storage plugin
(which registers the cloud-storage MCP Toolbox server automatically) or add
the server directly to your MCP client using npx (Option A) or the standalone
binary (Option B).
Configure credentials. The Toolbox uses Application Default Credentials (ADC) in every environment: locally via the command below, on GCP compute via the attached service account, and elsewhere (CI, on-prem) via workload identity federation. Never download a service-account key file or set
GOOGLE_APPLICATION_CREDENTIALSto one — key files are a security liability and are never needed for the Toolbox.gcloud auth application-default loginOption A — Add via
npx(no binary download; requires Node.js). For Antigravity, add the server to~/.gemini/config/mcp_config.json. For Claude Code, add it to.mcp.jsonat your project root. Merge thecloud-storageentry into any existingmcpServersobject, and replacePROJECT_IDwith your project:{ "mcpServers": { "cloud-storage": { "command": "npx", "args": [ "-y", "@toolbox-sdk/[email protected]", "--prebuilt", "cloud-storage", "--stdio", "--user-agent-metadata", "gcs-skills/1.0 (skill:gcs-skills-mcp-traffic)" ], "env": {"CLOUD_STORAGE_PROJECT": "PROJECT_ID"} } } }For Codex, add the equivalent server to
~/.codex/config.toml(or a trusted project's.codex/config.toml):[mcp_servers.cloud-storage] command = "npx" args = [ "-y", "@toolbox-sdk/[email protected]", "--prebuilt", "cloud-storage", "--stdio", "--user-agent-metadata", "gcs-skills/1.0 (skill:gcs-skills-mcp-traffic)", ] [mcp_servers.cloud-storage.env] CLOUD_STORAGE_PROJECT = "PROJECT_ID"Option B — Add via standalone binary (no Node.js dependency). Download the standalone binary (or container image), replacing
VERSIONwith the latest release and picking your OS/architecture path:curl -L -o toolbox \ https://storage.googleapis.com/mcp-toolbox-for-databases/VERSION/linux/amd64/toolbox chmod +x toolboxThen point
commandat the downloaded binary:{ "mcpServers": { "cloud-storage": { "command": "./PATH/TO/toolbox", "args": [ "--prebuilt", "cloud-storage", "--stdio", "--user-agent-metadata", "gcs-skills/1.0 (skill:gcs-skills-mcp-traffic)" ], "env": {"CLOUD_STORAGE_PROJECT": "PROJECT_ID"} } } }Always include
"--user-agent-metadata", "gcs-skills/1.0 (skill:gcs-skills-mcp-traffic)"inargsas shown so local MCP Toolbox requests carry the required attribution header.
CLOUD_STORAGE_PROJECT is required for both options. If it is unset or empty,
the Toolbox exits at startup with Field validation for 'Project' failed on the 'required' tag, which MCP clients typically surface only as a generic
connection failure (for example, Connection closed). The Toolbox does not fall
back to GOOGLE_CLOUD_PROJECT or the gcloud default project. With the plugin,
set the Project ID option in Claude Code, Gemini CLI, or Antigravity; in
Codex, export CLOUD_STORAGE_PROJECT=PROJECT_ID in the shell before launching
Codex. Then reconnect the server.
The identity behind ADC needs the roles/storage.* roles for the operations you
intend to call (for example, roles/storage.objectAdmin for copy, move, and
delete; roles/storage.admin to create or delete buckets).
Available Tools
The two servers expose different tool sets. Tool names do not always match
across them: the remote server has write_text (which the Toolbox does not),
and the Toolbox has write_object, download_object, upload_object, and the
copy/move tools (which the remote server does not). Call only the tools that
exist on the server you are connected to.
Remote server (9 tools):
| Tool | Description |
|---|---|
list_buckets | List buckets in a project. |
list_objects | List objects in a bucket. |
get_bucket_metadata | Get a bucket's metadata. |
get_object_metadata | Get an object's metadata. |
read_object | Read object content, including images and PDFs (up to 8 MiB). |
create_bucket | Create a bucket. |
delete_bucket | Delete a bucket. |
write_text | Write text to an object (overwrites existing content). |
delete_object | Delete an object. |
Local MCP Toolbox (14 tools):
| Tool | Description |
|---|---|
list_buckets | List buckets in a project. |
list_objects | List objects in a bucket. |
get_bucket_metadata | Get a bucket's metadata. |
get_bucket_iam_policy | Get a bucket's IAM policy. |
get_object_metadata | Get an object's metadata. |
read_object | Read UTF-8 text content (up to 8 MiB); binary is |
: : rejected — use download_object. : | |
download_object | Download an object (including binary) to a local |
| : : file. : | |
create_bucket | Create a bucket. |
delete_bucket | Delete a bucket. |
write_object | Write text content to an object (overwrites). |
upload_object | Upload a local file (including binary) to an |
| : : object. : | |
copy_object | Copy an object. |
move_object | Move (rename) an object; deletes the source. |
delete_object | Delete an object. |
On the Toolbox, read_object/write_object handle UTF-8 text only and are
capped at 8 MiB; use download_object/upload_object for binary or large
files.
[!CAUTION]
CRITICAL: You MUST stop and ask the user for explicit permission before calling any tool that deletes a bucket or object (
delete_bucket,delete_object,move_object— which deletes the source) or overwrites existing content (write_text,write_object,upload_object).
Documentation
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs an MCP server, Needs a command-line tool, Needs Node.js
Security
What our scanner noticed· Low risk
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Publisher
- Google (Official)
- Source
- google/skills · skills/cloud/google-cloud-storage-basics · commit 2194d3b
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Google or Google.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download google-cloud-storage-basics.zip