Google BigQuery Automatisierung via Rube MCP
Führe SQL-Abfragen aus, erkunde Datenbankschemata und analysiere Datensätze über die Metabase-Integration mit Rube MCP (Composio).
Toolkit-Dokumentation: composio.dev/toolkits/googlebigquery
Voraussetzungen
- Rube MCP muss verbunden sein (RUBE_SEARCH_TOOLS verfügbar)
- Aktive Verbindung über
RUBE_MANAGE_CONNECTIONSmit Toolkitmetabase - Eine Metabase-Instanz, die mit Ihrer BigQuery-Datenquelle verbunden ist
- Rufen Sie immer zuerst
RUBE_SEARCH_TOOLSauf, um die aktuellen Tool-Schemata zu erhalten
Einrichtung
Rube MCP holen: Fügen Sie https://rube.app/mcp als MCP-Server in Ihrer Client-Konfiguration hinzu. Es werden keine API-Schlüssel benötigt – fügen Sie einfach den Endpunkt hinzu und es funktioniert.
- Überprüfen Sie, ob Rube MCP verfügbar ist, indem Sie bestätigen, dass
RUBE_SEARCH_TOOLSantwortet. - Rufen Sie
RUBE_MANAGE_CONNECTIONSmit dem Toolkitmetabaseauf. - Wenn die Verbindung nicht AKTIV ist, folgen Sie dem zurückgegebenen Authentifizierungslink, um die Einrichtung abzuschließen.
- Bestätigen Sie, dass der Verbindungsstatus AKTIV anzeigt, bevor Sie Workflows ausführen.
Hinweis: Auf BigQuery-Daten wird über Metabase zugegriffen, ein Business-Intelligence-Tool, das eine Verbindung zu BigQuery als Datenquelle herstellt. Die unten aufgeführten Tools führen Abfragen aus und rufen Metadaten über die Metabase-API ab.
Kern-Workflows
1. Eine native SQL-Abfrage ausführen
Verwenden Sie METABASE_POST_API_DATASET mit dem Typ native, um rohe SQL-Abfragen gegen Ihre BigQuery-Datenbank auszuführen.
Tool: METABASE_POST_API_DATASET
Parameter:
- database (erforderlich): Metabase-Datenbank-ID (ganze Zahl)
- type (erforderlich): "native" für SQL-Abfragen
- native (erforderlich): Objekt mit "query"-String
- query: Roher SQL-String (z.B. "SELECT * FROM users LIMIT 10")
- template_tags: Parametrisierte Abfragevariablen (optional)
- constraints: { "max-results": 1000 } (optional)
2. Eine strukturierte MBQL-Abfrage ausführen
Verwenden Sie METABASE_POST_API_DATASET mit dem Typ query für Metabase Query Language-Abfragen mit integrierter Aggregation und Filterung.
Tool: METABASE_POST_API_DATASET
Parameter:
- database (erforderlich): Metabase-Datenbank-ID
- type (erforderlich): "query" für MBQL
- query (erforderlich): Objekt mit:
- source-table: Tabellen-ID (ganze Zahl)
- aggregation: z.B. [["count"]] oder [["sum", ["field", 5, null]]]
- breakout: Gruppierungsfelder
- filter: Filterbedingungen
- limit: Maximale Zeilen
- order-by: Sortierfelder
3. Abfragemetadaten abrufen
Verwenden Sie METABASE_POST_API_DATASET_QUERY_METADATA, um Metadaten über Datenbanken, Tabellen und Felder für Abfragen abzurufen.
Tool: METABASE_POST_API_DATASET_QUERY_METADATA
Parameter:
- database (erforderlich): Metabase-Datenbank-ID
- type (erforderlich): "query" oder "native"
- query (erforderlich): Abfrageobjekt (z.B. {"source-table": 1})
4. Abfrage in natives SQL konvertieren
Verwenden Sie METABASE_POST_API_DATASET_NATIVE, um eine MBQL-Abfrage in ihre native SQL-Darstellung zu konvertieren.
Tool: METABASE_POST_API_DATASET_NATIVE
Parameter:
- database (erforderlich): Metabase-Datenbank-ID
- type (erforderlich): "native"
- native (erforderlich): Objekt mit "query" und optionalen "template_tags"
- parameters: Abfrageparameterwerte (optional)
5. Verfügbare Datenbanken auflisten
Verwenden Sie METABASE_GET_API_DATABASE, um alle in Metabase konfigurierten Datenbankverbindungen zu ermitteln.
Tool: METABASE_GET_API_DATABASE
Beschreibung: Ruft eine Liste aller in Metabase konfigurierten Datenbankinstanzen ab.
Hinweis: Rufen Sie RUBE_SEARCH_TOOLS auf, um das vollständige Schema für dieses Tool zu erhalten.
6. Datenbankschema-Metadaten abrufen
Verwenden Sie METABASE_GET_API_DATABASE_ID_METADATA, um vollständige Tabellen- und Feldinformationen für eine bestimmte Datenbank abzurufen.
Tool: METABASE_GET_API_DATABASE_ID_METADATA
Beschreibung: Ruft vollständige Metadaten für eine bestimmte Datenbank ab, einschließlich
aller Tabellen und Felder.
Hinweis: Rufen Sie RUBE_SEARCH_TOOLS auf, um das vollständige Schema für dieses Tool zu erhalten.
Übliche Muster
- Entdecken und dann abfragen: Verwenden Sie
METABASE_GET_API_DATABASE, um Datenbank-IDs zu finden, dannMETABASE_GET_API_DATABASE_ID_METADATA, um Tabellen und Felder zu erkunden, und dannMETABASE_POST_API_DATASET, um Abfragen auszuführen. - SQL-first-Ansatz: Verwenden Sie
METABASE_POST_API_DATASETmittype: "native"und schreiben Sie Standard-SQL-Abfragen für maximale Flexibilität. - Parametrisierte Abfragen: Verwenden Sie
template_tagsin nativen Abfragen für eine sichere Parametrisierung (z.B.SELECT * FROM users WHERE id = {{user_id}}). - Schema-Erkundung: Verwenden Sie
METABASE_POST_API_DATASET_QUERY_METADATA, um Tabellenstrukturen zu verstehen, bevor Sie komplexe Abfragen erstellen. - Parameterwerte abrufen: Verwenden Sie
METABASE_POST_API_DATASET_PARAMETER_VALUES, um mögliche Werte für Filter-Dropdowns abzurufen.
Bekannte Fallstricke
- Der Parameter
databaseist eine Metabase-interne ganze Zahl als ID, nicht der BigQuery-Projekt- oder Dataset-Name. Verwenden SieMETABASE_GET_API_DATABASE, um zunächst gültige Datenbank-IDs zu finden. source-tablein MBQL-Abfragen ist ebenfalls eine Metabase-interne ganze Zahl, nicht der BigQuery-Tabellenname. Entdecken Sie Tabellen-IDs über Metadaten-Tools.- Native SQL-Abfragen verwenden den BigQuery-SQL-Dialekt (Standard SQL). Stellen Sie sicher, dass Ihre Syntax BigQuery-kompatibel ist.
max-resultsin Constraints kann standardmäßig die zurückgegebenen Zeilen begrenzen. Setzen Sie es für große Ergebnismengen explizit.- Antworten von
METABASE_POST_API_DATASETenthalten Ergebnisse, die unterdataverschachtelt sind – parsen Sie sorgfältig, da die Struktur stark verschachtelt sein kann. - Metabase-Feld-IDs, die in MBQL-
aggregation-,breakout- undfilter-Arrays verwendet werden, müssen ganze Zahlen sein, die aus Metadaten-Antworten stammen.
Kurzreferenz
| Aktion | Tool | Wichtige Parameter |
|---|---|---|
| SQL-Abfrage ausführen | METABASE_POST_API_DATASET | database, type: "native", native.query |
| MBQL-Abfrage ausführen | METABASE_POST_API_DATASET | database, type: "query", query |
| Abfragemetadaten abrufen | METABASE_POST_API_DATASET_QUERY_METADATA | database, type, query |
| In SQL konvertieren | METABASE_POST_API_DATASET_NATIVE | database, type, native |
| Parameterwerte abrufen | METABASE_POST_API_DATASET_PARAMETER_VALUES | parameter, field_ids |
| Datenbanken auflisten | METABASE_GET_API_DATABASE | (vollständiges Schema via RUBE_SEARCH_TOOLS einsehen) |
| Datenbank-Metadaten abrufen | METABASE_GET_API_DATABASE_ID_METADATA | (vollständiges Schema via RUBE_SEARCH_TOOLS einsehen) |
Bereitgestellt von Composio