World Monitor
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.
作者提供的说明(英文原文)
MCP server for Google Cloud Storage with fine-grained tool access control.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
GCS_PROJECT_ID, GCS_SERVICE_ACCOUNT_KEY_FILE, GCS_SERVICE_ACCOUNT_KEY_JSON, GCS_BUCKET, GCS_ENABLED_TOOLGROUPS, GCS_ENABLED_TOOLS, GCS_DISABLED_TOOLS, SKIP_HEALTH_CHECKS标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"gcs": {
"command": "npx",
"args": [
"-y",
"gcs-google-mcp-server"
],
"env": {
"GCS_PROJECT_ID": "your-value",
"GCS_SERVICE_ACCOUNT_KEY_FILE": "your-value",
"GCS_SERVICE_ACCOUNT_KEY_JSON": "your-value",
"GCS_BUCKET": "your-value",
"GCS_ENABLED_TOOLGROUPS": "your-value",
"GCS_ENABLED_TOOLS": "your-value",
"GCS_DISABLED_TOOLS": "your-value",
"SKIP_HEALTH_CHECKS": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add gcs --env GCS_PROJECT_ID=your-value --env GCS_SERVICE_ACCOUNT_KEY_FILE=your-value --env GCS_SERVICE_ACCOUNT_KEY_JSON=your-value --env GCS_BUCKET=your-value --env GCS_ENABLED_TOOLGROUPS=your-value --env GCS_ENABLED_TOOLS=your-value --env GCS_DISABLED_TOOLS=your-value --env SKIP_HEALTH_CHECKS=your-value -- npx -y gcs-google-mcp-server运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"gcs": {
"command": "npx",
"args": [
"-y",
"gcs-google-mcp-server"
],
"env": {
"GCS_PROJECT_ID": "your-value",
"GCS_SERVICE_ACCOUNT_KEY_FILE": "your-value",
"GCS_SERVICE_ACCOUNT_KEY_JSON": "your-value",
"GCS_BUCKET": "your-value",
"GCS_ENABLED_TOOLGROUPS": "your-value",
"GCS_ENABLED_TOOLS": "your-value",
"GCS_DISABLED_TOOLS": "your-value",
"SKIP_HEALTH_CHECKS": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"gcs": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"gcs-google-mcp-server"
],
"env": {
"GCS_PROJECT_ID": "your-value",
"GCS_SERVICE_ACCOUNT_KEY_FILE": "your-value",
"GCS_SERVICE_ACCOUNT_KEY_JSON": "your-value",
"GCS_BUCKET": "your-value",
"GCS_ENABLED_TOOLGROUPS": "your-value",
"GCS_ENABLED_TOOLS": "your-value",
"GCS_DISABLED_TOOLS": "your-value",
"SKIP_HEALTH_CHECKS": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
GCS_BUCKET envGCS_ENABLED_TOOLGROUPS envGCS_ENABLED_TOOLS envGCS_DISABLED_TOOLS envSKIP_HEALTH_CHECKS env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月10日
注册名称已通过域名 pulsemcp.com 验证(注册中心会核实域名所有权)
代码最后更新于32天前
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 2 项适用的基础检查中通过了 2 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:GCS_PROJECT_ID, GCS_SERVICE_ACCOUNT_KEY_FILE, GCS_SERVICE_ACCOUNT_KEY_JSON
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于32天前,最新版本(0.1.14)于5个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:World Monitor, Claude Flow, Tldraw
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 102 tools.
AI orchestration with hive-mind swarms, neural networks, and 87 MCP tools for enterprise dev.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
MCP server for Google Cloud Storage operations with fine-grained tool access control. Supports read/write operations on GCS buckets and objects, with configurable tool groups for security and permission management.
| Tool | Group | Description |
|---|---|---|
list_buckets | readonly | List all GCS buckets in the Google Cloud project |
list_objects | readonly | List objects in a bucket with prefix and pagination |
get_object | readonly | Get object contents as text |
download_object | readonly | Download a single object to a local file (binary-safe) |
download_prefix | readonly | Recursively download a prefix to a local directory (binary-safe) |
head_bucket | readonly | Check if a bucket exists and is accessible |
put_object | readwrite | Upload or update an object from inline string content |
put_object_from_path | readwrite | Upload a single local file by streaming from disk (binary-safe, context-free) |
upload_prefix | readwrite | Recursively upload a local directory tree from disk (binary-safe, context-free) |
copy_object | readwrite | Copy an object within or across buckets |
create_bucket | readwrite | Create a new GCS bucket |
delete_object | delete | Delete an object from a bucket |
delete_bucket | delete | Delete an empty GCS bucket |
get_object returns an object's contents inline as UTF-8 text, which is lossy for binary data and impractical for large files or many files at once. For local data-wrangling, use the download tools instead — both stream raw bytes to disk and belong to the readonly toolgroup:
/), collects per-object errors without aborting the batch, and returns a manifest: {
"destinationDir": "/tmp/gcs-download-my-bucket-1700000000000", "objectCount": 1234, "totalBytes": 5678901, "files": [ { "key": "logs/2024/01/data.json", "localPath": "/tmp/.../01/data.json", "size": 1234 } ], "filesTruncated": true, "errors": [] }
The inline files list is capped (maxInlineEntries, default 100), but objectCount and totalBytes always reflect the full download. When destinationDir is omitted it defaults to a unique folder under the OS temp directory.
put_object takes the object content inline as a string argument, which routes every byte through the model context and requires base64 for binary data — impractical for large files or bulk uploads. For uploading files or folders without consuming context, use the local-path upload tools instead. Both stream raw bytes directly from disk to GCS server-side, returning only metadata. They belong to the readwrite toolgroup, so read-only deployments never gain them.
contentType). Binary files (images, archives) work without base64. Returns { bucket, key, sourcePath, size, etag, generation }. {
"bucket": "my-bucket", "sourceDir": "/tmp/exports", "destPrefix": "uploads/", "objectCount": 1234, "totalBytes": 5678901, "files": [ { "localPath": "/tmp/exports/01/data.json", "key": "uploads/01/data.json", "size": 1234 } ], "filesTruncated": true, "errors": [] }
The inline files list is capped (maxInlineEntries, default 100), but objectCount and totalBytes always reflect the full upload. When destPrefix is omitted, files upload to the bucket root.
| Resource | Description |
|---|---|
gcs://config | Server configuration and status (for debugging) |
Control which tools are available via the GCS_ENABLED_TOOLGROUPS environment variable:
| Group | Description |
|---|---|
readonly | Read-only operations (list, get, head) |
readwrite | Non-destructive write operations (put, copy, create) |
delete | Delete operations (delete_object, delete_bucket) |
Examples:
GCS_ENABLED_TOOLGROUPS="readonly" - Only read operationsGCS_ENABLED_TOOLGROUPS="readonly,readwrite" - Read and write, no deletesGCS_ENABLED_TOOLGROUPS="readonly,readwrite,delete" - All operationsFine-grained control over specific tools:
GCS_ENABLED_TOOLS="list_buckets,get_object" - Only enable these toolsGCS_DISABLED_TOOLS="delete_bucket,delete_object" - Disable these toolsConstrain all operations to a specific bucket using GCS_BUCKET:
GCS_BUCKET="my-bucket"
When set:
list_buckets, create_bucket, delete_bucket, head_bucket) are hiddenbucket parameter is automatically injected and hidden from tool inputscopy_object, both source and destination are constrained to the specified bucketThis lets you grant a least-privilege service account that has only object-level access to one bucket, without project-level bucket-listing permission. The startup healthcheck honors this: when GCS_BUCKET is set it validates credentials with an object-scoped probe (storage.objects.list on that bucket) and never calls the project-level bucket list or a bucket-metadata probe. See Required IAM permissions for the exact permissions per mode.
The minimal IAM permissions depend on whether the server is constrained to a single bucket (GCS_BUCKET) and which tool groups you enable. The startup healthcheck validates credentials within these bounds — it does not require any permission beyond what the table below lists for your mode.
| Mode | Permission the healthcheck needs | Notes |
|---|---|---|
Single bucket (GCS_BUCKET set) | storage.objects.list on the constrained bucket | Probes list_objects with maxResults: 1. Does not require project-level storage.buckets.list or bucket-metadata storage.buckets.get, so a correctly least-privilege, object-only service account can start. |
Unconstrained (no GCS_BUCKET) | project-level storage.buckets.list | Validates by listing buckets in the project. |
Set SKIP_HEALTH_CHECKS=true to bypass startup validation entirely (disables all credential checks — not recommended).
Beyond the healthcheck, each tool needs the corresponding GCS permission at runtime. Grant only what the tool groups you enable require:
| Tool / group | Permission |
|---|---|
list_objects (readonly) | storage.objects.list |
get_object, download_object (readonly) | storage.objects.get |
download_prefix (readonly) | storage.objects.list, storage.objects.get |
list_buckets (readonly) | storage.buckets.list |
head_bucket (readonly) | storage.buckets.get |
put_object, put_object_from_path, upload_prefix, copy_object (readwrite) | storage.objects.create, storage.objects.get (these tools read each object's metadata back after writing to return its etag/generation; copy_object additionally reads the copy source) |
| create_bucket (readwrite) | storage.buckets.create