cloud-infrastructuredeveloper-tools

Cloud Run MCP Server

by googlecloudplatform

Deploy and manage MCP-compatible AI apps on Google Cloud Run — automate Cloud Run deployments, list services, and manage

Enables MCP-compatible AI agents to deploy applications to Google Cloud Run by providing tools for deploying code, listing services, and managing Google Cloud projects.

github stars

552

Works with Gemini CLI and AI-powered toolsDirect deployment from file contents or local foldersBuilt by Google Cloud team

best for

  • / Developers deploying apps through AI assistants
  • / Automating Cloud Run deployments from IDEs
  • / Managing cloud services via conversational interfaces

capabilities

  • / Deploy application code to Google Cloud Run
  • / List and inspect Cloud Run services
  • / View service logs and error messages
  • / Create new GCP projects with billing
  • / Deploy local folders to cloud services
  • / List available Google Cloud projects

what it does

Connects AI agents directly to Google Cloud Run for deploying applications, listing services, and managing projects. Makes cloud deployment as simple as talking to your AI assistant.

about

Cloud Run MCP Server is an official MCP server published by googlecloudplatform that provides AI assistants with tools and capabilities via the Model Context Protocol. Deploy and manage MCP-compatible AI apps on Google Cloud Run — automate Cloud Run deployments, list services, and manage It is categorized under cloud infrastructure, developer tools.

how to install

You can install Cloud Run MCP Server in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

license

Apache-2.0

Cloud Run MCP Server is released under the Apache-2.0 license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

readme

Cloud Run MCP server and Gemini CLI extension

Enable MCP-compatible AI agents to deploy apps to Cloud Run.

"mcpServers":{
  "cloud-run": {
    "command": "npx",
    "args": ["-y", "@google-cloud/cloud-run-mcp"]
  }
}

Deploy from Gemini CLI and other AI-powered CLI agents:

<img src="https://raw.githubusercontent.com/GoogleCloudPlatform/cloud-run-mcp/refs/heads/main/.github/images/deploycli.gif" width="800">

Deploy from AI-powered IDEs:

<img src="https://raw.githubusercontent.com/GoogleCloudPlatform/cloud-run-mcp/refs/heads/main/.github/images/deploy_from_ide.gif" width="800">

Deploy from AI assistant apps:

<img src="https://raw.githubusercontent.com/GoogleCloudPlatform/cloud-run-mcp/refs/heads/main/.github/images/deploy_from_apps.gif" width="800">

Deploy from agent SDKs, like the Google Gen AI SDK or Agent Development Kit.

[!NOTE]
This is the repository of an MCP server to deploy code to Cloud Run, to learn how to host MCP servers on Cloud Run, visit the Cloud Run documentation.

Tools

  • deploy-file-contents: Deploys files to Cloud Run by providing their contents directly.

  • list-services: Lists Cloud Run services in a given project and region.

  • get-service: Gets details for a specific Cloud Run service.

  • get-service-log: Gets Logs and Error Messages for a specific Cloud Run service.

  • deploy-local-folder*: Deploys a local folder to a Google Cloud Run service.

  • list-projects*: Lists available GCP projects.

  • create-project*: Creates a new GCP project and attach it to the first available billing account. A project ID can be optionally specified.

* only available when running locally

Prompts

Prompts are natural language commands that can be used to perform common tasks. They are shortcuts for executing tool calls with pre-filled arguments.

  • deploy: Deploys the current working directory to Cloud Run. If a service name is not provided, it will use the DEFAULT_SERVICE_NAME environment variable, or the name of the current working directory.
  • logs: Gets the logs for a Cloud Run service. If a service name is not provided, it will use the DEFAULT_SERVICE_NAME environment variable, or the name of the current working directory.

Environment Variables

The Cloud Run MCP server can be configured using the following environment variables:

VariableDescription
GOOGLE_CLOUD_PROJECTThe default project ID to use for Cloud Run services.
GOOGLE_CLOUD_REGIONThe default region to use for Cloud Run services.
DEFAULT_SERVICE_NAMEThe default service name to use for Cloud Run services.
SKIP_IAM_CHECKControls whether to check for IAM permissions for a Cloud Run service. Set to false to enable checks. This is true by default which is a recommended way to make the service public.
ENABLE_HOST_VALIDATIONPrevents DNS Rebinding attacks by validating the Host header. This is disabled by default.
ALLOWED_HOSTSComma-separated list of allowed Host headers (if host validation is enabled). The default value is localhost,127.0.0.1,::1.

Use as a Gemini CLI extension

