Google Cloud Run

oficial

Servidor MCP oficial para implementar en Google Cloud Run.

Documentación

Servidor MCP de Cloud Run y extensión de Gemini CLI

Permite que agentes de IA compatibles con MCP desplieguen aplicaciones en Cloud Run.

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

Despliega desde Gemini CLI y otros agentes CLI potenciados por IA:

Despliega desde IDEs potenciados por IA:

Despliega desde aplicaciones de asistente de IA:

Despliega desde SDKs de agente, como el SDK de Google Gen AI o el Kit de Desarrollo de Agentes.

[!NOTE]
Este es el repositorio de un servidor MCP para desplegar código en Cloud Run. Para aprender cómo alojar servidores MCP en Cloud Run, visita la documentación de Cloud Run.

Herramientas

  • deploy-file-contents: Despliega archivos en Cloud Run proporcionando su contenido directamente.

  • list-services: Lista los servicios de Cloud Run en un proyecto y región determinados.

  • get-service: Obtiene detalles de un servicio específico de Cloud Run.

  • get-service-log: Obtiene registros y mensajes de error de un servicio específico de Cloud Run.

  • deploy-local-folder*: Despliega una carpeta local en un servicio de Google Cloud Run.

  • list-projects*: Lista los proyectos de GCP disponibles.

  • create-project*: Crea un nuevo proyecto de GCP y lo asocia a la primera cuenta de facturación disponible. Se puede especificar opcionalmente un ID de proyecto.

* solo disponible cuando se ejecuta localmente

Prompts

Los prompts son comandos en lenguaje natural que se pueden usar para realizar tareas comunes. Son atajos para ejecutar llamadas a herramientas con argumentos predefinidos.

  • deploy: Despliega el directorio de trabajo actual en Cloud Run. Si no se proporciona un nombre de servicio, se usará la variable de entorno DEFAULT_SERVICE_NAME o el nombre del directorio de trabajo actual.
  • logs: Obtiene los registros de un servicio de Cloud Run. Si no se proporciona un nombre de servicio, se usará la variable de entorno DEFAULT_SERVICE_NAME o el nombre del directorio de trabajo actual.

Variables de entorno

El servidor MCP de Cloud Run se puede configurar usando las siguientes variables de entorno:

VariableDescripción
GOOGLE_CLOUD_PROJECTEl ID de proyecto predeterminado para usar con los servicios de Cloud Run.
GOOGLE_CLOUD_REGIONLa región predeterminada para usar con los servicios de Cloud Run.
DEFAULT_SERVICE_NAMEEl nombre de servicio predeterminado para usar con los servicios de Cloud Run.
SKIP_IAM_CHECKControla si se verifican los permisos de IAM para un servicio de Cloud Run. Establecer en false para habilitar las verificaciones. Por defecto es true, que es la forma recomendada para hacer público el servicio.
ENABLE_HOST_VALIDATIONPreviene ataques de DNS Rebinding validando la cabecera Host. Está deshabilitado por defecto.
ALLOWED_HOSTSLista separada por comas de cabeceras Host permitidas (si la validación de host está habilitada). El valor predeterminado es localhost,127.0.0.1,::1.

Uso como extensión de Gemini CLI

Para instalar esto como una extensión de Gemini CLI, ejecuta el siguiente comando:

  1. Instala la extensión:

    gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp
    
  2. Inicia sesión en tu cuenta de Google Cloud usando el comando:

    gcloud auth login
    
  3. Configura las credenciales de aplicación usando el comando:

    gcloud auth application-default login
    

Uso en clientes MCP

Aprende a configurar tu cliente MCP

La mayoría de los clientes MCP requieren que se cree o modifique un archivo de configuración para añadir el servidor MCP.

La sintaxis del archivo de configuración puede variar entre clientes. Consulta los siguientes enlaces para conocer la sintaxis esperada más reciente:

Una vez que hayas identificado cómo configurar tu cliente MCP, selecciona una de estas dos opciones para configurar el servidor MCP. Recomendamos configurarlo como un servidor MCP local usando Node.js.

Configurar como servidor MCP local

Ejecuta el servidor MCP de Cloud Run en tu máquina local usando credenciales locales de Google Cloud. Esta es la mejor opción si usas un IDE asistido por IA (por ejemplo, Cursor) o una aplicación de escritorio de IA (por ejemplo, Claude).

  1. Instala el SDK de Google Cloud y autentícate con tu cuenta de Google.

  2. Inicia sesión en tu cuenta de Google Cloud usando el comando:

    gcloud auth login
    
  3. Configura las credenciales de aplicación usando el comando:

    gcloud auth application-default login
    

Luego configura el servidor MCP usando Node.js o Docker:

Usando Node.js

  1. Instala Node.js (se recomienda la versión LTS).

  2. Actualiza el archivo de configuración MCP de tu cliente MCP con lo siguiente:

       "cloud-run": {
         "command": "npx",
         "args": ["-y", "@google-cloud/cloud-run-mcp"]
       }
    
  3. [Opcional] Añade configuraciones predeterminadas

       "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"
          }
       }
    

Usando Docker

Consulta el catálogo MCP de Docker, o usa estas instrucciones manuales:

  1. Instala Docker

  2. Actualiza el archivo de configuración MCP de tu cliente MCP con lo siguiente:

       "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"
         }
       }
    

Configurar como servidor MCP remoto

