Informationen zur Verwendung des MCP-Servers des BigQuery Migration Service

In diesem Dokument wird beschrieben, wie Sie den BigQuery-MCP-Server (Model Context Protocol) für Remote-Modelle verwenden, um eine Verbindung zu KI-Anwendungen wie Gemini CLI, ChatGPT, Claude und benutzerdefinierten Anwendungen herzustellen, die Sie entwickeln. Sie können den MCP-Server (Model Context Protocol) von BigQuery Migration Service verwenden, um Aufgaben wie das Übersetzen von SQL-Abfragen in die GoogleSQL-Syntax, das Generieren von DDL-Anweisungen aus SQL-Eingabeabfragen und das Abrufen von Erläuterungen zu SQL-Übersetzungen auszuführen.

Der Remote-MCP-Server von BigQuery wird aktiviert, wenn Sie die BigQuery API aktivieren.

Das Model Context Protocol (MCP) standardisiert, wie Large Language Models (LLMs) und KI-Anwendungen oder ‑Agents eine Verbindung zu externen Datenquellen herstellen. Mit MCP-Servern können Sie die zugehörigen Tools, Ressourcen und Prompts verwenden, um Aktionen auszuführen und aktualisierte Daten vom Backend-Dienst abzurufen.

Lokale MCP-Server werden in der Regel auf Ihrem lokalen Computer ausgeführt und verwenden die Standard-Ein- und Ausgabestreams (stdio) für die Kommunikation zwischen Diensten auf demselben Gerät. MCP-Server werden in der Infrastruktur des Dienstes ausgeführt und bieten einen HTTPS-Endpunkt für KI-Anwendungen für die Kommunikation zwischen dem KI-MCP-Client und dem MCP-Server. Weitere Informationen zur MCP-Architektur finden Sie unter MCP-Architektur.

Google- und Google Cloud MCP-Server bieten die folgenden Funktionen und Vorteile:

  • Einfache, zentrale Suche
  • Verwaltete globale oder regionale HTTPS-Endpunkte
  • Detaillierte Autorisierung
  • Optionale Sicherheit für Prompts und Antworten mit Model Armor-Schutz
  • Zentralisiertes Audit-Logging

Informationen zu anderen MCP-Servern sowie zu Sicherheits- und Governance-Steuerelementen, die für Google Cloud-MCP-Server verfügbar sind, finden Sie unter Google Cloud-MCP-Server – Übersicht.

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  6. Aktivieren Sie die BigQuery Migration Service API.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen

    API aktivieren

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, in dem Sie den MCP-Server des BigQuery Migration Service aktivieren möchten:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Aktivieren des MCP-Servers für den BigQuery Migration Service erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind erforderlich, um den MCP-Server des BigQuery Migration Service zu aktivieren:

  • MCP-Tool-Aufrufe ausführen: mcp.tools.call
  • BigQuery Migration Service verwenden:
    • bigquerymigration.workflows.create
    • bigquerymigration.workflows.get
    • bigquerymigration.workflows.list
    • bigquerymigration.workflows.delete
    • bigquerymigration.subtasks.get
    • bigquerymigration.subtasks.list

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Je nach Aufgabe sind möglicherweise zusätzliche Berechtigungen für den BigQuery Migration Service erforderlich. Informationen zu Rollen und Berechtigungen für den BigQuery-Migrationsdienst finden Sie unter Rollen und Berechtigungen für den BigQuery-Migrationsdienst.

Authentifizierung und Autorisierung

Die MCP-Server des BigQuery Migration Service verwenden das OAuth 2.0-Protokoll mit Identity and Access Management (IAM) für die Authentifizierung und Autorisierung. Alle Google Cloud Identitäten werden für die Authentifizierung bei MCP-Servern unterstützt.

Der MCP-Server des BigQuery Migration Service akzeptiert keine API-Schlüssel.

OAuth-Bereiche für den BigQuery Migration Service MCP

OAuth 2.0 verwendet Bereiche und Anmeldedaten, um zu ermitteln, ob ein authentifiziertes Hauptkonto autorisiert ist, eine bestimmte Aktion für eine Ressource auszuführen. Weitere Informationen zu OAuth 2.0-Bereichen bei Google finden Sie unter Mit OAuth 2.0 auf Google APIs zugreifen.

Der BigQuery Migration Service hat die folgenden OAuth-Bereiche für das MCP-Tool:

Bereichs-URI für die gcloud CLI Beschreibung
https://www.googleapis.com/auth/bigquerymigration Ihre Workflows im BigQuery Migration Service aufrufen und verwalten sowie die E‑Mail-Adresse Ihres Google-Kontos sehen.
https://www.googleapis.com/auth/devstorage.read_only Dieser Bereich ist für Abfrageübersetzungen erforderlich, bei denen Daten aus Cloud Storage gelesen werden.