To install this as a Gemini CLI extension, run the following command:

  1. Install the extension:

    gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp
    
  2. Log in to your Google Cloud account using the command:

    gcloud auth login
    
  3. Set up application credentials using the command:

    gcloud auth application-default login
    

Use in MCP Clients

Learn how to configure your MCP client

Most MCP clients require a configuration file to be created or modified to add the MCP server.

The configuration file syntax can be different across clients. Please refer to the following links for the latest expected syntax:

Once you have identified how to configure your MCP client, select one of these two options to set up the MCP server. We recommend setting up as a local MCP server using Node.js.

Set up as local MCP server

Run the Cloud Run MCP server on your local machine using local Google Cloud credentials. This is best if you are using an AI-assisted IDE (e.g. Cursor) or a desktop AI application (e.g. Claude).

  1. Install the Google Cloud SDK and authenticate with your Google account.

  2. Log in to your Google Cloud account using the command:

    gcloud auth login
    
  3. Set up application credentials using the command:

    gcloud auth application-default login
    

Then configure the MCP server using either Node.js or Docker:

Using Node.js

  1. Install Node.js (LTS version recommended).

  2. Update the MCP configuration file of your MCP client with the following:

       "cloud-run": {
         "command": "npx",
         "args": ["-y", "@google-cloud/cloud-run-mcp"]
       }
    
  3. [Optional] Add default configurations

       "cloud-run": {
          "command": "npx",
          "args": ["-y", "@google-cloud/cloud-run-mcp"],
          "env": {
                "GOOGLE_CLOUD_PROJECT": "PROJECT_NAME",
                "GOOGLE_CLOUD_REGION": "PROJECT_REGION",
                "DEFAULT_SERVICE_NAME": "SERVICE_NAME"
          }
       }
    

Using Docker

See Docker's MCP catalog, or use these manual instructions:

  1. Install Docker

  2. Update the MCP configuration file of your MCP client with the following:

       "cloud-run": {
         "command": "docker",
         "args": [
           "run",
           "-i",
           "--rm",
           "-e",
           "GOOGLE_APPLICATION_CREDENTIALS",
           "-v",
           "/local-directory:/local-directory",
           "mcp/cloud-run-mcp:latest"
         ],
         "env": {
           "GOOGLE_APPLICATION_CREDENTIALS": "/Users/slim/.config/gcloud/application_default-credentials.json",
           "DEFAULT_SERVICE_NAME": "SERVICE_NAME"
         }
       }
    

Set up as remote MCP server

[!WARNING]
Do not use the remote MCP server without authentication. In the following instructions, we will use IAM authentication to secure the connection to the MCP server from your local machine. This is important to prevent unauthorized access to your Google Cloud resources.

Run the Cloud Run MCP server itself on Cloud Run with connection from your local machine authenticated via IAM. With this option, you will only be able to deploy code to the same Google Cloud project as where the MCP server is running.

  1. Install the Google Cloud SDK and authenticate with your Google account.

  2. Log in to your Google Cloud account using the command:

    gcloud auth login
    
  3. Set your Google Cloud project ID using the command:

    gcloud config set project YOUR_PROJECT_ID
    
  4. Deploy the Cloud Run MCP server to Cloud Run:

    gcloud run deploy cloud-run-mcp --image us-docker.pkg.dev/cloudrun/container/mcp --no-allow-unauthenticated
    

    When prompted, pick a region, for example europe-west1.

    Note that the MCP server is not publicly accessible, it requires authentication via IAM.

  5. [Optional] Add default configurations

    gcloud run services update cloud-run-mcp --region=REGION --update-env-vars GOOGLE_CLOUD_PROJECT=PROJECT_NAME,GOOGLE_CLOUD_REGION=PROJECT_REGION,DEFAULT_SERVICE_NAME=SERVICE_NAME,SKIP_IAM_CHECK=false
    
  6. Run a Cloud Run proxy on your local machine to connect securely using your identity to the remote MCP server running on Cloud Run:

    gcloud run services proxy cloud-run-mcp --port=3000 --region=REGION --project=PROJECT_ID
    

    This will create a local proxy on port 3000 that forwards requests to the remote MCP server and injects your identity.

  7. Update the MCP configuration file of your MCP client with the following:

       "cloud-run": {
         "url": "http://localhost:3000/sse"
       }
    
    

    If your MCP client does not support the url attribute, you can use mcp-remote:

       "cloud-run": {
         "command": "npx",
         "args": ["-y", "mcp-remote", "http://localhost:3000/sse"]
       }
    

Using MCP Server with OAuth