Google Cloud Logging

Um servidor MCP para acessar dados e serviços do Google Cloud Logging.

Documentação

Google Cloud Logging MCP Server

Um servidor Model Context Protocol (MCP) que fornece acesso ao Google Cloud Logging. Este servidor permite que assistentes de IA consultem, pesquisem e analisem logs de projetos do Google Cloud Platform.

Recursos

  • Consultar Logs: Pesquise e filtre logs em projetos GCP
  • Obter Detalhes de Log: Recupere informações detalhadas sobre entradas de log específicas
  • Listar Projetos: Liste projetos GCP disponíveis

Começando

Pré-requisitos

  • Runtime Bun
  • Credenciais do Google Cloud configuradas
  • Acesso à API do Google Cloud Logging

Início Rápido

  1. Instale as dependências:

    bun install
    
  2. Configure as credenciais do Google Cloud:

    # Option 1: Use gcloud CLI
    gcloud auth application-default login
    
    # Option 2: Use service account
    export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account.json"
    
  3. Defina o ID do seu projeto:

    export GOOGLE_CLOUD_PROJECT="your-project-id"
    
  4. Execute o servidor:

    bun run start
    

Uso com Claude Desktop

Adicione o seguinte ao seu arquivo de configuração do Claude Desktop:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "cloud-logging": {
      "command": "bun",
      "args": ["run", "/path/to/cloud-logging-mcp/src/main.ts"],
      "env": {
        "GOOGLE_CLOUD_PROJECT": "your-project-id"
      }
    }
  }
}

Exemplo de Uso das Ferramentas

Consultar Logs

Pesquise e filtre logs do Google Cloud Logging.

{
  "tool": "queryLogs",
  "input": {
    "projectId": "my-project",
    "filter": "resource.type=\"cloud_run_revision\" AND severity>=ERROR",
    "orderBy": {
      "timestamp": "desc"
    },
    "pageSize": 50
  }
}

Parâmetros:

  • projectId: ID do projeto GCP
  • filter: Consulta de filtro de logs (segue a sintaxe de consulta de logging do GCP)
  • orderBy: Ordem de classificação dos resultados
  • pageSize: Número de resultados por página
  • pageToken: Token para paginação
  • resourceNames: Recursos de log específicos para consultar
  • summaryFields: Campos a incluir no resumo

Obter Detalhes de Log

Recupere detalhes completos de uma entrada de log específica.

{
  "tool": "getLogDetail",
  "input": {
    "projectId": "my-project",
    "logId": "65f5a7b60000000001234567"
  }
}

Parâmetros:

  • projectId: ID do projeto GCP
  • logId: O identificador único da entrada de log

Listar Projetos

Liste todos os projetos do Google Cloud acessíveis.

{
  "tool": "listProjects",
  "input": {}
}

Parâmetros: Nenhum

Exemplos Comuns de Filtros

  • Por severidade: severity>=ERROR
  • Por intervalo de tempo: timestamp>="2024-01-01T00:00:00Z"
  • Por recurso: resource.type="cloud_run_revision"
  • Por pesquisa de texto: textPayload:"connection timeout"
  • Combinado: resource.type="k8s_container" AND severity=ERROR AND timestamp>="2024-01-01T00:00:00Z"

Solução de Problemas

  1. Erros de autenticação: Certifique-se de que suas credenciais do Google Cloud estão configuradas corretamente
  2. Erros de permissão: Verifique se sua conta possui a permissão logging.logEntries.list
  3. Sem resultados: Verifique a sintaxe do seu filtro e se existem logs para a sua consulta

Desenvolvimento

# Run tests
bun test

# Type checking
bun run typecheck

# Linting
bun run lint

# Format code
bun run format

Arquitetura

O servidor segue um padrão de arquitetura limpa:

  • /adapter: Integrações com serviços externos (APIs do Google Cloud)
  • /domain: Lógica de negócios principal e modelos de dados
  • /port: Definições de interfaces e manipuladores de ferramentas MCP
  • /util: Funções utilitárias e auxiliares

Licença

MIT