Google Cloud

Un servidor MCP para interactuar con tus recursos y servicios de Google Cloud.

Documentación

Servidor MCP de Google Cloud

Un servidor de Model Context Protocol que se conecta a los servicios de Google Cloud para proporcionar contexto y herramientas para interactuar con tus recursos de Google Cloud.

Google Cloud Server MCP server

Servicios

Servicios de Google Cloud compatibles:

Billing

Gestiona y analiza la facturación de Google Cloud con información de optimización de costos:

Herramientas: gcp-billing-list-accounts, gcp-billing-get-account-details, gcp-billing-list-projects, gcp-billing-get-project-info, gcp-billing-list-services, gcp-billing-list-skus, gcp-billing-analyse-costs, gcp-billing-detect-anomalies, gcp-billing-cost-recommendations, gcp-billing-service-breakdown

Ejemplos de prompts:

  • "Muéstrame todas mis cuentas de facturación"
  • "Analiza los costos del proyecto my-app-prod-123 de los últimos 30 días"
  • "Genera recomendaciones de costos para la cuenta de facturación billingAccounts/123456-789ABC-DEF012"
  • "Comprueba anomalías de facturación en el proyecto my-ecommerce-456"

Error Reporting

Supervisa y analiza errores de aplicaciones con sugerencias automatizadas de investigación y corrección:

Herramientas: gcp-error-reporting-list-groups, gcp-error-reporting-get-group-details, gcp-error-reporting-analyse-trends

Ejemplos de prompts:

  • "Muéstrame grupos de errores del proyecto my-webapp-prod-789 de la última hora"
  • "Obtén detalles del grupo de errores projects/my-app-123/groups/xyz789"
  • "Analiza tendencias de errores del servicio my-api en el proyecto analytics-prod-456"

IAM

Consulta y analiza políticas y permisos de IAM:

Herramientas: gcp-iam-get-project-policy, gcp-iam-test-project-permissions, gcp-iam-test-resource-permissions, gcp-iam-validate-deployment-permissions, gcp-iam-list-deployment-services, gcp-iam-analyse-permission-gaps

Ejemplos de prompts:

  • "Obtén la política de IAM del proyecto my-webapp-prod-123"
  • "Prueba si tengo permiso storage.buckets.create en el proyecto data-lake-456"
  • "Comprueba los permisos de implementación para Cloud Run en el proyecto microservices-789"
  • "Analiza las brechas de permisos para implementar en el clúster de GKE en el proyecto k8s-prod-321"

Logging

Consulta y filtra entradas de registro de Google Cloud Logging:

Herramientas: gcp-logging-query-logs, gcp-logging-query-time-range, gcp-logging-search-comprehensive

Ejemplos de prompts:

  • "Muéstrame registros del proyecto my-app-prod-123 de la última hora con severidad ERROR"
  • "Busca registros que contengan 'timeout' del servicio my-api en el proyecto backend-456"
  • "Consulta registros para el tipo de recurso gce_instance en el proyecto compute-prod-789"

Spanner

Interactúa con bases de datos de Google Cloud Spanner:

Herramientas: gcp-spanner-execute-query, gcp-spanner-list-tables, gcp-spanner-list-instances, gcp-spanner-list-databases, gcp-spanner-query-natural-language, gcp-spanner-query-count

Ejemplos de prompts:

  • "Lista todas las bases de datos en la instancia de Spanner my-instance en el proyecto ecommerce-prod-123"
  • "Ejecuta SQL: SELECT COUNT(*) FROM users en la base de datos user-db en el proyecto my-app-456"
  • "Muéstrame la estructura de la tabla orders en la base de datos inventory-db en el proyecto retail-789"

Monitoring

Recupera y analiza métricas de Google Cloud Monitoring:

Herramientas: gcp-monitoring-query-metrics, gcp-monitoring-list-metric-types, gcp-monitoring-query-natural-language

Ejemplos de prompts:

  • "Muéstrame métricas de utilización de CPU del proyecto web-app-prod-123 de las últimas 6 horas"
  • "Lista los tipos de métricas disponibles para Compute Engine en el proyecto infrastructure-456"
  • "Consulta el uso de memoria de las instancias en el proyecto backend-services-789"

Profiler

Analiza el rendimiento de aplicaciones con Google Cloud Profiler:

Herramientas: gcp-profiler-list-profiles, gcp-profiler-analyse-performance, gcp-profiler-compare-trends

