Skillshub googlebigquery-automation
Automate Google BigQuery tasks via Rube MCP (Composio): run SQL queries, explore datasets and metadata, execute MBQL queries via Metabase integration. Always search tools first for current schemas.
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/ComposioHQ/awesome-claude-skills/googlebigquery-automation" ~/.claude/skills/comeonoliver-skillshub-googlebigquery-automation && rm -rf "$T"
manifest:
skills/ComposioHQ/awesome-claude-skills/googlebigquery-automation/SKILL.mdsource content
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
with toolkitRUBE_MANAGE_CONNECTIONSmetabase - A Metabase instance connected to your BigQuery data source
- Always call
first to get current tool schemasRUBE_SEARCH_TOOLS
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.
- Verify Rube MCP is available by confirming
respondsRUBE_SEARCH_TOOLS - Call
with toolkitRUBE_MANAGE_CONNECTIONSmetabase - If connection is not ACTIVE, follow the returned auth link to complete setup
- 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
to find database IDs, thenMETABASE_GET_API_DATABASE
to explore tables and fields, thenMETABASE_GET_API_DATABASE_ID_METADATA
to run queries.METABASE_POST_API_DATASET - SQL-first approach: Use
withMETABASE_POST_API_DATASET
and write standard SQL queries for maximum flexibility.type: "native" - Parameterized queries: Use
in native queries for safe parameterization (e.g.,template_tags
).SELECT * FROM users WHERE id = {{user_id}} - Schema exploration: Use
to understand table structures before building complex queries.METABASE_POST_API_DATASET_QUERY_METADATA - Get parameter values: Use
to retrieve possible values for filter dropdowns.METABASE_POST_API_DATASET_PARAMETER_VALUES
Known Pitfalls
- The
parameter is a Metabase-internal integer ID, not the BigQuery project or dataset name. Usedatabase
to find valid database IDs first.METABASE_GET_API_DATABASE
in MBQL queries is also a Metabase-internal integer, not the BigQuery table name. Discover table IDs via metadata tools.source-table- Native SQL queries use BigQuery SQL dialect (Standard SQL). Ensure your syntax is BigQuery-compatible.
in constraints defaults can limit returned rows. Set explicitly for large result sets.max-results- Responses from
contain results nested underMETABASE_POST_API_DATASET
-- parse carefully as the structure may be deeply nested.data - Metabase field IDs used in MBQL
,aggregation
, andbreakout
arrays must be integers obtained from metadata responses.filter
Quick Reference
| Action | Tool | Key Parameters |
|---|---|---|
| Run SQL query | | , , |
| Run MBQL query | | , , |
| Get query metadata | | , , |
| Convert to SQL | | , , |
| Get parameter values | | , |
| List databases | | (see full schema via RUBE_SEARCH_TOOLS) |
| Get database metadata | | (see full schema via RUBE_SEARCH_TOOLS) |
Powered by Composio