From superpowers
Automates Google BigQuery tasks via Rube MCP and Metabase: runs SQL queries, MBQL queries, explores datasets and metadata. Useful for querying BigQuery data sources.
npx claudepluginhub lunartech-x/superpowers --plugin superpowersThis skill uses the workspace's default tool permissions.
Run SQL queries, explore database schemas, and analyze datasets through the Metabase integration using Rube MCP (Composio).
Guides BigQuery engineering with bq CLI for queries, table ops, data load/export; GoogleSQL syntax, functions, window funcs; partitioning, clustering, optimization.
Generates optimized SQL queries from natural language for BigQuery, PostgreSQL, MySQL, Snowflake, SQL Server. Reads schemas from uploaded files, diagrams, docs for reporting, analysis, exploration.
Generates optimized BigQuery SQL from natural language descriptions, converts queries from other SQL dialects to BigQuery syntax, and applies best practices like avoiding SELECT * and using ARRAY_AGG for latest records.
Share bugs, ideas, or general feedback.
Run SQL queries, explore database schemas, and analyze datasets through the Metabase integration using Rube MCP (Composio).
Toolkit docs: composio.dev/toolkits/googlebigquery
RUBE_MANAGE_CONNECTIONS with toolkit metabaseRUBE_SEARCH_TOOLS first to get current tool schemasGet 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.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit metabaseNote: 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.
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)
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
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})
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)
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.
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.
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.METABASE_POST_API_DATASET with type: "native" and write standard SQL queries for maximum flexibility.template_tags in native queries for safe parameterization (e.g., SELECT * FROM users WHERE id = {{user_id}}).METABASE_POST_API_DATASET_QUERY_METADATA to understand table structures before building complex queries.METABASE_POST_API_DATASET_PARAMETER_VALUES to retrieve possible values for filter dropdowns.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.max-results in constraints defaults can limit returned rows. Set explicitly for large result sets.METABASE_POST_API_DATASET contain results nested under data -- parse carefully as the structure may be deeply nested.aggregation, breakout, and filter arrays must be integers obtained from metadata responses.| 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