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:
- Wählen Sie ein bestimmtes BigQuery-Dataset aus dem Programm für öffentliche BigQuery-Datasets aus (Google Cloud-Releasenotizen).
- Richten Sie die MCP-Toolbox für Datenbanken ein, die eine Verbindung zum BigQuery-Dataset herstellt.
- Prüfen Sie verschiedene MCP-Clients und prüfen Sie, ob sie auf die MCP-Benutzeroberfläche des BigQuery-Datasets zugreifen können.
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
- Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
- Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
- 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“.
- 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
- 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
- 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:
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:
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.
Einfach gesagt:
- Die MCP Toolbox ist als Binär-Container-Image verfügbar oder Sie können sie aus dem Quellcode erstellen.
- 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.
- 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:
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.
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:
- 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. - 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-Quellemy-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. - 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:
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:
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.
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:
Klicken Sie rechts auf List Tools
, um die Liste der Tools aufzurufen.
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:
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:
Wählen Sie als Nächstes HTTP sse
aus, da wir die SSE-URL haben.
Es wird nach der SSE endpoint
gefragt. Wir geben dieselbe an:
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:
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
.
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:
10. Das wars!
Sie haben die MCP Toolbox für Datenbanken und ein BigQuery-Dataset für den Zugriff in MCP-Clients konfiguriert.