MCP-Toolbox für Datenbanken: Bereitstellung von BigQuery-Datasets für MCP-Kunden

1. Einführung

In diesem Codelab verwenden Sie die MCP-Toolbox für Datenbanken, um Ihre BigQuery-Datasets verfügbar zu machen.

Im Codelab gehen Sie so vor:

  1. Wählen Sie ein bestimmtes BigQuery-Dataset aus dem Programm für öffentliche BigQuery-Datasets aus (Google Cloud-Releasenotizen).
  2. Richten Sie die MCP-Toolbox für Datenbanken ein, die eine Verbindung zum BigQuery-Dataset herstellt.
  3. Prüfen Sie verschiedene MCP-Clients und prüfen Sie, ob sie auf die MCP-Benutzeroberfläche des BigQuery-Datasets zugreifen können.

81c33b0f8af54b0c.png

Aufgabe

  • Richten Sie die MCP-Toolbox für Datenbanken ein, um die Google Cloud-Releasenotes als öffentlichen BigQuery-Datensatz als MCP-Schnittstelle für andere MCP-Clients (IDEs, Tools usw.) freizugeben.

Lerninhalte

  • Sehen Sie sich öffentliche BigQuery-Datasets an und wählen Sie ein bestimmtes Dataset aus.
  • Richten Sie die MCP Toolbox for Databases für das öffentliche BigQuery-Dataset ein, das Sie MCP-Kunden zur Verfügung stellen möchten.
  • Testen Sie die Konfiguration der MCP-Toolbox für Datenbanken in der lokalen Umgebung.

Voraussetzungen

  • Chrome-Webbrowser
  • Eine lokale Python-Entwicklungsumgebung.
  • Eine lokale Node.js-Umgebung mit npm-Version 5.2.0 oder höher.

2. Hinweis

Projekt erstellen

  1. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
  2. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
  3. Sie verwenden Cloud Shell, eine Befehlszeilenumgebung, die in Google Cloud ausgeführt wird und bq bereits vorinstalliert hat. Klicken Sie oben in der Google Cloud Console auf „Cloud Shell aktivieren“.

Bild der Schaltfläche „Cloud Shell aktivieren“

  1. Nachdem Sie eine Verbindung zu Cloud Shell hergestellt haben, prüfen Sie mit dem folgenden Befehl, ob Sie bereits authentifiziert sind und das Projekt auf Ihre Projekt-ID festgelegt ist:
gcloud auth list
  1. Führen Sie in Cloud Shell den folgenden Befehl aus, um zu prüfen, ob der gcloud-Befehl Ihr Projekt kennt.
gcloud config list project
  1. Wenn Ihr Projekt nicht festgelegt ist, verwenden Sie den folgenden Befehl, um es festzulegen:
gcloud config set project <YOUR_PROJECT_ID>

Weitere Informationen zu gcloud-Befehlen und deren Verwendung finden Sie in der Dokumentation.

3. Google-Versionshinweise – Datensatz und MCP-Clients

Sehen wir uns zuerst die Google Cloud-Versionsinformationen an, die regelmäßig auf der offiziellen Seite mit den Google Cloud-Versionshinweisen aktualisiert werden. Unten sehen Sie einen Screenshot:

37a7d9e124296c55.png

Sie können die Feed-URL abonnieren, aber was wäre, wenn wir einfach in unserem Agent Chat nach diesen Release Notes fragen könnten? Vielleicht eine einfache Anfrage wie „Aktualisieren Sie mich über die Google Cloud-Release-Notes“.

Sehen wir uns das Endziel an. Das ist ein Screenshot von Visual Studio Code mit CoPilot. Ich befinde mich im Agent-Modus und frage nach den Google Cloud-Release Notes:

1ded42a37f128fa3.png

Sehen wir uns an, wie Sie dies einrichten und dabei lernen, wie Sie Ihre BigQuery-Datasets in verschiedenen MCP-Clients Ihrer Wahl freigeben.

4. MCP-Toolbox für Datenbanken

Die MCP-Toolbox für Datenbanken ist ein Open-Source-MCP-Server für Datenbanken. Sie wurde für Unternehmen und Produktionsqualität entwickelt. Sie können damit Tools einfacher, schneller und sicherer entwickeln, da komplexe Aufgaben wie Verbindungspooling und Authentifizierung übernommen werden.

