Skills Data Science BigQuery Metabase Automation

BigQuery Metabase Automation

v20260219
googlebigquery-automation
Automates Google BigQuery workflows via Rube MCP and Metabase, letting you run native SQL/MBQL queries, fetch metadata, and explore schemas before querying.
Get Skill
194 downloads
Overview

Google BigQuery Automation via Rube MCP

Run SQL queries, explore database schemas, and analyze datasets through the Metabase integration using Rube MCP (Composio).

Toolkit docs: composio.dev/toolkits/googlebigquery

Prerequisites

  • Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
  • Active connection via RUBE_MANAGE_CONNECTIONS with toolkit metabase
  • A Metabase instance connected to your BigQuery data source
  • Always call RUBE_SEARCH_TOOLS first to get current tool schemas

Setup

Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.

  1. Verify Rube MCP is available by confirming RUBE_SEARCH_TOOLS responds
  2. Call RUBE_MANAGE_CONNECTIONS with toolkit metabase
  3. If connection is not ACTIVE, follow the returned auth link to complete setup
  4. Confirm connection status shows ACTIVE before running any workflows

Note: BigQuery data is accessed through Metabase, a business intelligence tool that connects to BigQuery as a data source. The tools below execute queries and retrieve metadata through Metabase's API.

Core Workflows

1. Run a Native SQL Query

Use METABASE_POST_API_DATASET with type native to execute raw SQL queries against your BigQuery database.

Tool: METABASE_POST_API_DATASET
Parameters:
  - database (required): Metabase database ID (integer)
  - type (required): "native" for SQL queries
  - native (required): Object with "query" string
    - query: Raw SQL string (e.g., "SELECT * FROM users LIMIT 10")
    - template_tags: Parameterized query variables (optional)
  - constraints: { "max-results": 1000 } (optional)

2. Run a Structured MBQL Query

Use METABASE_POST_API_DATASET with type query for Metabase Query Language queries with built-in aggregation and filtering.

Tool: METABASE_POST_API_DATASET
Parameters:
  - database (required): Metabase database ID
  - type (required): "query" for MBQL
  - query (required): Object with:
    - source-table: Table ID (integer)
    - aggregation: e.g., [["count"]] or [["sum", ["field", 5, null]]]
    - breakout: Group-by fields
    - filter: Filter conditions
    - limit: Max rows
    - order-by: Sort fields

3. Get Query Metadata

Use METABASE_POST_API_DATASET_QUERY_METADATA to retrieve metadata about databases, tables, and fields available for querying.

Tool: METABASE_POST_API_DATASET_QUERY_METADATA
Parameters:
  - database (required): Metabase database ID
  - type (required): "query" or "native"
  - query (required): Query object (e.g., {"source-table": 1})

4. Convert Query to Native SQL

Use METABASE_POST_API_DATASET_NATIVE to convert an MBQL query into its native SQL representation.

Tool: METABASE_POST_API_DATASET_NATIVE
Parameters:
  - database (required): Metabase database ID
  - type (required): "native"
  - native (required): Object with "query" and optional "template_tags"
  - parameters: Query parameter values (optional)

5. List Available Databases

Use METABASE_GET_API_DATABASE to discover all database connections configured in Metabase.

Tool: METABASE_GET_API_DATABASE
Description: Retrieves a list of all Database instances configured in Metabase.
Note: Call RUBE_SEARCH_TOOLS to get the full schema for this tool.

6. Get Database Schema Metadata

Use METABASE_GET_API_DATABASE_ID_METADATA to retrieve complete table and field information for a specific database.

Tool: METABASE_GET_API_DATABASE_ID_METADATA
Description: Retrieves complete metadata for a specific database including
  all tables and fields.
Note: Call RUBE_SEARCH_TOOLS to get the full schema for this tool.

Common Patterns

  • Discover then query: Use METABASE_GET_API_DATABASE to find database IDs, then METABASE_GET_API_DATABASE_ID_METADATA to explore tables and fields, then METABASE_POST_API_DATASET to run queries.
  • SQL-first approach: Use METABASE_POST_API_DATASET with type: "native" and write standard SQL queries for maximum flexibility.
  • Parameterized queries: Use template_tags in native queries for safe parameterization (e.g., SELECT * FROM users WHERE id = {{user_id}}).
  • Schema exploration: Use METABASE_POST_API_DATASET_QUERY_METADATA to understand table structures before building complex queries.
  • Get parameter values: Use METABASE_POST_API_DATASET_PARAMETER_VALUES to retrieve possible values for filter dropdowns.

Known Pitfalls

  • The database parameter is a Metabase-internal integer ID, not the BigQuery project or dataset name. Use METABASE_GET_API_DATABASE to find valid database IDs first.
  • source-table in MBQL queries is also a Metabase-internal integer, not the BigQuery table name. Discover table IDs via metadata tools.
  • Native SQL queries use BigQuery SQL dialect (Standard SQL). Ensure your syntax is BigQuery-compatible.
  • max-results in constraints defaults can limit returned rows. Set explicitly for large result sets.
  • Responses from METABASE_POST_API_DATASET contain results nested under data -- parse carefully as the structure may be deeply nested.
  • Metabase field IDs used in MBQL aggregation, breakout, and filter arrays must be integers obtained from metadata responses.

Quick Reference

Action Tool Key Parameters
Run SQL query METABASE_POST_API_DATASET database, type: "native", native.query
Run MBQL query METABASE_POST_API_DATASET database, type: "query", query
Get query metadata METABASE_POST_API_DATASET_QUERY_METADATA database, type, query
Convert to SQL METABASE_POST_API_DATASET_NATIVE database, type, native
Get parameter values METABASE_POST_API_DATASET_PARAMETER_VALUES parameter, field_ids
List databases METABASE_GET_API_DATABASE (see full schema via RUBE_SEARCH_TOOLS)
Get database metadata METABASE_GET_API_DATABASE_ID_METADATA (see full schema via RUBE_SEARCH_TOOLS)

Powered by Composio

Info
Category Data Science
Name googlebigquery-automation
Version v20260219
Size 6.28KB
Updated At 2026-02-26
Language