GCP MCP Server

Acesse e gerencie serviços e recursos do Google Cloud Platform (GCP).

Documentação

Este não é um servidor MCP pronto

GCP MCP Server

Uma implementação abrangente de servidor Model Context Protocol (MCP) para serviços do Google Cloud Platform (GCP), permitindo que assistentes de IA interajam e gerenciem recursos do GCP por meio de uma interface padronizada.

Visão Geral

O GCP MCP Server fornece aos assistentes de IA capacidades para:

  • Consultar Recursos do GCP: Obter informações sobre sua infraestrutura em nuvem
  • Gerenciar Recursos em Nuvem: Criar, configurar e gerenciar serviços do GCP
  • Receber Assistência: Obter ajuda guiada por IA com configurações do GCP e melhores práticas

A implementação segue a especificação MCP para permitir que sistemas de IA interajam com os serviços do GCP de maneira segura e controlada.

Serviços GCP Suportados

Esta implementação inclui suporte para os seguintes serviços do GCP:

  • Artifact Registry: Gerenciamento de contêineres e pacotes
  • BigQuery: Data warehouse e análises
  • Cloud Audit Logs: Registros e análise de trilha de auditoria
  • Cloud Build: Gerenciamento de pipelines de CI/CD
  • Cloud Compute Engine: Instâncias de máquinas virtuais
  • Cloud Monitoring: Métricas, alertas e painéis
  • Cloud Run: Implantações de contêineres sem servidor
  • Cloud Storage: Gerenciamento de armazenamento de objetos

Arquitetura

O projeto está estruturado da seguinte forma:

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 principais:

  • Módulos de Serviço: Cada serviço do GCP possui seu próprio módulo com recursos, ferramentas e prompts
  • Instâncias de Cliente: Gerenciamento centralizado de clientes para autenticação e acesso a recursos
  • Componentes Principais: Funcionalidade base para a implementação do servidor MCP

Começando

Pré-requisitos

  • Python 3.10+
  • Projeto GCP com APIs habilitadas para os serviços que você deseja usar
  • Credenciais GCP autenticadas (Application Default Credentials recomendado)

Instalação

  1. Clone o repositório:

    git clone https://github.com/yourusername/gcp-mcp-server.git
    cd gcp-mcp-server
    
  2. Configure um ambiente virtual:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Instale as dependências:

    pip install -r requirements.txt
    
  4. Configure suas credenciais do GCP:

    # Using gcloud
    gcloud auth application-default login
    
    # Or set GOOGLE_APPLICATION_CREDENTIALS
    export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account-key.json"
    
  5. Configure as variáveis de ambiente:

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

Executando o Servidor

Inicie o servidor MCP:

python main.py

Para desenvolvimento e testes:

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

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

Implantação com Docker

Compile e execute com 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

Configuração

O servidor pode ser configurado por meio de variáveis de ambiente ou de um arquivo de configuração:

Variável de AmbienteDescriçãoPadrão
GCP_PROJECT_IDID do projeto GCP padrãoNenhum (obrigatório)
GCP_DEFAULT_LOCATIONRegião/zona padrãous-central1
MCP_SERVER_PORTPorta do servidor8080
LOG_LEVELNível de registroINFO

Consulte .env.example para obter uma lista completa de opções de configuração.

Desenvolvimento

Adicionando um Novo Serviço GCP

  1. Crie um novo arquivo no diretório services/
  2. Implemente o serviço seguindo o padrão dos serviços existentes
  3. Registre o serviço em main.py

Consulte o README dos serviços para obter orientações detalhadas de implementação.

Considerações de Segurança

  • O servidor usa Application Default Credentials para autenticação
  • A autorização é determinada pelas permissões da identidade autenticada
  • Nenhuma credencial é codificada nas implementações de serviço
  • Considere executar com uma conta de serviço com permissões apropriadas

Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

  1. Faça um fork do repositório
  2. Crie sua branch de funcionalidade (git checkout -b feature/amazing-feature)
  3. Faça commit das suas alterações (git commit -m 'Add some amazing feature')
  4. Envie para a branch (git push origin feature/amazing-feature)
  5. Abra um Pull Request

Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

Agradecimentos

  • Equipe do Google Cloud Platform por suas APIs abrangentes
  • Model Context Protocol por fornecer uma maneira padronizada para a IA interagir com serviços

Usando o Servidor

Para usar este servidor:

  1. Coloque seu arquivo de chave da conta de serviço do GCP como service-account.json no mesmo diretório
  2. Instale o pacote MCP: pip install "mcp[cli]"
  3. Instale o pacote GCP necessário: pip install google-cloud-run
  4. Execute: mcp dev gcp_cloudrun_server.py

Ou instale-o no Claude Desktop:

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

Configuração do Servidor MCP

A seguinte configuração pode ser adicionada ao seu arquivo de configuração para o GCP Cloud Tools:

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

Detalhes da Configuração

Esta configuração configura um servidor MCP para ferramentas do Google Cloud Platform com o seguinte:

  • Comando: Usa o gerenciador de pacotes uv para executar o servidor
  • Dependências: Inclui várias bibliotecas do Google Cloud (Artifact Registry, BigQuery, Cloud Build, etc.)
  • Variáveis de Ambiente:
    • GOOGLE_APPLICATION_CREDENTIALS: Caminho para suas credenciais da conta de serviço do GCP
    • GCP_PROJECT_ID: ID do seu projeto do Google Cloud
    • GCP_LOCATION: Região do GCP (us-east1)

Uso

Adicione esta configuração ao seu arquivo de configuração MCP para habilitar a funcionalidade do GCP Cloud Tools.