Mit der Toolbox können Sie Gen AI-Tools erstellen, mit denen Ihre Kundenservicemitarbeiter auf Daten in Ihrer Datenbank zugreifen können. Der Toolbox bietet folgende Vorteile:

  • Vereinfachte Entwicklung: Sie können Tools mit weniger als 10 Codezeilen in Ihren Bot einbinden, Tools für mehrere Bots oder Frameworks wiederverwenden und neue Versionen von Tools einfacher bereitstellen.
  • Bessere Leistung: Best Practices wie Verbindungs-Pooling und Authentifizierung.
  • Erhöhte Sicherheit: Integrierte Authentifizierung für sicheren Zugriff auf Ihre Daten
  • Vollständige Beobachtbarkeit: Sofort einsatzbereite Messwerte und Tracing mit integrierter Unterstützung für OpenTelemetry.
  • Mit der Toolbox können Sie ganz einfach Datenbanken mit allen MCP-fähigen KI-Assistenten verbinden, auch mit denen in Ihrer IDE.

Toolbox befindet sich zwischen dem Orchestration Framework Ihrer Anwendung und Ihrer Datenbank und bietet eine Kontrollebene, mit der Tools geändert, verteilt oder aufgerufen werden können. Sie vereinfacht die Verwaltung Ihrer Tools, da Sie Tools an einem zentralen Ort speichern und aktualisieren können. So können Sie Tools für Kundenservicemitarbeiter und Anwendungen freigeben und diese Tools aktualisieren, ohne Ihre Anwendung unbedingt neu bereitzustellen.

e316aed02b9861a6.png

Einfach gesagt:

  1. Die MCP Toolbox ist als Binär-Container-Image verfügbar oder Sie können sie aus dem Quellcode erstellen.
  2. Es stellt eine Reihe von Tools bereit, die Sie über eine tools.yaml-Datei konfigurieren. Die Tools können als Verbindung zu Ihren Datenquellen betrachtet werden. Sie sehen die verschiedenen unterstützten Datenquellen : AlloyDB, BigQuery usw.
  3. Da diese Toolbox jetzt MCP unterstützt, haben Sie automatisch einen MCP-Serverendpunkt, der dann von den Kundenservicemitarbeitern (IDEs) verwendet werden kann. Sie können ihn auch bei der Entwicklung Ihrer Kundenserviceanwendungen mit verschiedenen Frameworks wie dem Agent Development Kit (ADK) verwenden.

In diesem Blogpost liegt der Schwerpunkt auf den unten aufgeführten Bereichen:

f3f3cb495d8a288b.png

Zusammenfassend erstellen wir in der MCP Toolbox for Databases eine Konfiguration, die eine Verbindung zu unserem BigQuery-Dataset herstellen kann. Wir verwenden dann eine IDE oder eine andere Agent-IDE (MCP-Clients), die mit dem MCP Toolbox-Endpunkt kommuniziert und es uns ermöglicht, natürliche Abfragen zu unserem Datensatz zu senden. Stellen Sie sich das Tool als Tool vor, das Sie konfigurieren und das mit Ihrem BigQuery-Dataset kommunizieren und einige Abfragen ausführen kann.

5. BigQuery-Dataset für die Google Cloud-Versionshinweise

Das Google Cloud Public Dataset-Programm stellt eine Reihe von Datasets für Ihre Anwendungen zur Verfügung. Ein solcher Datensatz ist die Datenbank mit den Google Cloud-Releasenotes. Dieses Dataset enthält dieselben Informationen wie die offizielle Seite mit den Google Cloud-Versionshinweisen und ist als öffentlich abrufbares Dataset verfügbar.

2104010c05c87d0d.png

Als Test validiere ich den Datensatz einfach, indem ich die folgende einfache Abfrage ausführe:

SELECT
       product_name,description,published_at
     FROM
       `bigquery-public-data`.`google_cloud_release_notes`.`release_notes`
     WHERE
       DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
     GROUP BY product_name,description,published_at
     ORDER BY published_at DESC

Dadurch erhalte ich eine Liste der Datensätze aus dem Datensatz „Release Notes“, die in den letzten sieben Tagen veröffentlicht wurden.

Ersetzen Sie diesen durch einen beliebigen anderen Datensatz und die gewünschten Abfragen und Parameter. Jetzt müssen wir das Tool nur noch als Datenquelle in der MCP-Toolbox für Datenbanken einrichten. Sehen wir uns an, wie das geht.

6. MCP Toolbox for Databases installieren

Öffnen Sie ein Terminal auf Ihrem lokalen Computer und erstellen Sie einen Ordner mit dem Namen mcp-toolbox.

mkdir mcp-toolbox

Rufen Sie den Ordner mcp-toolbox mit dem folgenden Befehl auf:

cd mcp-toolbox

Installieren Sie die Binärversion der MCP-Toolbox für Datenbanken über das unten angegebene Script. Der folgende Befehl ist für Linux. Wenn Sie Mac oder Windows verwenden, achten Sie darauf, die richtige Binärdatei herunterzuladen. Rufen Sie die Release-Seite für Ihr Betriebssystem und Ihre Architektur auf und laden Sie die richtige Binärdatei herunter.

export VERSION=0.6.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox

