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

VariableRequiredSecretDescription
GCS_PROJECT_IDYesNoGoogle Cloud project ID.
GCS_SERVICE_ACCOUNT_KEY_FILENoYesPath to service account key JSON file.
GCS_SERVICE_ACCOUNT_KEY_JSONNoYesService account key JSON contents (inline).
GCS_BUCKETNoNoConstrain all operations to a single bucket (hides bucket-level tools).
GCS_ENABLED_TOOLGROUPSNoNoComma-separated tool groups to enable (readonly, readwrite, delete).
GCS_ENABLED_TOOLSNoNoComma-separated list of specific tools to enable (overrides groups).
GCS_DISABLED_TOOLSNoNoComma-separated list of specific tools to disable.
SKIP_HEALTH_CHECKSNoNoSkip health checks on startup.

Checks

CheckResultDetail
Source repository linkedPasshttps://github.com/pulsemcp/mcp-servers
Version pinnedPassEvery package has an explicit version
Secrets requestedInfoAsks for 2 secrets: GCS_SERVICE_ACCOUNT_KEY_FILE, GCS_SERVICE_ACCOUNT_KEY_JSON
Known package registryPassAll packages come from npm, PyPI, OCI, NuGet or MCPB
Namespace ownershipInfoName verified via domain pulsemcp.com
Registry text aimed at the AIPassDescription and settings contain no hidden characters or instructions to the AI
Install scriptsPassgcs-google-mcp-server@0.1.14 runs nothing at install
Code red flagsPassRead 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 AIPassNo 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 tostorage.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 settingsGCS_PROJECT_ID: Google Cloud Storage API (project parameter); also shown in the gcs://config resource
GCS_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 tools
GCS_ENABLED_TOOLGROUPS / GCS_ENABLED_TOOLS / GCS_DISABLED_TOOLS / SKIP_HEALTH_CHECKS: not sent; local config
NODE_ENV / DEBUG: not sent; debug logging
GCS_MOCK_DATA: not sent; test entry only
Files on your machineBroad, 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 programsNone. No child_process, eval or Function.
TelemetryNone. The only startup network call is the credential health check to Google (skippable with SKIP_HEALTH_CHECKS=true).
Toolslist_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 descriptionsclean

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.

Popularity17 / 40

81 GitHub stars, 131 downloads last week, 0 Hacker News posts (0 points). Best two of the three, each on a log scale.

Activity17 / 25

Last push 2026-10-09, last release 2025-07-03, 1 commits in 90 days.

Issue health11 / 15

66 closed of 93 issues.

Our checks20 / 20

0 warnings, each costing a fifth.

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 namecom.pulsemcp/gcs
PublisherDomain pulsemcp.com
How the name is verifiedName verified via domain pulsemcp.com. The registry ties the name prefix to that account or domain; it does not check the code.
TypeLocal: runs on your machine from a package
Packagesnpm gcs-google-mcp-server 0.1.14 (stdio)
Version0.1.14
Published
Last updated
Source repositoryhttps://github.com/pulsemcp/mcp-servers
WebsiteNone linked
CategoryCloud & infrastructure (assigned by keyword rule, not by hand)

Related servers in Cloud & infrastructure