GCP MCP Server

Accede y gestiona los servicios y recursos de Google Cloud Platform (GCP).

Documentación

Esto no es un servidor MCP listo

Servidor MCP de GCP

Una implementación integral de servidor de Protocolo de Contexto de Modelo (MCP) para los servicios de Google Cloud Platform (GCP), que permite a los asistentes de IA interactuar y gestionar recursos de GCP a través de una interfaz estandarizada.

Descripción general

El servidor MCP de GCP proporciona a los asistentes de IA capacidades para:

  • Consultar recursos de GCP: Obtener información sobre tu infraestructura en la nube
  • Gestionar recursos en la nube: Crear, configurar y gestionar servicios de GCP
  • Recibir asistencia: Obtener ayuda guiada por IA con configuraciones de GCP y mejores prácticas

La implementación sigue la especificación MCP para permitir que los sistemas de IA interactúen con los servicios de GCP de manera segura y controlada.

Servicios de GCP compatibles

Esta implementación incluye soporte para los siguientes servicios de GCP:

  • Artifact Registry: Gestión de contenedores y paquetes
  • BigQuery: Almacenamiento de datos y análisis
  • Cloud Audit Logs: Registro de auditoría y análisis de rastros
  • Cloud Build: Gestión de canalizaciones de CI/CD
  • Cloud Compute Engine: Instancias de máquinas virtuales
  • Cloud Monitoring: Métricas, alertas y paneles de control
  • Cloud Run: Implementaciones de contenedores sin servidor
  • Cloud Storage: Gestión de almacenamiento de objetos

Arquitectura

El proyecto está estructurado de la siguiente manera:

gcp-mcp-server/
├── core/            # Core MCP server functionality auth context logging_handler security 
├── prompts/         # AI assistant prompts for GCP operations
├── services/        # GCP service implementations
│   ├── README.md    # Service implementation details
│   └── ...          # Individual service modules
├── main.py          # Main server entry point
└── ...

Componentes clave:

  • Módulos de servicio: Cada servicio de GCP tiene su propio módulo con recursos, herramientas y avisos
  • Instancias de cliente: Gestión centralizada de clientes para autenticación y acceso a recursos
  • Componentes principales: Funcionalidad base para la implementación del servidor MCP

Primeros pasos

Requisitos previos

  • Python 3.10+
  • Proyecto de GCP con APIs habilitadas para los servicios que deseas usar
  • Credenciales de GCP autenticadas (se recomiendan Credenciales de Aplicación Predeterminadas)

Instalación

  1. Clona el repositorio:

    git clone https://github.com/yourusername/gcp-mcp-server.git
    cd gcp-mcp-server
    
  2. Configura un entorno virtual:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Instala las dependencias:

    pip install -r requirements.txt
    
  4. Configura tus credenciales de GCP:

    # Using gcloud
    gcloud auth application-default login
    
    # Or set GOOGLE_APPLICATION_CREDENTIALS
    export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account-key.json"
    
  5. Configura las variables de entorno:

    cp .env.example .env
    # Edit .env with your configuration
    

Ejecutar el servidor

Inicia el servidor MCP:

python main.py

Para desarrollo y pruebas:

# Development mode with auto-reload
python main.py --dev

# Run with specific configuration
python main.py --config config.yaml

Implementación con Docker

Compila y ejecuta con Docker:

# Build the image
docker build -t gcp-mcp-server .

# Run the container
docker run -p 8080:8080 -v ~/.config/gcloud:/root/.config/gcloud gcp-mcp-server

Configuración

El servidor se puede configurar mediante variables de entorno o un archivo de configuración:

Variable de entornoDescripciónPredeterminado
GCP_PROJECT_IDID de proyecto de GCP predeterminadoNinguno (requerido)
GCP_DEFAULT_LOCATIONRegión/zona predeterminadaus-central1
MCP_SERVER_PORTPuerto del servidor8080
LOG_LEVELNivel de registroINFO

