GKE MCP Server
OFFICIAL SERVERManage Google Kubernetes Engine clusters, workloads, logs and metrics from an MCP client
Deploy code, files and container images to Google Cloud Run and inspect the services and their logs
Official · Google Cloud Platform JavaScript Local · stdio Cloud platformsDevOps and monitoring
75 popularity score ★ 637 ↓ 5.5k/wk
Opens the app, which asks before it adds the server.
claude mcp add cloud-run -- npx -y @google-cloud/cloud-run-mcp{
"mcpServers": {
"cloud-run": {
"command": "npx",
"args": [
"-y",
"@google-cloud/cloud-run-mcp"
]
}
}
}{
"mcpServers": {
"cloud-run": {
"command": "npx",
"args": [
"-y",
"@google-cloud/cloud-run-mcp"
]
}
}
}{
"servers": {
"cloud-run": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@google-cloud/cloud-run-mcp"
]
}
}
}[mcp_servers.cloud-run]
command = "npx"
args = ["-y", "@google-cloud/cloud-run-mcp"]gemini mcp add --scope user cloud-run npx -- -y @google-cloud/cloud-run-mcpOpens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.
claude mcp add cloud-run -- docker run -i --rm -e GOOGLE_APPLICATION_CREDENTIALS -v '<ABSOLUTE_PATH>:<ABSOLUTE_PATH>' mcp/cloud-run-mcp:latest{
"mcpServers": {
"cloud-run": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GOOGLE_APPLICATION_CREDENTIALS",
"-v",
"<ABSOLUTE_PATH>:<ABSOLUTE_PATH>",
"mcp/cloud-run-mcp:latest"
]
}
}
}{
"mcpServers": {
"cloud-run": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GOOGLE_APPLICATION_CREDENTIALS",
"-v",
"<ABSOLUTE_PATH>:<ABSOLUTE_PATH>",
"mcp/cloud-run-mcp:latest"
]
}
}
}{
"servers": {
"cloud-run": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GOOGLE_APPLICATION_CREDENTIALS",
"-v",
"<ABSOLUTE_PATH>:<ABSOLUTE_PATH>",
"mcp/cloud-run-mcp:latest"
]
}
}
}[mcp_servers.cloud-run]
command = "docker"
args = ["run", "-i", "--rm", "-e", "GOOGLE_APPLICATION_CREDENTIALS", "-v", "<ABSOLUTE_PATH>:<ABSOLUTE_PATH>", "mcp/cloud-run-mcp:latest"]gemini mcp add --scope user cloud-run docker -- run -i --rm -e GOOGLE_APPLICATION_CREDENTIALS -v '<ABSOLUTE_PATH>:<ABSOLUTE_PATH>' mcp/cloud-run-mcp:latestGOOGLE_CLOUD_PROJECT |
Optional: Default project ID for the tools. |
|---|---|
GOOGLE_CLOUD_REGION |
Optional: Default region for services. |
DEFAULT_SERVICE_NAME |
Optional: Default service name; the prompts fall back to the current folder name. |
GOOGLE_APPLICATION_CREDENTIALS |
Optional: Path to an application-default credentials file; needed for the Docker way, where gcloud's own login is not visible. |
SKIP_IAM_CHECK |
Optional: true by default, which makes deployed services public; set false to keep IAM checks. |
RUN_INGRESS_POLICY |
Optional: Ingress for deployed services, e.g. INGRESS_TRAFFIC_INTERNAL_ONLY; not in the README. |
GCP_STDIO |
Optional: Set to false to serve over HTTP instead of stdio. |
PORT |
Optional: HTTP port in non-stdio mode; 3000 by default. |
ENABLE_HOST_VALIDATION |
Optional: Set true to check the Host header against DNS rebinding; off by default. |
ALLOWED_HOSTS |
Optional: Comma-separated allowed Host headers when validation is on; localhost,127.0.0.1,::1 by default. |
In a container, a setting goes in with -e NAME=value after docker run.
Cloud Run MCP is Google Cloud's server for putting applications onto Cloud Run from an assistant. It can ship a folder from your disk, a set of files written in the chat, or an existing container image as a Cloud Run service, and then read back the service list, a service's details and its logs and errors. It can also list your Google Cloud projects and create a new one, attaching it to the first billing account it finds.
It runs on your own machine over stdio with your gcloud application-default credentials, or as an HTTP server (set GCP_STDIO=false, port 3000 by default) that you can host on Cloud Run itself behind IAM, reached through a local `gcloud run services proxy`. An OAuth mode reads its client settings from a .env file. It also ships as a Gemini CLI extension and two prompts, `deploy` and `logs`.
The published 1.11.0 code (tools/register-tools.js) registers eight tools with underscore names such as `deploy_local_folder`, while the README lists seven with hyphenated names and leaves out `deploy_container_image`. The code also reads a `RUN_INGRESS_POLICY` setting (mcp-server.js) that sets the ingress of deployed services and is not in the README's table.
| Runtime | Node.jsorDocker |
|---|
Node.js (LTS recommended) for npx, or Docker; the Google Cloud SDK with `gcloud auth login` and `gcloud auth application-default login` done; a Google Cloud account with a project, and billing for deployments. The hosted mode needs the server deployed to Cloud Run and `gcloud run services proxy` running locally.
`deploy_local_folder`, `list_projects` and `create_project` are only registered in local or stdio mode; when hosted on Cloud Run it offers five tools and deploys only to the project it runs in. Without credentials it still starts but every tool answers with an error. SKIP_IAM_CHECK defaults to true, so deployed services are made public unless set to false. Host header validation against DNS rebinding is off unless ENABLE_HOST_VALIDATION=true. Tool names in the README use hyphens; the 1.11.0 code uses underscores. In the README's Docker example the credentials path must sit inside the mounted folder. Google's Cloud terms of service do not apply to this software, per its README.
Developers already on Google Cloud who want an assistant to deploy prototypes or apps to Cloud Run and check their logs without leaving the editor. It is published by Google and works through your own credentials, so it acts with whatever rights your gcloud account has. It covers only Cloud Run plus project creation; for other Google Cloud products or for Cloud Run jobs, the README points to its Cloud Run skills built on the gcloud CLI instead.
list_projectscreate_projectlist_servicesget_serviceget_service_logdeploy_local_folderdeploy_file_contentsdeploy_container_image