Automação Google BigQuery via Rube MCP
Execute consultas SQL, explore esquemas de bancos de dados e analise datasets através da integração com Metabase usando Rube MCP (Composio).
Documentação do toolkit: composio.dev/toolkits/googlebigquery
Pré-requisitos
- Rube MCP deve estar conectado (RUBE_SEARCH_TOOLS disponível)
- Conexão ativa via
RUBE_MANAGE_CONNECTIONScom o toolkitmetabase - Uma instância do Metabase conectada à sua fonte de dados BigQuery
- Sempre chame
RUBE_SEARCH_TOOLSprimeiro para obter os schemas atuais das ferramentas
Configuração
Obter Rube MCP: Adicione https://rube.app/mcp como um servidor MCP na configuração do seu cliente. Nenhuma chave de API é necessária — basta adicionar o endpoint e ele funciona.
- Verifique se o Rube MCP está disponível confirmando que
RUBE_SEARCH_TOOLSresponde - Chame
RUBE_MANAGE_CONNECTIONScom o toolkitmetabase - Se a conexão não estiver ATIVA, siga o link de autenticação retornado para concluir a configuração
- Confirme que o status da conexão mostra ATIVO antes de executar qualquer workflow
Nota: Os dados do BigQuery são acessados por meio do Metabase, uma ferramenta de business intelligence que se conecta ao BigQuery como fonte de dados. As ferramentas abaixo executam consultas e recuperam metadados através da API do Metabase.
Workflows Principais
1. Executar uma Consulta SQL Nativa
Use METABASE_POST_API_DATASET com o tipo native para executar consultas SQL brutas no seu banco de dados BigQuery.
Ferramenta: METABASE_POST_API_DATASET
Parâmetros:
- database (obrigatório): ID do banco de dados Metabase (inteiro)
- type (obrigatório): "native" para consultas SQL
- native (obrigatório): Objeto com string "query"
- query: String SQL bruta (ex.: "SELECT * FROM users LIMIT 10")
- template_tags: Variáveis de consulta parametrizadas (opcional)
- constraints: { "max-results": 1000 } (opcional)
2. Executar uma Consulta MBQL Estruturada
Use METABASE_POST_API_DATASET com o tipo query para consultas em Metabase Query Language com agregação e filtragem integradas.
Ferramenta: METABASE_POST_API_DATASET
Parâmetros:
- database (obrigatório): ID do banco de dados Metabase
- type (obrigatório): "query" para MBQL
- query (obrigatório): Objeto com:
- source-table: ID da tabela (inteiro)
- aggregation: ex.: [["count"]] ou [["sum", ["field", 5, null]]]
- breakout: Campos para agrupamento
- filter: Condições de filtro
- limit: Máximo de linhas
- order-by: Campos de ordenação
3. Obter Metadados de Consulta
Use METABASE_POST_API_DATASET_QUERY_METADATA para recuperar metadados sobre bancos de dados, tabelas e campos disponíveis para consulta.
Ferramenta: METABASE_POST_API_DATASET_QUERY_METADATA
Parâmetros:
- database (obrigatório): ID do banco de dados Metabase
- type (obrigatório): "query" ou "native"
- query (obrigatório): Objeto de consulta (ex.: {"source-table": 1})
4. Converter Consulta para SQL Nativo
Use METABASE_POST_API_DATASET_NATIVE para converter uma consulta MBQL em sua representação SQL nativa.
Ferramenta: METABASE_POST_API_DATASET_NATIVE
Parâmetros:
- database (obrigatório): ID do banco de dados Metabase
- type (obrigatório): "native"
- native (obrigatório): Objeto com "query" e opcional "template_tags"
- parameters: Valores dos parâmetros da consulta (opcional)
5. Listar Bancos de Dados Disponíveis
Use METABASE_GET_API_DATABASE para descobrir todas as conexões de banco de dados configuradas no Metabase.
Ferramenta: METABASE_GET_API_DATABASE
Descrição: Recupera uma lista de todas as instâncias de Banco de Dados configuradas no Metabase.
Nota: Chame RUBE_SEARCH_TOOLS para obter o schema completo desta ferramenta.
6. Obter Metadados do Esquema do Banco de Dados
Use METABASE_GET_API_DATABASE_ID_METADATA para recuperar informações completas de tabelas e campos para um banco de dados específico.
Ferramenta: METABASE_GET_API_DATABASE_ID_METADATA
Descrição: Recupera metadados completos de um banco de dados específico, incluindo
todas as tabelas e campos.
Nota: Chame RUBE_SEARCH_TOOLS para obter o schema completo desta ferramenta.
Padrões Comuns
- Descobrir e consultar: Use
METABASE_GET_API_DATABASEpara encontrar IDs de bancos de dados, depoisMETABASE_GET_API_DATABASE_ID_METADATApara explorar tabelas e campos, e em seguidaMETABASE_POST_API_DATASETpara executar consultas. - Abordagem SQL-first: Use
METABASE_POST_API_DATASETcomtype: "native"e escreva consultas SQL padrão para máxima flexibilidade. - Consultas parametrizadas: Use
template_tagsem consultas nativas para parametrização segura (ex.:SELECT * FROM users WHERE id = {{user_id}}). - Exploração de esquemas: Use
METABASE_POST_API_DATASET_QUERY_METADATApara entender as estruturas das tabelas antes de construir consultas complexas. - Obter valores de parâmetros: Use
METABASE_POST_API_DATASET_PARAMETER_VALUESpara recuperar valores possíveis para filtros de dropdown.
Armadilhas Conhecidas
- O parâmetro
databaseé um ID inteiro interno do Metabase, não o nome do projeto ou dataset do BigQuery. UseMETABASE_GET_API_DATABASEpara encontrar IDs de banco de dados válidos primeiro. source-tableem consultas MBQL também é um inteiro interno do Metabase, não o nome da tabela do BigQuery. Descubra IDs de tabelas por meio das ferramentas de metadados.- Consultas SQL nativas usam o dialeto SQL do BigQuery (Standard SQL). Certifique-se de que sua sintaxe seja compatível com o BigQuery.
- O padrão de
max-resultsem constraints pode limitar as linhas retornadas. Defina explicitamente para conjuntos de resultados grandes. - As respostas de
METABASE_POST_API_DATASETcontêm resultados aninhados sobdata— analise com cuidado, pois a estrutura pode ser profundamente aninhada. - Os IDs de campo do Metabase usados nos arrays de
aggregation,breakoutefilterdo MBQL devem ser inteiros obtidos a partir das respostas de metadados.
Referência Rápida
| Ação | Ferramenta | Parâmetros Principais |
|---|---|---|
| Executar consulta SQL | METABASE_POST_API_DATASET | database, type: "native", native.query |
| Executar consulta MBQL | METABASE_POST_API_DATASET | database, type: "query", query |
| Obter metadados de consulta | METABASE_POST_API_DATASET_QUERY_METADATA | database, type, query |
| Converter para SQL | METABASE_POST_API_DATASET_NATIVE | database, type, native |
| Obter valores de parâmetros | METABASE_POST_API_DATASET_PARAMETER_VALUES | parameter, field_ids |
| Listar bancos de dados | METABASE_GET_API_DATABASE | (veja schema completo via RUBE_SEARCH_TOOLS) |
| Obter metadados do banco | METABASE_GET_API_DATABASE_ID_METADATA | (veja schema completo via RUBE_SEARCH_TOOLS) |
Desenvolvido por Composio