Deploy applications to Cloud Run
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Deploy a Cloud Run service directly from a self-contained source code archive (.tar.gz), skipping the container image build step for faster deployment. The archive must include all dependencies: - For compiled languages (Go, Java), include pre-compiled binaries. - For scripting languages (Python, Node.js), include pre-installed libraries (e.g., vendor/, node_modules/). Deployment steps: 1. Package source code and dependencies into a .tar.gz archive (max 250MiB). It's recommended to create archive from the root of the application's source directory. 2. Upload the archive to a Google Cloud Storage bucket, preferably in the same region as the service. 3. Deploy to Cloud Run using this tool, specifying: - source_code: Google Cloud Storage object path to the archive (e.g., gs://bucket/object). - command: Command to start the application. - base_image_uri: Base image for the container (e.g., go124, nodejs24, python314). See https://docs.cloud.google.com/run/docs/configuring/services/runtime-base-images for options. The runtime picked should match the local environment. - args: (Optional) Arguments for the command. - env: (Optional) Environment variables (e.g., name: `PYTHONPATH`, value: `./vendor`). - ports: (Optional) Container ports to expose (defaults to 8080).
Required. The service to deploy.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Deploy a Cloud Run service directly from a self-contained source code archive (.tar.gz), skipping the container image build step for faster deployment. The archive must include all dependencies: - For compiled languages (Go, Java), include pre-compiled binaries. - For scripting languages (Python, Node.js), include pre-installed libraries (e.g., vendor/, node_modules/). Deployment steps: 1. Package source code and dependencies into a .tar.gz archive (max 250MiB). It's recommended to create archive from the root of the application's source directory. 2. Upload the archive to a Google Cloud Storage bucket, preferably in the same region as the service. 3. Deploy to Cloud Run using this tool, specifying: - source_code: Google Cloud Storage object path to the archive (e.g., gs://bucket/object). - command: Command to start the application. - base_image_uri: Base image for the container (e.g., go124, nodejs24, python314). See https://docs.cloud.google.com/run/docs/configuring/services/runtime-base-images for options. The runtime picked should match the local environment. - args: (Optional) Arguments for the command. - env: (Optional) Environment variables (e.g., name: `PYTHONPATH`, value: `./vendor`). - ports: (Optional) Container ports to expose (defaults to 8080).
| Argument | Type | Description |
|---|---|---|
| service* | any | Required. The service to deploy. |
{
"type": "object",
"$defs": {
"EnvVar": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Required. Name of the environment variable. Must not exceed 32768 characters."
},
"value": {
"type": "string",
"description": "Literal value of the environment variable. Defaults to \"\", and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run. Only one of this field or valueSource should be set."
},
"valueSource": {
"$ref": "#/$defs/EnvVarSource",
"description": "Source for the environment variable's value. Only one of this field or value should be set."
}
},
"description": "EnvVar represents an environment variable present in a Container."
},
"SourceCode": {
"type": "object",
"properties": {
"inlinedSource": {
"$ref": "#/$defs/InlinedSource",
"writeOnly": true,
"description": "Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source. This field is only supported in Cloud Run Service. Only one of this field or cloudStorageSource should be set."
},
"cloudStorageSource": {
"$ref": "#/$defs/CloudStorageSource",
"description": "The source is a Cloud Storage bucket. Only one of this field or inlinedSource should be set."
}
},
"description": "Source type for the container."
},
"SourceFile": {
"type": "object",
"required": [
"filename",
"content"
],
"properties": {
"content": {
"type": "string",
"writeOnly": true,
"description": "Required. Input only. Represents the exact, literal, and complete source code of the file. Placeholders like `...` or comments such as `# [rest of code]` should NEVER be used as omission. Every character in this field will be built into the final container. Any omission will result in a broken application."
},
"filename": {
"type": "string",
"writeOnly": true,
"description": "Required. Input only. The file name for the source code. e.g., `\"index.js\"` or `\"node_modules/dependency.js\"`. The filename must be less than 255 characters and cannot contain `..`, `./`, `//`, or end with a `/`. Cloud Run will place the files in the container subdirectories, please use relative path to access the file."
}
},
"description": "Source file."
},
"EnvVarSource": {
"type": "object",
"properties": {
"secretKeyRef": {
"$ref": "#/$defs/SecretKeySelector",
"description": "Selects a secret and a specific version from Cloud Secret Manager."
}
},
"description": "EnvVarSource represents a source for the value of an EnvVar."
},
"ContainerPort": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "If specified, used to specify which protocol to use. Allowed values are \"http1\" and \"h2c\"."
},
"containerPort": {
"type": "integer",
"format": "int32",
"description": "Port number the container listens on. This must be a valid TCP port number, 0 < container_port < 65536."
}
},
"description": "ContainerPort represents a network port in a single container."
},
"InlinedSource": {
"type": "object",
"required": [
"sources"
],
"properties": {
"sources": {
"type": "array",
"items": {
"$ref": "#/$defs/SourceFile"
},
"writeOnly": true,
"description": "Required. Input only. The source code."
}
},
"description": "Inlined source."
},
"SourceService": {
"type": "object",
"required": [
"name",
"project",
"region",
"template"
],
"properties": {
"name": {
"type": "string",
"description": "Required. Identifier. The short name of the Service.",
"x-google-identifier": true
},
"region": {
"type": "string",
"description": "Required. Identifier. The region to get the Service from.",
"x-google-identifier": true
},
"project": {
"type": "string",
"description": "Required. Identifier. The project ID or project number to get the Service from.",
"x-google-identifier": true
},
"template": {
"$ref": "#/$defs/SourceServiceRevisionTemplate",
"description": "Required. The template used to create revisions for this Service."
},
"invokerIamDisabled": {
"type": "boolean",
"description": "Optional. Disables IAM permission check for run.routes.invoke for callers of this service. Set to true to make this service public and allow unauthenticated access. This field defaults to false when unset, which means the service is private and only allows access from authenticated users."
}
},
"description": "Service represents the configuration of a managed service."
},
"SourceContainer": {
"type": "object",
"required": [
"sourceCode",
"command",
"baseImageUri"
],
"properties": {
"env": {
"type": "array",
"items": {
"$ref": "#/$defs/EnvVar"
},
"description": "Optional. List of environment variables to set in the container."
},
"args": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional. Arguments to the entrypoint."
},
"ports": {
"type": "array",
"items": {
"$ref": "#/$defs/ContainerPort"
},
"description": "Optional. List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If multiple containers are specified, exactly one container must have this field set. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on."
},
"command": {
"type": "array",
"items": {
"type": "string"
},
"description": "Required. Entrypoint array to start the app."
},
"sourceCode": {
"$ref": "#/$defs/SourceCode",
"description": "Required. The location of the source code to be used for the container. This can be either source code inlined as text or source code as a Cloud Storage object."
},
"baseImageUri": {
"type": "string",
"description": "Required. Base image URI to use for the container. The full list of images can be found in https://docs.cloud.google.com/run/docs/configuring/services/runtime-base-images, i.e. nodejs24. The runtime picked should match the local environment."
}
},
"description": "A single application container."
},
"SecretKeySelector": {
"type": "object",
"required": [
"secret"
],
"properties": {
"secret": {
"type": "string",
"description": "Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project."
},
"version": {
"type": "string",
"description": "The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias."
}
},
"description": "SecretEnvVarSource represents a source for the value of an EnvVar."
},
"CloudStorageSource": {
"type": "object",
"required": [
"bucket",
"object"
],
"properties": {
"bucket": {
"type": "string",
"description": "Required. The Cloud Storage bucket name."
},
"object": {
"type": "string",
"description": "Required. The Cloud Storage object name."
},
"generation": {
"type": "string",
"format": "int64",
"description": "Optional. The Cloud Storage object generation."
}
},
"description": "Cloud Storage source."
},
"SourceServiceRevisionTemplate": {
"type": "object",
"required": [
"containers"
],
"properties": {
"containers": {
"type": "array",
"items": {
"$ref": "#/$defs/SourceContainer"
},
"description": "Required. Holds the containers that define this Revision."
}
},
"description": "The revision template for a service deployed from source code."
}
},
"required": [
"service"
],
"properties": {
"service": {
"$ref": "#/$defs/SourceService",
"description": "Required. The service to deploy."
}
},
"description": "Request message for deploying source code as a Cloud Run service."
}Deploys a Cloud Run service directly from local source files. This method is suitable for scripting languages like Python and Node.js, of which the source code can be embedded in the request. This is ideal for quick tests and development feedback loops. You must include all necessary dependencies within the source files because it skips the build step for faster deployment. **Key Requirements:** 1. source_code: Should set to sourceCode.inlinedSource.sources with array of source files, each having `filename` and `content`. 2. Size limit: you are subject to total request size limit of 50MiB.
| Argument | Type | Description |
|---|---|---|
| service* | any | Required. The service to deploy. |
{
"type": "object",
"$defs": {
"EnvVar": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Required. Name of the environment variable. Must not exceed 32768 characters."
},
"value": {
"type": "string",
"description": "Literal value of the environment variable. Defaults to \"\", and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run. Only one of this field or valueSource should be set."
},
"valueSource": {
"$ref": "#/$defs/EnvVarSource",
"description": "Source for the environment variable's value. Only one of this field or value should be set."
}
},
"description": "EnvVar represents an environment variable present in a Container."
},
"SourceCode": {
"type": "object",
"properties": {
"inlinedSource": {
"$ref": "#/$defs/InlinedSource",
"writeOnly": true,
"description": "Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source. This field is only supported in Cloud Run Service. Only one of this field or cloudStorageSource should be set."
},
"cloudStorageSource": {
"$ref": "#/$defs/CloudStorageSource",
"description": "The source is a Cloud Storage bucket. Only one of this field or inlinedSource should be set."
}
},
"description": "Source type for the container."
},
"SourceFile": {
"type": "object",
"required": [
"filename",
"content"
],
"properties": {
"content": {
"type": "string",
"writeOnly": true,
"description": "Required. Input only. Represents the exact, literal, and complete source code of the file. Placeholders like `...` or comments such as `# [rest of code]` should NEVER be used as omission. Every character in this field will be built into the final container. Any omission will result in a broken application."
},
"filename": {
"type": "string",
"writeOnly": true,
"description": "Required. Input only. The file name for the source code. e.g., `\"index.js\"` or `\"node_modules/dependency.js\"`. The filename must be less than 255 characters and cannot contain `..`, `./`, `//`, or end with a `/`. Cloud Run will place the files in the container subdirectories, please use relative path to access the file."
}
},
"description": "Source file."
},
"EnvVarSource": {
"type": "object",
"properties": {
"secretKeyRef": {
"$ref": "#/$defs/SecretKeySelector",
"description": "Selects a secret and a specific version from Cloud Secret Manager."
}
},
"description": "EnvVarSource represents a source for the value of an EnvVar."
},
"ContainerPort": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "If specified, used to specify which protocol to use. Allowed values are \"http1\" and \"h2c\"."
},
"containerPort": {
"type": "integer",
"format": "int32",
"description": "Port number the container listens on. This must be a valid TCP port number, 0 < container_port < 65536."
}
},
"description": "ContainerPort represents a network port in a single container."
},
"InlinedSource": {
"type": "object",
"required": [
"sources"
],
"properties": {
"sources": {
"type": "array",
"items": {
"$ref": "#/$defs/SourceFile"
},
"writeOnly": true,
"description": "Required. Input only. The source code."
}
},
"description": "Inlined source."
},
"SourceService": {
"type": "object",
"required": [
"name",
"project",
"region",
"template"
],
"properties": {
"name": {
"type": "string",
"description": "Required. Identifier. The short name of the Service.",
"x-google-identifier": true
},
"region": {
"type": "string",
"description": "Required. Identifier. The region to get the Service from.",
"x-google-identifier": true
},
"project": {
"type": "string",
"description": "Required. Identifier. The project ID or project number to get the Service from.",
"x-google-identifier": true
},
"template": {
"$ref": "#/$defs/SourceServiceRevisionTemplate",
"description": "Required. The template used to create revisions for this Service."
},
"invokerIamDisabled": {
"type": "boolean",
"description": "Optional. Disables IAM permission check for run.routes.invoke for callers of this service. Set to true to make this service public and allow unauthenticated access. This field defaults to false when unset, which means the service is private and only allows access from authenticated users."
}
},
"description": "Service represents the configuration of a managed service."
},
"SourceContainer": {
"type": "object",
"required": [
"sourceCode",
"command",
"baseImageUri"
],
"properties": {
"env": {
"type": "array",
"items": {
"$ref": "#/$defs/EnvVar"
},
"description": "Optional. List of environment variables to set in the container."
},
"args": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional. Arguments to the entrypoint."
},
"ports": {
"type": "array",
"items": {
"$ref": "#/$defs/ContainerPort"
},
"description": "Optional. List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If multiple containers are specified, exactly one container must have this field set. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on."
},
"command": {
"type": "array",
"items": {
"type": "string"
},
"description": "Required. Entrypoint array to start the app."
},
"sourceCode": {
"$ref": "#/$defs/SourceCode",
"description": "Required. The location of the source code to be used for the container. This can be either source code inlined as text or source code as a Cloud Storage object."
},
"baseImageUri": {
"type": "string",
"description": "Required. Base image URI to use for the container. The full list of images can be found in https://docs.cloud.google.com/run/docs/configuring/services/runtime-base-images, i.e. nodejs24. The runtime picked should match the local environment."
}
},
"description": "A single application container."
},
"SecretKeySelector": {
"type": "object",
"required": [
"secret"
],
"properties": {
"secret": {
"type": "string",
"description": "Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project."
},
"version": {
"type": "string",
"description": "The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias."
}
},
"description": "SecretEnvVarSource represents a source for the value of an EnvVar."
},
"CloudStorageSource": {
"type": "object",
"required": [
"bucket",
"object"
],
"properties": {
"bucket": {
"type": "string",
"description": "Required. The Cloud Storage bucket name."
},
"object": {
"type": "string",
"description": "Required. The Cloud Storage object name."
},
"generation": {
"type": "string",
"format": "int64",
"description": "Optional. The Cloud Storage object generation."
}
},
"description": "Cloud Storage source."
},
"SourceServiceRevisionTemplate": {
"type": "object",
"required": [
"containers"
],
"properties": {
"containers": {
"type": "array",
"items": {
"$ref": "#/$defs/SourceContainer"
},
"description": "Required. Holds the containers that define this Revision."
}
},
"description": "The revision template for a service deployed from source code."
}
},
"required": [
"service"
],
"properties": {
"service": {
"$ref": "#/$defs/SourceService",
"description": "Required. The service to deploy."
}
},
"description": "Request message for deploying source code as a Cloud Run service."
}Deploy a container image from Artifact Registry or Docker Hub as a Cloud Run service.
| Argument | Type | Description |
|---|---|---|
| service* | any | Required. The service to deploy. |
{
"type": "object",
"$defs": {
"EnvVar": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Required. Name of the environment variable. Must not exceed 32768 characters."
},
"value": {
"type": "string",
"description": "Literal value of the environment variable. Defaults to \"\", and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run. Only one of this field or valueSource should be set."
},
"valueSource": {
"$ref": "#/$defs/EnvVarSource",
"description": "Source for the environment variable's value. Only one of this field or value should be set."
}
},
"description": "EnvVar represents an environment variable present in a Container."
},
"Service": {
"type": "object",
"required": [
"name",
"project",
"region",
"template"
],
"properties": {
"name": {
"type": "string",
"description": "Required. Identifier. The short name of the Service.",
"x-google-identifier": true
},
"region": {
"type": "string",
"description": "Required. Identifier. The region to get the Service from.",
"x-google-identifier": true
},
"project": {
"type": "string",
"description": "Required. Identifier. The project ID or project number to get the Service from.",
"x-google-identifier": true
},
"template": {
"$ref": "#/$defs/ImageServiceRevisionTemplate",
"description": "Required. The template used to create revisions for this Service."
},
"invokerIamDisabled": {
"type": "boolean",
"description": "Optional. Disables IAM permission check for run.routes.invoke for callers of this service. Set to true to make this service public and allow unauthenticated access. This field defaults to false when unset, which means the service is private and only allows access from authenticated users."
}
},
"description": "Service represents the configuration of a managed service."
},
"EnvVarSource": {
"type": "object",
"properties": {
"secretKeyRef": {
"$ref": "#/$defs/SecretKeySelector",
"description": "Selects a secret and a specific version from Cloud Secret Manager."
}
},
"description": "EnvVarSource represents a source for the value of an EnvVar."
},
"ContainerPort": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "If specified, used to specify which protocol to use. Allowed values are \"http1\" and \"h2c\"."
},
"containerPort": {
"type": "integer",
"format": "int32",
"description": "Port number the container listens on. This must be a valid TCP port number, 0 < container_port < 65536."
}
},
"description": "ContainerPort represents a network port in a single container."
},
"ImageContainer": {
"type": "object",
"required": [
"image"
],
"properties": {
"env": {
"type": "array",
"items": {
"$ref": "#/$defs/EnvVar"
},
"description": "Optional. List of environment variables to set in the container."
},
"args": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional. Arguments to the entrypoint. The docker image's CMD is used if this is not provided."
},
"image": {
"type": "string",
"description": "Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed."
},
"ports": {
"type": "array",
"items": {
"$ref": "#/$defs/ContainerPort"
},
"description": "Optional. List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If multiple containers are specified, exactly one container must have this field set. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on."
},
"command": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional. Entrypoint array. Not executed within a shell. Defaults to the docker image's ENTRYPOINT if not provided."
}
},
"description": "A single application container."
},
"SecretKeySelector": {
"type": "object",
"required": [
"secret"
],
"properties": {
"secret": {
"type": "string",
"description": "Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project."
},
"version": {
"type": "string",
"description": "The Cloud Secret Manager secret version. Can be 'latest' for the latest version, an integer for a specific version, or a version alias."
}
},
"description": "SecretEnvVarSource represents a source for the value of an EnvVar."
},
"ImageServiceRevisionTemplate": {
"type": "object",
"required": [
"containers"
],
"properties": {
"containers": {
"type": "array",
"items": {
"$ref": "#/$defs/ImageContainer"
},
"description": "Required. Holds the containers that define this Revision."
}
},
"description": "The revision template for a service deployed from an image."
}
},
"required": [
"service"
],
"properties": {
"service": {
"$ref": "#/$defs/Service",
"description": "Required. The service to deploy."
}
},
"description": "Request message for deploying a container image as a Cloud Run service."
}Get info about a Cloud Run service, such as its URI and whether the deploy succeeded.
| Argument | Type | Description |
|---|---|---|
| name* | string | Required. The short name of the Service. |
| region* | string | Required. The region to get the Service from. |
| project* | string | Required. The project ID or project number to get the Service from. |
{
"type": "object",
"required": [
"name",
"project",
"region"
],
"properties": {
"name": {
"type": "string",
"description": "Required. The short name of the Service."
},
"region": {
"type": "string",
"description": "Required. The region to get the Service from."
},
"project": {
"type": "string",
"description": "Required. The project ID or project number to get the Service from."
}
},
"description": "Request message for obtaining a Service by its full name."
}List Cloud Run services in a given Google Cloud project and region.
| Argument | Type | Description |
|---|---|---|
| region* | string | Required. The region to list the Services from. |
| project* | string | Required. The project ID or project number to list the Services from. |
{
"type": "object",
"required": [
"project",
"region"
],
"properties": {
"region": {
"type": "string",
"description": "Required. The region to list the Services from."
},
"project": {
"type": "string",
"description": "Required. The project ID or project number to list the Services from."
}
},
"description": "Request message for retrieving a list of Services."
}