
Google Cloud Storage MCP Server: Setup for Claude, Cursor and Gemini CLI
Lets Claude, Cursor and Gemini CLI list, read and manage the files and buckets in your Google Cloud Storage.
This is a Google Cloud server for Cloud Storage. It lets your assistant list buckets, read files, check who has access, and upload or copy new files. It runs on your computer and uses your own gcloud login, so it can only do what that account is allowed to do.
By default it runs in safe mode: it can read and add files but cannot overwrite or delete anything. Delete, overwrite and move tools only appear if you start it with the destructive flag. Google calls the project a preview and says it is not an officially supported Google product, so expect breaking changes.
Good for
- Google Cloud users who want to find and read stored files by asking in plain words
- Data teams who need totals and filters across a whole bucket inventory using Storage Insights
- Developers who copy and upload files to buckets while they work in an editor
- Teams who want safe mode on by default, with delete and overwrite tools off until they ask for them
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Client does not support this transport.
Client does not support this transport.
Install storage MCP
Claude Code
- 1
Copy this prompt.
Add the storage MCP server to Claude Code. Run this command: claude mcp add storage -- npx -y @google-cloud/storage-mcp Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Node.js.
Built from the package data we hold. Not yet tested by us.
Tools
Lists the storage buckets in a Google Cloud project
Returns every bucket in a project you name. A good first step when you do not remember where a file lives.
Try: “List all the buckets in my project analytics-prod.”
Network ·
list_bucketsLists the files inside a bucket
Lists objects in a bucket, with options to narrow the list by folder-style prefix.
Try: “Show me what is in the reports folder of the finance-archive bucket.”
Network ·
list_objectsReads the contents of a file in a bucket
Fetches the content of one stored object so the assistant can read it. Text comes back as text; other file types come back as a resource.
Try: “Read config/settings.json from the app-assets bucket and summarize it.”
Network ·
read_object_contentShows size, type, dates and labels for one file
Returns the full metadata record for a single object, such as its size, content type and timestamps.
Try: “When was backups/db-dump.sql last updated and how big is it?”
Network ·
read_object_metadataShows the settings of a bucket
Returns the full metadata for a bucket, including its location, storage class and labels.
Try: “What storage class and location does the media-uploads bucket use?”
Network ·
get_bucket_metadataTells you where a bucket is stored
Returns the region or multi-region a bucket lives in.
Try: “Which region is the logs-eu bucket in?”
Network ·
get_bucket_locationShows who has access to a bucket
Returns the access policy of a bucket, which lists the roles and who holds them.
Try: “Who has access to the customer-exports bucket?”
Network ·
view_iam_policyChecks which actions your account can do on a bucket
Tests a list of permissions against a bucket and reports which ones the signed-in account has.
Try: “Can I delete objects in the staging-assets bucket?”
Network ·
check_iam_permissionsLists Storage Insights datasets set up in a project
Returns the names of the Storage Insights dataset configurations in a project. These datasets let you run reports across all your objects.
Try: “Which Storage Insights datasets exist in my project?”
Network ·
list_insights_configsChecks Insights is on and shows its table layout
Checks whether Storage Insights is enabled and returns the BigQuery table layout for a dataset, so a query can be written against it.
Try: “Show me the columns of my Storage Insights dataset.”
Network ·
get_metadata_table_schemaRuns a report across all your objects with BigQuery
Runs a BigQuery SQL query against a Storage Insights dataset and returns the rows. Use it for totals and filters over a whole inventory, such as counting files by type.
Try: “How many objects larger than 1 GB do we have, grouped by bucket?”
Network ·
execute_insights_queryCreates a new bucket
Creates a bucket with the settings you give it. This is on in safe mode too, and new buckets can add cost.
Try: “Create a bucket called team-archive-2026 in europe-west1.”
Write ·
create_bucketSaves new text as a file, never overwriting
Writes content to a new object and fails if one with that name already exists. This is the version on by default.
Try: “Save these meeting notes as notes/2026-11-02.txt in the team-docs bucket.”
Write ·
write_object_safeUploads a local file as a new object, never overwriting
Uploads a file from your computer to a bucket and fails if the object already exists. This is the version on by default.
Try: “Upload ./report.pdf to the finance-archive bucket as 2026/report.pdf.”
Write ·
upload_object_safeCopies a file to a new place, never overwriting
Copies an object to a new destination and fails if the destination already exists. This is the version on by default.
Try: “Copy data/raw.csv to data/backup/raw.csv in the same bucket.”
Write ·
copy_object_safeSaves a file and overwrites it if it exists (destructive mode)
Writes an object and replaces any existing one with the same name. It replaces write_object_safe when you start the server with the destructive flag.
Try: “Overwrite config/app.json in app-assets with this new content.”
Delete ·
write_objectUploads a local file and overwrites the target (destructive mode)
Uploads a file and replaces an existing object at the destination. It replaces upload_object_safe when you start the server with the destructive flag.
Try: “Upload ./site.zip to releases/site.zip and replace the old one.”
Delete ·
upload_objectCopies a file and overwrites the destination (destructive mode)
Copies an object and replaces whatever sits at the destination. It replaces copy_object_safe when you start the server with the destructive flag.
Try: “Copy staging/build.zip over production/build.zip.”
Delete ·
copy_objectMoves a file by copying it and deleting the original (destructive mode)
Copies an object to a new place and then deletes the original. Only available with the destructive flag.
Try: “Move inbox/invoice-114.pdf to processed/invoice-114.pdf.”
Delete ·
move_objectDeletes a file from a bucket (destructive mode)
Permanently removes an object from a bucket. Only available with the destructive flag.
Try: “Delete tmp/old-export.csv from the data-exports bucket.”
Delete ·
delete_objectDeletes a bucket (destructive mode)
Deletes a bucket. Only available with the destructive flag.
Try: “Delete the empty bucket test-scratch-1.”
Delete ·
delete_bucketChanges the labels on a bucket (destructive mode)
Changes the labels attached to a bucket. Only available with the destructive flag.
Try: “Set the label env=prod on the billing-exports bucket.”
Write ·
update_bucket_labelsChanges the custom metadata of a file (destructive mode)
Changes the custom metadata of an existing object. Only available with the destructive flag.
Try: “Add the metadata key owner=finance to reports/q3.pdf.”
Write ·
update_object_metadataSaves a bucket file to your computer, overwriting (destructive mode)
Downloads an object to a path on your computer and overwrites a file already there. Only available with the destructive flag.
Try: “Download backups/db-dump.sql to ./db-dump.sql.”
Write ·
download_object
Read from the source code
Permissions
medium risk · 4 things to watch
Medium risk
In its default safe mode the assistant can read your data and add new buckets and files, but it cannot overwrite or delete existing ones. Sign in with a limited service account, and leave the destructive flag off unless you need it.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
The destructive flag adds delete and overwrite
Starting the server with the destructive flag registers tools that delete buckets and objects, overwrite files and move objects. Leave it off unless you trust the task and the account. github.com
Safe mode still creates buckets and files
Creating buckets and adding new objects is allowed by default and can add cost. Use a service account whose role only allows what you want. github.com
Access equals your gcloud account
The server has the same permissions as the signed-in account. Authorize gcloud as a service account with a limited role to limit it. github.com
Reads can run BigQuery queries
The insights query tool runs SQL in BigQuery against a Storage Insights dataset, which can use your BigQuery quota. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Turning on read-only | There is no read-only flag. Safe mode (the default) still lets it create buckets and add new objects. Use a service account with a read-only Storage role to make it read-only. |
|---|---|
| Talks to | Google Cloud Storage and BigQuery APIs |
| Sign-in and keys | No key is stored in the server. It uses the account that gcloud is signed in with on your computer. |
| Scopes |
|
Questions
Is the Google Cloud Storage MCP server official?
Yes. Google ships it in the googleapis GitHub organization. The README still calls it a preview and says it is not an officially supported Google product.
Does it need an API key?
No. It uses the Google account that the gcloud CLI is signed in with, so install gcloud and sign in first. Node.js 20 or higher is required.
Can I stop it deleting files?
Yes, that is the default. Without --enable-destructive-tools, delete, move and overwrite tools are not registered. It can still create buckets and add new files.
Which apps does it work with?
It runs on your computer over stdio. The README gives config steps for Claude Desktop, Cline, Cursor, VS Code and Gemini CLI.
How do I turn on the delete tools?
Add --enable-destructive-tools to the server command (npx -y @google-cloud/storage-mcp --enable-destructive-tools), or pass it to init --agent=gemini-cli. The delete and overwrite tools then replace their safe versions. Only do this for a trusted task.
Does the tool list match the README?
Mostly. The README names the safe write tools with a _new ending, but the source registers them as write_object_safe, upload_object_safe and copy_object_safe. This page uses the source names.
Information
updated Nov 2, 2026
- Publisher
- Official
- Package
@google-cloud/storage-mcp- Registry
- npm
- Transport
- stdio
- Version
- 0.6.0
- License
- Apache-2.0
- Last commit
- Oct 17, 2026
- Open issues
- 33
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 3Hide
- Storage MCP README · github.com
- Server entry point · github.com
- Tool registration · github.com