Ejemplos de prompts:

  • "Lista los perfiles de CPU del proyecto my-java-app-123 de las últimas 24 horas"
  • "Analiza los cuellos de botella de rendimiento en el servicio my-api en el proyecto backend-prod-456"
  • "Compara los perfiles de heap para la implementación v1.2 vs v1.3 en el proyecto performance-test-789"

Trace

Analiza trazas distribuidas de Google Cloud Trace:

Herramientas: gcp-trace-get-trace, gcp-trace-list-traces, gcp-trace-find-from-logs, gcp-trace-query-natural-language

Ejemplos de prompts:

  • "Obtén detalles de la traza para el ID abc123def456 en el proyecto distributed-app-789"
  • "Muéstrame trazas fallidas del proyecto microservices-prod-123 de la última hora"
  • "Encuentra registros relacionados con la traza xyz789 en el proyecto web-backend-456"
  • "Consulta trazas para el servicio checkout-api en el proyecto ecommerce-prod-321"

Inicio rápido

Una vez configurado, puedes interactuar con los servicios de Google Cloud usando lenguaje natural:

"What are my current billing costs for project my-webapp-prod-123?"
"Show me errors from project ecommerce-api-456 in the last hour"
"Check if I have permission to deploy to Cloud Run in project microservices-789"
"Find logs containing 'database timeout' from project backend-prod-321 yesterday"
"List Spanner databases in instance prod-db for project data-store-654"
"What's the CPU usage of Compute Engine instances in project infrastructure-987?"

Autenticación

Este servidor admite dos métodos de autenticación con Google Cloud:

  1. Archivo de clave de cuenta de servicio (Recomendado): Establece la variable de entorno GOOGLE_APPLICATION_CREDENTIALS a la ruta de tu archivo de clave de cuenta de servicio. Este es el método estándar de autenticación de Google Cloud.

  2. Variables de entorno: Establece las variables de entorno GOOGLE_CLIENT_EMAIL y GOOGLE_PRIVATE_KEY directamente. Esto es útil para entornos donde almacenar un archivo de clave no es práctico.

El servidor también usará la variable de entorno GOOGLE_CLOUD_PROJECT si está configurada; de lo contrario, intentará determinar el ID del proyecto a partir de las credenciales de autenticación.

Instalación

# Clone the repository
git clone https://github.com/krzko/google-cloud-mcp.git
cd google-cloud-mcp

# Install dependencies
pnpm install

# Build
pnpm build

Autentícate en Google Cloud:

gcloud auth application-default login

Configura el mcpServers en tu cliente:

{
  "mcpServers": {
      "google-cloud-mcp": {
          "command": "node",
          "args": [
              "/Users/foo/code/google-cloud-mcp/dist/index.js"
          ],
          "env": {
              "GOOGLE_APPLICATION_CREDENTIALS": "/Users/foo/.config/gcloud/application_default_credentials.json"
          }
      }
  }
}

Desarrollo

Iniciar el servidor

# Build the project
pnpm build

# Start the server
pnpm start

Modo de desarrollo

# Build the project
pnpm build

# Start the server and inspector
npx -y @modelcontextprotocol/inspector node dist/index.js

Solución de problemas

Problemas de tiempo de espera del servidor

Si encuentras problemas de tiempo de espera al ejecutar el servidor con Smithery, prueba lo siguiente:

  1. Habilita el registro de depuración configurando debug: true en tu configuración
  2. Asegúrate de que lazyAuth: true esté configurado para diferir la autenticación hasta que realmente se necesite
  3. Asegúrate de que tu archivo de credenciales sea accesible y válido
  4. Revisa los registros para ver si hay mensajes de error

Importante: La autenticación sigue siendo necesaria para el funcionamiento, pero con la carga diferida habilitada, el servidor se iniciará inmediatamente y autenticará cuando sea necesario en lugar de durante la inicialización.

Problemas de autenticación

El servidor admite dos métodos de autenticación:

  1. Archivo de clave de cuenta de servicio: Establece la variable de entorno GOOGLE_APPLICATION_CREDENTIALS a la ruta de tu archivo de clave de cuenta de servicio
  2. Variables de entorno: Establece las variables de entorno GOOGLE_CLIENT_EMAIL y GOOGLE_PRIVATE_KEY

Si tienes problemas de autenticación, asegúrate de:

  • Tu cuenta de servicio tenga los permisos necesarios
  • El archivo de clave esté correctamente formateado y sea accesible
  • Las variables de entorno estén configuradas correctamente