gcs
com.pulsemcp/gcs
About gcs
gcs is an MCP server published by pulsemcp.com. MCP server for Google Cloud Storage with fine-grained tool access control.
It runs on your own machine: your AI client starts it from the npm package gcs-google-mcp-server at version 0.1.14.
It asks for 2 secrets: GCS_SERVICE_ACCOUNT_KEY_FILE and GCS_SERVICE_ACCOUNT_KEY_JSON. Give it a key with the least access that still works.
It also needs GCS_PROJECT_ID set before it starts.
Version 0.1.14 was published on 17 June 2026, and the source code is public, so you can read it before installing.
Written from the registry entry. 9 automated checks on the registry entry and the package code: 7 pass, 0 warn, 0 fail, 2 info. How we check.
What it asks for
| Variable | Required | Secret | Description |
|---|---|---|---|
GCS_PROJECT_ID | Yes | No | Google Cloud project ID. |
GCS_SERVICE_ACCOUNT_KEY_FILE | No | Yes | Path to service account key JSON file. |
GCS_SERVICE_ACCOUNT_KEY_JSON | No | Yes | Service account key JSON contents (inline). |
GCS_BUCKET | No | No | Constrain all operations to a single bucket (hides bucket-level tools). |
GCS_ENABLED_TOOLGROUPS | No | No | Comma-separated tool groups to enable (readonly, readwrite, delete). |
GCS_ENABLED_TOOLS | No | No | Comma-separated list of specific tools to enable (overrides groups). |
GCS_DISABLED_TOOLS | No | No | Comma-separated list of specific tools to disable. |
SKIP_HEALTH_CHECKS | No | No | Skip health checks on startup. |
Checks
| Check | Result | Detail |
|---|---|---|
| Source repository linked | Pass | https://github.com/pulsemcp/mcp-servers |
| Version pinned | Pass | Every package has an explicit version |
| Secrets requested | Info | Asks for 2 secrets: GCS_SERVICE_ACCOUNT_KEY_FILE, GCS_SERVICE_ACCOUNT_KEY_JSON |
| Known package registry | Pass | All packages come from npm, PyPI, OCI, NuGet or MCPB |
| Namespace ownership | Info | Name verified via domain pulsemcp.com |
| Registry text aimed at the AI | Pass | Description and settings contain no hidden characters or instructions to the AI |
| Install scripts | Pass | gcs-google-mcp-server@0.1.14 runs nothing at install |
| Code red flags | Pass | Read 49 files in gcs-google-mcp-server@0.1.14: no obfuscation, encoded execution, credential reads or data-collection endpoints found |
| Text aimed at the AI | Pass | No hidden characters or instructions to the AI in 49 files, including comments and the README |
Code review: Pass, with notes
We read all 3,038 lines in 47 files of gcs-google-mcp-server 0.1.14 on 2026-10-31, without running it.
Lets an AI assistant browse, read, upload, copy and delete files in your Google Cloud Storage buckets. It talks only to Google Cloud using the credentials you configure, checking them once at startup; there is no telemetry. Be aware it can upload any file on your computer to a bucket and save downloads to any path, and delete tools are on by default; use GCS_ENABLED_TOOLGROUPS=readonly or GCS_DISABLED_TOOLS to limit it.
What we found
- Note Local-file exfiltration surface: the AI can upload any file or folder the process can read (SSH keys, .env files, browser profiles) to any bucket the credentials can write to. No path allow-list; GCS_BUCKET limits the destination bucket but not the source path. Clearly described in the tool text. Disable with GCS_DISABLED_TOOLS=put_object_from_path,upload_prefix or GCS_ENABLED_TOOLGROUPS=readonly.
shared/tools/put-object-from-path.js:57-65; shared/tools/upload-prefix.js:121-136 - Note download_object writes to any destinationPath supplied by the AI with no restriction, so it can overwrite arbitrary local files (shell profile, startup scripts) with bucket contents.
shared/tools/download-object.js:43-58 - Note All groups including 'delete' (delete_object, delete_bucket) and the write tools are enabled by default; deletions are immediate with no confirmation.
shared/tools.js:16-64 - Info Makes one Google API call at startup to validate credentials (listBuckets, or listObjects on GCS_BUCKET). Skippable via SKIP_HEALTH_CHECKS=true.
build/index.js:97-125 - Info With no destinationDir, the default folder name includes the unvalidated bucket string and mkdir runs before the bucket is checked, so a bucket value containing '../' can create an empty directory outside the temp folder. Low impact.
shared/tools/download-prefix.js:90-93 - Info gcs://config resource exposes project ID, bucket constraint and tool filters; key file path/JSON are masked as ***configured***. It reports a hard-coded version '0.0.0'.
shared/resources.js:21-52 - Info GCS_ENABLED_TOOLS is documented as overriding groups but only narrows within enabled groups. Cosmetic.
shared/tools.js:129-132 - Info package.json was not part of the review set; the dependency list is inferred from imports, and install scripts (if any) could not be checked.
(package)
| Talks to | storage.googleapis.com (via @google-cloud/storage): Google credentials/access token, bucket and object names, object contents you put or upload (including local files read by put_object_from_path / upload_prefix) (At startup (health check: listBuckets, or listObjects on GCS_BUCKET, unless SKIP_HEALTH_CHECKS=true) and whenever a tool is called) oauth2.googleapis.com / Google metadata server (via @google-cloud/storage auth): Service-account signed JWT or Application Default Credentials (When an access token is needed) |
|---|---|
| Keys and settings | GCS_PROJECT_ID: Google Cloud Storage API (project parameter); also shown in the gcs://config resourceGCS_SERVICE_ACCOUNT_KEY_FILE: not sent; path read locally by the Google SDK to sign tokens (masked in gcs://config)GCS_SERVICE_ACCOUNT_KEY_JSON: not sent directly; used by the Google SDK to sign tokens for Google OAuth (masked in gcs://config)GCS_BUCKET: Google Cloud Storage API; forces the bucket parameter on object toolsGCS_ENABLED_TOOLGROUPS / GCS_ENABLED_TOOLS / GCS_DISABLED_TOOLS / SKIP_HEALTH_CHECKS: not sent; local configNODE_ENV / DEBUG: not sent; debug loggingGCS_MOCK_DATA: not sent; test entry only |
| Files on your machine | Broad, by design, and driven by tool input: put_object_from_path reads ANY local file path the AI supplies and uploads it; upload_prefix recursively reads ANY local directory (following symlinks to files) and uploads it; download_object writes to ANY destinationPath the AI supplies (can overwrite files); download_prefix writes into ANY destinationDir (object keys escaping that dir are blocked). Default download locations are under os.tmpdir() with traversal checks. Also reads its own package.json, and the key file via the Google SDK. |
| Runs programs | None. No child_process, eval or Function. |
| Telemetry | None. The only startup network call is the credential health check to Google (skippable with SKIP_HEALTH_CHECKS=true). |
| Tools | list_buckets, list_objects, get_object, download_object, download_prefix, head_bucket, put_object, put_object_from_path, upload_prefix, copy_object, create_bucket, delete_object, delete_bucket |
| Tool descriptions | clean |
This covers the package's own code only, not the 3 packages it depends on (@modelcontextprotocol/sdk, zod, @google-cloud/storage). A new version drops this review until we read it again.
Popularity & health: 64 / 100
Worked out from public numbers and our own checks, not from user reviews or ratings. It says how used and how looked-after a server is, not whether it is safe.
10 forks, 491 merged pull requests. Sources: GitHub, npm, PyPI (pypistats.org) and Hacker News (Algolia), fetched 2026-10-31.
What people say
No Hacker News threads link to its source code.
Look further: search Reddit, search Hacker News, read its GitHub issues. These are not reviews we checked.
Facts
| Registry name | com.pulsemcp/gcs |
|---|---|
| Publisher | Domain pulsemcp.com |
| How the name is verified | Name verified via domain pulsemcp.com. The registry ties the name prefix to that account or domain; it does not check the code. |
| Type | Local: runs on your machine from a package |
| Packages | npm gcs-google-mcp-server 0.1.14 (stdio) |
| Version | 0.1.14 |
| Published | |
| Last updated | |
| Source repository | https://github.com/pulsemcp/mcp-servers |
| Website | None linked |
| Category | Cloud & infrastructure (assigned by keyword rule, not by hand) |
Related servers in Cloud & infrastructure
- mcp-server-cloud-fs7/8Cloud replacement for mcp-server-filesystem — 20 tools for S3,…
- Onde Inference CLI7/7Manage your Onde Inference account and models: apps, model catalog,…
YouTube Download to Cloud Storage — FlashData6/6Deliver YouTube video, audio or clips to your cloud storage…
- Tiniest Cloud3/3Deploy web apps with sign-in, per-user storage, realtime and AI…
- blazingcdn-mcp7/7Manage BlazingCDN from AI agents: CDN zones, cache, metrics,…
- files-com7/7Manage files, users, and automated workflows across cloud storage…