[!WARNING]
No uses el servidor MCP remoto sin autenticación. En las siguientes instrucciones, usaremos autenticación IAM para asegurar la conexión al servidor MCP desde tu máquina local. Esto es importante para prevenir el acceso no autorizado a tus recursos de Google Cloud.

Ejecuta el propio servidor MCP de Cloud Run en Cloud Run con la conexión desde tu máquina local autenticada mediante IAM. Con esta opción, solo podrás desplegar código en el mismo proyecto de Google Cloud donde se ejecuta el servidor MCP.

  1. Instala el SDK de Google Cloud y autentícate con tu cuenta de Google.

  2. Inicia sesión en tu cuenta de Google Cloud usando el comando:

    gcloud auth login
    
  3. Establece tu ID de proyecto de Google Cloud usando el comando:

    gcloud config set project YOUR_PROJECT_ID
    
  4. Despliega el servidor MCP de Cloud Run en Cloud Run:

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

    Cuando se te solicite, elige una región, por ejemplo europe-west1.

    Ten en cuenta que el servidor MCP no es accesible públicamente, requiere autenticación mediante IAM.

  5. [Opcional] Añade configuraciones predeterminadas

    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. Ejecuta un proxy de Cloud Run en tu máquina local para conectarte de forma segura usando tu identidad al servidor MCP remoto que se ejecuta en Cloud Run:

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

    Esto creará un proxy local en el puerto 3000 que reenvía las solicitudes al servidor MCP remoto e inyecta tu identidad.

  7. Actualiza el archivo de configuración MCP de tu cliente MCP con lo siguiente:

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

    Si tu cliente MCP no soporta el atributo url, puedes usar mcp-remote:

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

Uso del servidor MCP con OAuth

El servidor MCP de Cloud Run soporta OAuth como mecanismo de autenticación. Para usar OAuth, crea el cliente OAuth y configura un archivo .env con los valores apropiados correspondientes a tu cliente OAuth. Se proporciona un .env.example como referencia.

El servidor MCP de Cloud Run funciona perfectamente con el cliente OAuth del SDK de Google Cloud. Para aprovechar el cliente OAuth del SDK de Google Cloud, puedes usar el archivo .env.gcloud-sdk-oauth como tu archivo .env de la siguiente manera:

cp .env.gcloud-sdk-oauth .env
node mcp-server.js

Configurar el servidor MCP en Gemini CLI para usar OAuth

Cuando el servidor MCP de Cloud Run se inicia en modo OAuth, el cliente MCP también debe configurarse para usar OAuth. Puedes configurar el servidor MCP en modo OAuth en Gemini CLI usando el siguiente JSON en el archivo ~/.gemini/settings.json:

{
  "mcpServers": {
    "cloud-run": {
      "httpUrl": "http://localhost:3000/mcp",
      "oauth": {
        "enabled": true,
        "clientId": "<OAUTH_CLIENT_ID>",
        "clientSecret": "<OAUTH_CLIENT_SECRET>"
      }
    }
  }
}

Después de los cambios de configuración como se muestra arriba, inicia Gemini CLI. Debes autenticar el servidor MCP de Cloud Run usando el siguiente prompt en Gemini CLI:

/mcp auth cloud-run

Esto te llevará a la página de autenticación en tu navegador, donde deberás iniciar sesión con el ID de Gmail apropiado y aceptar los términos y condiciones. Una vez que la autenticación sea exitosa, puedes volver a Gemini CLI y el servidor MCP de Cloud Run estará listo para usar.

Los Términos de Servicio de Google Cloud Platform (disponibles en https://cloud.google.com/terms/) y los Términos de Procesamiento y Seguridad de Datos (disponibles en https://cloud.google.com/terms/data-processing-terms) no se aplican a ningún componente del software del Servidor MCP de Cloud Run.

Habilidades de Cloud Run

Presentamos las habilidades de Cloud Run para permitir que los agentes de IA realicen acciones en Cloud Run. Puedes usar estas habilidades con Gemini CLI y otras herramientas de IA agéntica. Las habilidades están disponibles en Habilidades de Cloud Run.

Las habilidades de Cloud Run se basan en gcloud CLI para Cloud Run, lo que permite a los agentes realizar todas las acciones en Cloud Run usando gcloud, tal como las puede realizar el usuario de GCP usando gcloud CLI.

Para usar las habilidades de Cloud Run:

  1. Asegúrate de tener la CLI gcloud instalada y autenticada con gcloud auth login y gcloud auth application-default login.
  2. Establece tu proyecto con gcloud config set project [PROJECT_ID].
  3. Habilita las habilidades en tu herramienta de IA agéntica. Por ejemplo, puedes habilitar las habilidades para Gemini CLI usando el siguiente comando en tu terminal:
gemini skills install https://github.com/GoogleCloudPlatform/cloud-run-mcp.git --path skills/cloud-run
  1. Una vez que las habilidades estén habilitadas, puedes usarlas para realizar acciones en Cloud Run. Aquí tienes algunos prompts para empezar:
  • Lista los servicios de Cloud Run en el proyecto test-gcp-project en la región us-west1.

  • Despliega la carpeta /home/username/workspace/hello-world como el servicio de Cloud Run hello-world en el proyecto test-gcp-project en la región us-west1.

  • Describe el trabajo de Cloud Run hello-job en el proyecto test-gcp-project en la región europe-west1.