Für Ressourcen, auf die während eines Tool-Aufrufs zugegriffen wird, sind möglicherweise zusätzliche Bereiche erforderlich.

MCP-Client für die Verwendung des MCP-Servers von BigQuery Migration Service konfigurieren

Hostprogramme wie Claude oder die Gemini CLI können MCP-Clients instanziieren, die eine Verbindung zu einem einzelnen MCP-Server herstellen. Ein Hostprogramm kann mehrere Clients haben, die eine Verbindung zu verschiedenen MCP-Servern herstellen. Um eine Verbindung zu einem MCP-Server herzustellen, muss der MCP-Client mindestens die URL des MCP-Servers kennen.

Suchen Sie in Ihrem Host nach einer Möglichkeit, eine Verbindung zu einem MCP-Server herzustellen. Sie werden aufgefordert, Details zum Server einzugeben, z. B. Name und URL.

Geben Sie für den MCP-Server des BigQuery Migration Service Folgendes ein:

  • Servername: BigQuery Migration Service MCP-Server
  • Server-URL oder Endpunkt: bigquerymigration.googleapis.com/mcp
  • Transport: HTTP
  • Authentifizierungsdetails: Ihre Google Cloud Anmeldedaten, Ihre OAuth-Client-ID und Ihr Secret oder eine Agent-Identität und Anmeldedaten

    Welche Authentifizierungsdetails Sie auswählen, hängt davon ab, wie Sie sich authentifizieren möchten. Weitere Informationen finden Sie unter Authentifizierung bei MCP-Servern.

Hostspezifische Anleitungen finden Sie hier:

Allgemeinere Informationen finden Sie unter Mit Remote-MCP-Servern verbinden.

Verfügbare Tools

Details zu den verfügbaren MCP-Tools und deren Beschreibungen für den MCP-Server des BigQuery-Migrationsdienstes finden Sie in der MCP-Referenz für den BigQuery-Migrationsdienst.

Tools für Listen

Verwenden Sie den MCP-Inspector, um Tools aufzulisten, oder senden Sie eine tools/list-HTTP-Anfrage direkt an den MCP-Server des BigQuery Migration Service. Für die Methode tools/list ist keine Authentifizierung erforderlich.

POST /mcp HTTP/1.1
Host: bigquerymigration.googleapis.com
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/list",
}

Beispiele für Anwendungsfälle

Im Folgenden finden Sie einige Anwendungsbeispiele für den MCP-Server des BigQuery Migration Service:

  • Mit einem MCP-Client in einer IDE eine Abfragedatei in die GoogleSQL-Syntax übersetzen
  • Mit einem MCP-Client ohne IDE eine angegebene Abfrage in die GoogleSQL-Syntax übersetzen.
  • Bewerten Sie die Übersetzungsqualität.
  • Erläuterungen zu SQL-Übersetzungen erhalten
  • Generieren Sie eine DDL-Anweisung für eine bestimmte Abfrage.

Beispiel-Prompts

