Google BigQuery Automation über Rube MCP
Führen Sie SQL-Abfragen aus, erkunden Sie Datenbankschemata und analysieren Sie Datasets über die Metabase-Integration mit Rube MCP (Composio).
Toolkit-Dokumentation: composio.dev/toolkits/googlebigquery
Voraussetzungen
- Rube MCP muss verbunden sein (
RUBE_SEARCH_TOOLSverfügbar) - Aktive Verbindung über
RUBE_MANAGE_CONNECTIONSmit dem 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 – einfach den Endpunkt hinzufügen und es funktioniert.
- Stellen Sie sicher, dass 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: BigQuery-Daten werden über Metabase abgerufen, ein Business-Intelligence-Tool, das als Datenquelle mit BigQuery verbunden ist. 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 (Ganzzahl)
- 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: Variablen für parametrisierte Abfragen (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 (MBQL)-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 (Ganzzahl)
- aggregation: z. B. [["count"]] oder [["sum", ["field", 5, null]]]
- breakout: Gruppierungsfelder
- filter: Filterbedingungen
- limit: Maximale Zeilenanzahl
- order-by: Sortierfelder
3. Abfrage-Metadaten abrufen
Verwenden Sie METABASE_POST_API_DATASET_QUERY_METADATA, um Metadaten über Datenbanken, Tabellen und Felder abzurufen, die für Abfragen verfügbar sind.
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 nativen 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 entdecken.
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.
Häufige Muster
- Entdecken, 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 schließlichMETABASE_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 ganzzahlige ID, nicht der BigQuery-Projekt- oder Dataset-Name. Verwenden SieMETABASE_GET_API_DATABASE, um zuerst gültige Datenbank-IDs zu finden. source-tablein MBQL-Abfragen ist ebenfalls eine Metabase-interne Ganzzahl, nicht der BigQuery-Tabellenname. Entdecken Sie Tabellen-IDs über die Metadaten-Tools.- Native-SQL-Abfragen verwenden den BigQuery-SQL-Dialekt (Standard-SQL). Stellen Sie sicher, dass Ihre Syntax BigQuery-kompatibel ist.
- Der Standardwert von
max-resultsin Constraints kann die zurückgegebenen Zeilen begrenzen. Setzen Sie ihn explizit für große Ergebnismengen. - Antworten von
METABASE_POST_API_DATASETenthalten Ergebnisse unterdata– parsen Sie diese sorgfältig, da die Struktur tief verschachtelt sein kann. - Metabase-Feld-IDs, die in MBQL-
aggregation-,breakout- undfilter-Arrays verwendet werden, müssen Ganzzahlen sein, die aus den Metadaten-Antworten stammen.
Kurzreferenz
| Aktion | Tool | Schlüsselparameter |
|---|---|---|
| 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 |
| Abfrage-Metadaten 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 über RUBE_SEARCH_TOOLS) |
| Datenbank-Metadaten abrufen | METABASE_GET_API_DATABASE_ID_METADATA | (vollständiges Schema über RUBE_SEARCH_TOOLS) |
Bereitgestellt von Composio