Wir haben jetzt die Binärversion der Toolbox zur Verfügung. Im nächsten Schritt konfigurieren wir die Toolbox mit unseren Datenquellen und anderen Konfigurationen.

7. MCP-Toolbox für Datenbanken konfigurieren

Jetzt müssen wir unser BigQuery-Dataset und die Tools in der Datei tools.yaml definieren, die von der MCP-Toolbox für die Datenbank benötigt wird. Die Datei tools.yaml ist die Hauptmethode zur Konfiguration von Toolbox.

Erstellen Sie im selben Ordner (mcp-toolbox) eine Datei mit dem Namen tools.yaml mit dem folgenden Inhalt.

Sie können den Nano-Editor verwenden, der in Cloud Shell verfügbar ist. Der nano-Befehl lautet: nano tools.yaml.

Ersetzen Sie den Wert YOUR_PROJECT_ID durch Ihre Google Cloud-Projekt-ID.

sources:
 my-bq-source:
   kind: bigquery
   project: YOUR_PROJECT_ID

tools:
 search_release_notes_bq:
   kind: bigquery-sql
   source: my-bq-source
   statement: |
    SELECT
     product_name,description,published_at
    FROM
      `bigquery-public-data`.`google_cloud_release_notes`.`release_notes`
    WHERE
     DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
    GROUP BY product_name,description,published_at
    ORDER BY published_at DESC
   description: |
    Use this tool to get information on Google Cloud Release Notes.

toolsets:
 my_bq_toolset:
   - search_release_notes_bq

Hier eine kurze Zusammenfassung der Datei:

  1. Quellen repräsentieren die verschiedenen Datenquellen, mit denen ein Tool interagieren kann. Eine Quelle stellt eine Datenquelle dar, mit der ein Tool interagieren kann. Sie können Quellen im Abschnitt „sources“ der Datei „tools.yaml“ als Map definieren. Normalerweise enthält eine Quellkonfiguration alle Informationen, die für die Verbindung mit der Datenbank und die Interaktion mit ihr erforderlich sind. In unserem Fall haben wir eine BigQuery-Quelle my-bq-source definiert und Sie müssen Ihre Google Cloud-Projekt-ID angeben. Weitere Informationen finden Sie in der Referenz Quellen.
  2. Mit Tools werden Aktionen definiert, die ein Kundenservicemitarbeiter ausführen kann, z. B. das Lesen und Schreiben in einer Quelle. Ein Tool steht für eine Aktion, die ein Kundenservicemitarbeiter ausführen kann, z. B. das Ausführen einer SQL-Anweisung. Sie können Tools im Abschnitt „tools“ der Datei „tools.yaml“ als Map definieren. Normalerweise benötigt ein Tool eine Quelle, auf die es reagieren soll. In unserem Fall definieren wir ein einzelnes Tool search_release_notes_bq. Dies ist eine Referenz auf die BigQuery-Quelle my-bq-source, die wir im ersten Schritt definiert haben. Außerdem enthält sie die Anweisung, die von den KI-Agent-Clients verwendet wird. Weitere Informationen finden Sie in der Referenz zu Tools.
  3. Schließlich gibt es das Toolset, mit dem Sie Gruppen von Tools definieren können, die Sie gemeinsam laden möchten. Das kann nützlich sein, um verschiedene Gruppen basierend auf Kundenservicemitarbeiter oder Anwendung zu definieren. In unserem Fall haben wir eine Toolsatzdefinition, in der wir derzeit nur ein vorhandenes Tool search_release_notes_bq definiert haben. Sie können mehrere Tool-Sets mit einer Kombination verschiedener Tools haben.

Derzeit haben wir nur ein Tool definiert, das die Release Notes für die letzten 7 Tage entsprechend der Abfrage abrufen kann. Es sind aber auch verschiedene Kombinationen mit Parametern möglich.

Weitere Konfigurationsdetails ( Quelle, Tools) finden Sie in der BigQuery-Datenquellenkonfiguration in der MCP-Toolbox für Datenbanken.

8. MCP-Toolbox für Datenbanken testen

Wir haben die Toolbox mit der Datei tools.yaml im Ordner mcp-toolbox heruntergeladen und konfiguriert. Führen wir ihn zuerst lokal aus.

Führen Sie folgenden Befehl aus:

$ ./toolbox --tools-file="tools.yaml" --port 7000

Der MCP Toolbox-Server wird standardmäßig auf Port 5000 ausgeführt. In diesem Fall haben wir jedoch festgelegt, dass er auf Port 7000 ausgeführt werden soll.

Bei erfolgreicher Ausführung sollte der Server gestartet werden und eine Beispielausgabe wie die folgende angezeigt werden:

2025-04-25T16:05:45.603871+05:30 INFO "Initialized 1 sources."
2025-04-25T16:05:45.603943+05:30 INFO "Initialized 0 authServices."
2025-04-25T16:05:45.604092+05:30 INFO "Initialized 1 tools."
2025-04-25T16:05:45.604105+05:30 INFO "Initialized 2 toolsets."
2025-04-25T16:05:45.604706+05:30 INFO "Server ready to serve!"

Öffnen Sie einfach den Browser und rufen Sie die folgende URL auf:

http://127.0.0.1:7000

Dies sollte die folgende Ausgabe liefern:

2fdcdac326034d41.png

Fügen Sie in der Browser-URL am Ende Folgendes hinzu:

http://127.0.0.1:7000/api/toolset

Daraufhin sollten die aktuell konfigurierten Tools angezeigt werden. Eine Beispielausgabe ist unten zu sehen:

53d9c9a3bb1c8494.png

Der MCP-Server gemäß der Dokumentation ist jetzt unter der folgenden URL verfügbar:

http://127.0.0.1:7000/mcp/sse

Die Ausgabe sieht so aus:

event: endpoint
data: https://<some-url-pattern>/mcp?sessionId=bf6bfb66-36fe-48a4-8340-ac68008ee873

Testen wir im nächsten Abschnitt unseren MCP-Server mit MCP-Clients.

9. MCP-Server mit verschiedenen MCP-Clients testen

Testen wir unseren neuen MCP-Server mit einigen MCP-Clients.

MCP Inspector mit Toolbox

Das erste Tool, das Sie verwenden sollten, ist der MCP Inspector mit Toolbox. Dazu muss npx installiert sein. Sie werden von Cloud Shell aufgefordert, das Paket zu installieren. Bitte installieren Sie die App.

Sie müssen den folgenden Befehl eingeben:

npx @modelcontextprotocol/inspector

Dadurch wird der Server gestartet und Sie sollten eine Ausgabe ähnlich der folgenden sehen:

Starting MCP inspector...
⚙️ Proxy server listening on port 6277
🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀

Rufen Sie die Seite „MCP Inspector“ auf und konfigurieren Sie den Client zuerst so, dass er mit dem MCP-Server kommunizieren kann.

a819e93705367076.png

Wählen Sie als Transporttyp SSE aus und geben Sie die URL wie oben erwähnt ein, also http://127.0.0.1:7000/mcp/sse. Klicken Sie auf Connect. Wenn alles funktioniert, sollte der Status wie unten angezeigt verbunden sein:

e19278a9ea58dda1.png

Klicken Sie rechts auf List Tools, um die Liste der Tools aufzurufen.

faacf3e6d7ac2ebe.png

Klicken Sie dann auf das Tool search_release_notes_bq. Da wir keine Parameter übergeben müssen, klicken Sie einfach auf die Schaltfläche Run tool. Die Toolbox wird aufgerufen, die wiederum eine Verbindung zur BigQuery-Datenquelle herstellt und die Daten wie unten dargestellt abruft:

3db3e057763ecbef.png

VS Code im Agent-Modus mit CoPilot

In der offiziellen Dokumentation finden Sie eine Anleitung zum Herstellen einer Verbindung zur Toolbox für verschiedene Datenquellen und IDEs.

In diesem Abschnitt erfahren Sie, wie Sie MCP-Server in VS Code konfigurieren und verwenden. Die Funktion befindet sich in der Vorabversion. Die offizielle Dokumentation ist vollständig und findet sich hier.

Angenommen, Sie haben VS Code gestartet, öffnen Sie die Command Palette und geben Sie den folgenden Befehl ein:

4df742e8ef74b52.png

Wählen Sie als Nächstes HTTP sse aus, da wir die SSE-URL haben.

1423ab084bfa2b79.png

Es wird nach der SSE endpoint gefragt. Wir geben dieselbe an:

b155684784fb15b0.png

Als Nächstes werden einige weitere Details bestätigt. Ich habe mich entschieden, sie zu meinen Nutzereinstellungen hinzuzufügen. Dadurch wird die Datei settings.json geöffnet, in der ich die Konfiguration sehen kann:

901cd7c7d9850ea3.png

Ich klicke einfach auf Start, das ich oben sehe, oder ich kann es auch über den Befehl „Palette“ tun.

Der Status ändert sich in Running.

b62eb21d1fd01cc1.png

Jetzt können wir den CoPilot-Chatmodus starten und dann im Modus Agent #search_release_notes_bq eingeben, um anzugeben, dass wir dieses Tool verwenden möchten, und dann einen Beispielabfragetext wie unten gezeigt:

b6bbc7ec044887ce.png

10. Das wars!

Sie haben die MCP Toolbox für Datenbanken und ein BigQuery-Dataset für den Zugriff in MCP-Clients konfiguriert.

Referenzdokumente