Mit den folgenden Beispielprompts können Sie Ressourcen des BigQuery Migration Service erstellen und verwalten:

  • Übersetze die DIALECT-Anfrage in diesem FILENAME. Verwende PROJECT_ID und LOCATION. Speichern Sie die Ausgabe- und Übersetzungslogs in separaten Verzeichnissen.

    Wenn Sie diesen Prompt verwenden, ruft der MCP-Client das translate_query-Tool auf, um die Anfrage in der angegebenen Datei zu übersetzen. Der MCP-Client ruft das Tool get_translation regelmäßig auf, um die Ergebnisse abzurufen. Nach Abschluss der Übersetzung schreibt der Client die Ausgabe in das Ausgabeverzeichnis und die Logs in das Logverzeichnis.

  • Übersetze diese Anfrage aus dem DIALECT: QUERY. Verwende PROJECT_ID und LOCATION.

    Wenn Sie diesen Prompt verwenden, ruft der MCP-Client das Tool translate_query auf, um die angegebene Anfrage zu übersetzen, und zeigt die Übersetzungsergebnisse an.

  • Bewerten Sie die Qualität der Übersetzung.

    Wenn Sie diesen Prompt verwenden, liest und analysiert der MCP-Client die Übersetzungslogs und zeigt eine Zusammenfassung der Übersetzungsprobleme mit vorgeschlagenen nächsten Schritten an.

  • Erkläre die Übersetzung.

    Wenn Sie diesen Prompt verwenden, ruft der MCP-Client das explain_translation-Tool auf, um eine Erklärung der Übersetzung zu erhalten. Wenn die Übersetzungslogs RelationNotFound- oder AttributeNotFound-Fehler enthalten, sollte der MCP-Client vorschlagen, dass Sie ein Metadatenpaket erstellen. Wenn Sie die Metadaten nicht generieren können, können Sie eine Eingabeaufforderung senden, in der die DDL-Anweisung angefordert wird.

    Eine Beispielantwort sieht so aus:

    The translated code converts Teradata-specific features into their
    BigQuery equivalents. Here's a breakdown of the key changes:
    * `MACRO` to `PROCEDURE`: The `YourMacroName` macro was converted
    into a BigQuery stored procedure because
    BigQuery doesn't support macros.
    * `SELECT INTO` to `SET`:
      * For setting multiple `OUT` parameters in `YourStoredProcedureName`, the
        `SELECT ... INTO` is changed to `SET (...) = (SELECT STRUCT(...))`.
      * For single variable assignment in `YourOtherProcedureName`,
        `SELECT ... INTO` is replaced by `SET variable = (SELECT ...)` which is
        the standard in BigQuery.
    * Atomic Operations to `MERGE: The BEGIN REQUEST ... END REQUEST` blocks in
      the `ProcedureA`, `ProcedureB`, and `ProcedureC` procedures,
      which perform atomic "update or insert" operations, are translated into
      standard SQL `MERGE` statements. This is the correct and modern way to
      handle this logic in BigQuery.
    
  • Generiere DDL für diese Eingabeabfrage.

    Der MCP-Client ruft das generate_ddl_suggestion-Tool auf, um einen Vorschlagsjob zu starten. Der Client erhält die Vorschlagsergebnisse durch Aufrufen des Tools fetch_ddl_suggestion. Wenn der Vorschlag verfügbar ist, wird er im MCP-Client angezeigt.

    Wenn die DDL-Anweisungen korrekt sind, können Sie einen Prompt senden, um die generierten DDL-Anweisungen vor die Anfrage zu stellen und so die Übersetzungsqualität zu verbessern.

  • Stellen Sie die generierten DDL-Anweisungen vor die Eingabeabfrage und übersetzen Sie sie noch einmal.

    Wenn Sie diesen Prompt verwenden, stellt der MCP-Client die DDL-Anweisungen der ursprünglichen Eingabeabfrage voran und ruft das translate_query-Tool auf. Der Client ruft das Tool get_translation auf, um die Übersetzung zu erhalten. Die neue Übersetzung der Anfrage und die Protokolle bleiben erhalten, sofern sie verfügbar sind.

    Wenn die generierten DDL-Anweisungen korrekt sind, sollten alle RelationNotFound- oder AttributeNotFound-Fehler behoben werden, was zu einer besseren Übersetzungsqualität führt.

Ersetzen Sie in den Prompts Folgendes:

  • DIALECT: Der Dialekt der SQL-Abfrage, die Sie übersetzen.
  • QUERY: Die Abfrage, die Sie übersetzen möchten.
  • FILENAME: Die Datei, die die Abfrage enthält, die Sie übersetzen möchten.
  • PROJECT_NUMBER: Ihre Google Cloud Projektnummer.
  • LOCATION: Der Speicherort des SQL-Übersetzers.

Optionale Sicherheitskonfigurationen

MCP birgt neue Sicherheitsrisiken und ‑aspekte, da mit MCP-Tools eine Vielzahl von Aktionen ausgeführt werden kann. Um diese Risiken zu minimieren und zu verwalten, bietetGoogle Cloud Standard- und anpassbare Richtlinien, mit denen Sie die Verwendung von MCP-Tools in Ihrer Google Cloud-Organisation oder Ihrem Google Cloud-Projekt steuern können.

Weitere Informationen zur Sicherheit und Governance von MCP finden Sie unter KI-Sicherheit.

Model Armor verwenden

Model Armor ist einGoogle Cloud -Dienst, der die Sicherheit Ihrer KI-Anwendungen verbessern soll. Das System überwacht und kontrolliert sowohl die Prompts als auch die Antworten des LLM, um Sie vor verschiedenen Risiken zu schützen und für verantwortungsbewusste Anwendung von KI zu sorgen. Unabhängig davon, ob Sie KI in Ihrer Cloud-Umgebung oder bei externen Cloud-Anbietern bereitstellen, kann Model Armor Ihnen helfen, schädliche Eingaben zu verhindern, die Sicherheit von Inhalten zu überprüfen, sensible Daten zu schützen, die Compliance aufrechtzuerhalten und Ihre KI-Sicherheitsrichtlinien in Ihrer vielfältigen KI-Landschaft einheitlich durchzusetzen.

Model Armor ist nur an bestimmten regionalen Standorten verfügbar. Wenn Model Armor für ein Projekt aktiviert ist und ein Aufruf an dieses Projekt aus einer nicht unterstützten Region erfolgt, wird Model Armor nicht aufgerufen und die Inhalte werden nicht von Model Armor gescannt. Weitere Informationen finden Sie unter Model Armor-Standorte.

