MCP Reference: cloudcli.googleapis.com

El servidor de MCP de la CLI de Cloud proporciona herramientas para ejecutar comandos de la CLI de Cloud en un entorno de pruebas remoto.

Un servidor de Protocolo de contexto del modelo (MCP) actúa como proxy entre un servicio externo que proporciona contexto, datos o capacidades a un modelo de lenguaje grande (LLM) o una aplicación de IA. Los servidores de MCP conectan aplicaciones de IA a sistemas externos, como bases de datos y servicios web, y traducen sus respuestas a un formato que la aplicación de IA puede comprender.

Configuración del servidor

Debes habilitar los servidores de MCP y configurar la autenticación antes de usarlos. Para obtener más información sobre el uso de servidores de MCP remotos de Google y Google Cloud, consulta Descripción general de los servidores de MCP de Google Cloud.

Extremos del servidor

Un extremo de servicio de MCP es la dirección de red y la interfaz de comunicación (por lo general, una URL) del servidor de MCP que usa una aplicación de IA (el host para el cliente de MCP) para establecer una conexión segura y estandarizada. Es el punto de contacto para que el LLM solicite contexto, llame a una herramienta o acceda a un recurso. Los extremos de MCP de Google pueden ser globales o regionales.

El servidor de MCP de la API de ejecución de la CLI de Cloud tiene el siguiente extremo de MCP global:

  • https://cloudcli.googleapis.com/mcp

Herramientas de MCP

Una herramienta de MCP es una función o capacidad ejecutable que un servidor de MCP expone a un LLM o una aplicación de IA para realizar una acción en el mundo real.

Herramientas

El servidor de MCP de cloudcli.googleapis.com tiene la siguiente herramienta:

Herramientas de MCP
run_gcloud_command

Ejecuta un solo comando de gcloud CLI dentro del proyecto de Google Cloud del usuario. ADVERTENCIA DE SEGURIDAD CRÍTICA (POTENCIALMENTE DESTRUCTIVA): Esta herramienta puede crear, actualizar o borrar recursos de GCP (p.ej., gcloud compute instances delete). NO se limita a los comandos de solo lectura. Usa esta función con mucho cuidado. COMANDOS PROHIBIDOS: Un agente NO DEBE ejecutar los siguientes comandos de gcloud (incluidas sus variantes alfa/beta): app deploy, app instances ssh, auth, billing, components, config, docker, feedback, info, init, meta y survey. REGLAS DE EJECUCIÓN ESTRICTAS:

  1. DEBES proporcionar el parámetro "project" (es decir, project="projects/PROJECT_ID") cuando uses esta herramienta (se usa para la verificación de habilitación de la API de ejecución de la CLI de Cloud, la facturación, la cuota, etcétera). NO es lo mismo que la marca --project en los comandos de gcloud que se usan para especificar el proyecto en el que opera gcloud.
  2. Formato de marcas: DEBES usar siempre un signo "=" para separar las claves de las marcas de sus valores para todas las opciones largas. Correcto: --zone=us-central1-a o --project=my-project. Incorrecto: --zone us-central1-a o --project my-project.
  3. Proyecto de facturación: No puedes suponer ninguna configuración de proyecto o facturación preconfigurada en el entorno de ejecución. Para los comandos que no están dentro del alcance del proyecto (p.ej., a nivel de carpeta o de organización) o situaciones específicas como Cloud Storage Requester Pays, DEBES pasar la marca --billing-project=PROJECT. Para los comandos dentro del alcance del proyecto, TAMBIÉN puedes especificar --billing-project=PROJECT para anular el proyecto de cuota, que entrará en vigencia para las APIs de GCP que no admitan la anulación de resource-project.
  4. Alcance del proyecto: SIEMPRE DEBES pasar la marca --project=PROJECT_ID para los comandos dentro del alcance del proyecto. No la uses para comandos a nivel de organización o carpeta. Si no proporcionas una marca --project para un comando dentro del alcance del proyecto, el proyecto de recursos se establecerá de forma predeterminada en el proyecto establecido en la marca --billing-project.
  5. Si especificas la marca --billing-project en el comando de gcloud, asegúrate de que el valor sea un ID del proyecto o un número de proyecto. El valor NO DEBE ser un valor especial (es decir, LEGACY, CURRENT_PROJECT, CURRENT_PROJECT_WITH_FALLBACK).
  6. Se DEBE especificar al menos uno de --project o --billing-project en la cadena de comandos.
  7. Operaciones asíncronas: Para las operaciones síncronas de larga duración (p.ej., crear una VM o una base de datos), SIEMPRE DEBES pasar la marca --async para evitar los tiempos de espera del agente.
  8. Limitación de frecuencia de registros: Cuando uses gcloud logging read, SIEMPRE DEBES incluir una marca --limit (p.ej., --limit=100) para evitar los tiempos de espera de las credenciales y la conexión.
  9. Autocorrección: Si un comando muestra un error, analiza stderr, corrige la sintaxis o las marcas y vuelve a intentarlo en la siguiente iteración.
  10. input_files: Es una lista de archivos que se crearán en el entorno antes de ejecutar el comando (opcional). Cada archivo debe tener una "ruta de acceso" (relativa al directorio actual) y "contenido". El "contenido" debe ser texto sin formato que represente el contenido del archivo. Esto es útil para los comandos que leen archivos (p.ej., gcloud builds submit --config=cloudbuild.yaml --async --project=PROJECT_ID).

Ejemplos de comandos o patrones de gcloud:

  1. Leer registros de instancias de GCE con gravedad>=ERROR: gcloud logging read "severity>=ERROR AND resource.type='gce_instance'" --limit=10 --order=DESC --project=PROJECT_ID
    • Observa el uso de comillas para la expresión de filtro.
  2. Enumera todos los extremos de PSC: gcloud compute forwarding-rules list --project=PROJECT_ID
  3. Describe un extremo de PSC: gcloud compute forwarding-rules describe FORWARDING_RULE_NAME --region=REGION --project=PROJECT_ID
    • Observa el uso de "=" para la marca --region.
  4. Enumera todos los clústeres: gcloud container clusters list --project=PROJECT_ID
  5. Describe un clúster: gcloud container clusters describe CLUSTER_NAME --region=REGION --project=PROJECT_ID
  6. Enumera las instancias de procesamiento: gcloud compute instances list --project=PROJECT_ID
  7. Obtén la política de IAM para un proyecto: gcloud projects get-iam-policy PROJECT_ID --project=PROJECT_ID

Las cadenas de respuesta se formatean para la salida de la terminal de forma predeterminada (stdout o stderr). Usa la marca --format para cambiar el formato.

Obtén las especificaciones de la herramienta de MCP

Para obtener las especificaciones de la herramienta de MCP para todas las herramientas en un servidor de MCP, usa el método tools/list. En el siguiente ejemplo, se muestra cómo usar curl para enumerar todas las herramientas y sus especificaciones disponibles actualmente en el servidor de MCP.

Solicitud curl
                      
curl --location 'https://cloudcli.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'