Consulta .env.example para obtener una lista completa de opciones de configuración.

Desarrollo

Agregar un nuevo servicio de GCP

  1. Crea un nuevo archivo en el directorio services/
  2. Implementa el servicio siguiendo el patrón de los servicios existentes
  3. Registra el servicio en main.py

Consulta el README de servicios para obtener orientación detallada de implementación.

Consideraciones de seguridad

  • El servidor utiliza Credenciales de Aplicación Predeterminadas para la autenticación
  • La autorización está determinada por los permisos de la identidad autenticada
  • No se codifican credenciales en las implementaciones de servicios
  • Considera ejecutar con una cuenta de servicio con permisos apropiados

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar una Solicitud de Extracción.

  1. Haz un fork del repositorio
  2. Crea tu rama de características (git checkout -b feature/amazing-feature)
  3. Realiza tus cambios (git commit -m 'Add some amazing feature')
  4. Envía a la rama (git push origin feature/amazing-feature)
  5. Abre una Solicitud de Extracción

Licencia

Este proyecto está licenciado bajo la Licencia MIT: consulta el archivo LICENCIA para obtener más detalles.

Agradecimientos

  • Al equipo de Google Cloud Platform por sus completas APIs
  • Al Protocolo de Contexto de Modelo por proporcionar una forma estandarizada para que la IA interactúe con servicios

Usar el servidor

Para usar este servidor:

  1. Coloca tu archivo de clave de cuenta de servicio de GCP como service-account.json en el mismo directorio
  2. Instala el paquete MCP: pip install "mcp[cli]"
  3. Instala el paquete de GCP requerido: pip install google-cloud-run
  4. Ejecuta: mcp dev gcp_cloudrun_server.py

O instálalo en Claude Desktop:

mcp install gcp_cloudrun_server.py --name "GCP Cloud Run Manager"

Configuración del servidor MCP

La siguiente configuración se puede agregar a tu archivo de configuración para las Herramientas de GCP Cloud:

"mcpServers": {
  "GCP Cloud Tools": {
    "command": "uv",
    "args": [
      "run",
      "--with",
      "google-cloud-artifact-registry>=1.10.0",
      "--with",
      "google-cloud-bigquery>=3.27.0",
      "--with",
      "google-cloud-build>=3.0.0",
      "--with",
      "google-cloud-compute>=1.0.0",
      "--with",
      "google-cloud-logging>=3.5.0",
      "--with",
      "google-cloud-monitoring>=2.0.0",
      "--with",
      "google-cloud-run>=0.9.0",
      "--with",
      "google-cloud-storage>=2.10.0",
      "--with",
      "mcp[cli]",
      "--with",
      "python-dotenv>=1.0.0",
      "mcp",
      "run",
      "C:\\Users\\enes_\\Desktop\\mcp-repo-final\\gcp-mcp\\src\\gcp-mcp-server\\main.py"
    ],
    "env": {
      "GOOGLE_APPLICATION_CREDENTIALS": "C:/Users/enes_/Desktop/mcp-repo-final/gcp-mcp/service-account.json",
      "GCP_PROJECT_ID": "gcp-mcp-cloud-project",
      "GCP_LOCATION": "us-east1"
    }
  }
}

Detalles de configuración

Esta configuración configura un servidor MCP para las herramientas de Google Cloud Platform con lo siguiente:

  • Comando: Utiliza el administrador de paquetes uv para ejecutar el servidor
  • Dependencias: Incluye varias bibliotecas de Google Cloud (Artifact Registry, BigQuery, Cloud Build, etc.)
  • Variables de entorno:
    • GOOGLE_APPLICATION_CREDENTIALS: Ruta a tus credenciales de cuenta de servicio de GCP
    • GCP_PROJECT_ID: Tu ID de proyecto de Google Cloud
    • GCP_LOCATION: Región de GCP (us-east1)

Uso

Agrega esta configuración a tu archivo de configuración de MCP para habilitar la funcionalidad de las Herramientas de GCP Cloud.