Model Armor aktivieren

Sie müssen Model Armor APIs aktivieren, bevor Sie Model Armor verwenden können.

Console

  1. Aktivieren Sie die Model Armor API.

    Rollen, die zum Aktivieren von APIs erforderlich sind

    Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin), die die Berechtigung serviceusage.services.enable enthält. Weitere Informationen zum Zuweisen von Rollen

    API aktivieren

  2. Wählen Sie das Projekt aus, für das Sie Model Armor aktivieren möchten.

gcloud

Führen Sie die folgenden Schritte mit der Google Cloud CLI und der Model Armor API aus, bevor Sie beginnen:

  1. Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

    Unten in der Google Cloud Console wird eine Cloud Shell-Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung, in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.

  2. Führen Sie den folgenden Befehl aus, um den API-Endpunkt für den Model Armor-Dienst festzulegen.

    gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"

    Ersetzen Sie LOCATION durch die Region, in der Sie Model Armor verwenden möchten.

Schutz für Google- und Google Cloud Remote-MCP-Server konfigurieren

Mit den Mindesteinstellungen für Model Armor können Sie Ihre MCP-Toolaufrufe und ‑Antworten schützen. Eine Mindesteinstellung definiert die Mindestsicherheitsfilter, die für das gesamte Projekt gelten. Mit dieser Konfiguration wird ein einheitlicher Satz von Filtern auf alle MCP-Tool-Aufrufe und ‑Antworten im Projekt angewendet.

Richten Sie eine Model Armor-Mindesteinstellung mit aktivierter MCP-Bereinigung ein. Weitere Informationen finden Sie unter Model Armor-Untergrenzeneinstellungen konfigurieren.

Hier ein Beispielbefehl:

gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--enable-floor-setting-enforcement=TRUE \
--add-integrated-services=GOOGLE_MCP_SERVER \
--google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \
--enable-google-mcp-server-cloud-logging \
--malicious-uri-filter-settings-enforcement=ENABLED \
--add-rai-settings-filters='[{"confidenceLevel": "MEDIUM_AND_ABOVE", "filterType": "DANGEROUS"}]'

Ersetzen Sie dabei PROJECT_ID durch die ID Ihres Projekts in Google Cloud .

Beachten Sie die folgenden Einstellungen:

  • INSPECT_AND_BLOCK: Der Erzwingungstyp, der Inhalte für den Google MCP-Server prüft und Prompts und Antworten blockiert, die den Filtern entsprechen.
  • ENABLED: Die Einstellung, die einen Filter oder die Erzwingung ermöglicht.
  • MEDIUM_AND_ABOVE: Das Konfidenzniveau für die Filter für verantwortungsbewusste KI – gefährlich. Sie können diese Einstellung ändern. Niedrigere Werte können jedoch zu mehr falsch positiven Ergebnissen führen. Weitere Informationen finden Sie unter Vertrauenswürdigkeitsstufen für Model Armor.

Scannen von MCP-Traffic mit Model Armor deaktivieren

Wenn Sie das Scannen von Google MCP-Traffic mit Model Armor beenden möchten, führen Sie den folgenden Befehl aus:

gcloud model-armor floorsettings update \
  --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
  --remove-integrated-services=GOOGLE_MCP_SERVER

Ersetzen Sie PROJECT_ID durch die Google Cloud Projekt-ID.

Model Armor scannt keinen MCP-Traffic im Projekt.

MCP-Nutzung mit IAM-Ablehnungsrichtlinien steuern

IAM-Richtlinien (Identity and Access Management) zur Zugriffsbeschränkung helfen Ihnen, Google Cloud Remote-MCP-Server zu schützen. Konfigurieren Sie diese Richtlinien, um unerwünschten Zugriff auf MCP-Tools zu blockieren.

Sie können den Zugriff beispielsweise anhand der folgenden Kriterien verweigern oder zulassen:

  • Der Prinzipal
  • Tool-Eigenschaften wie „Schreibgeschützt“
  • Die OAuth-Client-ID der Anwendung

Weitere Informationen finden Sie unter MCP-Nutzung mit Identity and Access Management steuern.

Kontingente und Limits

Der MCP-Server des BigQuery Migration Service hat keine eigenen Kontingente. Die Anzahl der Aufrufe, die Sie an den MCP-Server senden können, ist nicht begrenzt.

Sie unterliegen weiterhin den Kontingenten, die von den APIs erzwungen werden, die von den MCP-Servertools aufgerufen werden. Weitere Informationen finden Sie auf der Seite „Kontingente und Limits“ unter BigQuery Migration Service API.

Nächste Schritte