1. Introduction
Dans cet atelier de programmation, vous allez utiliser la boîte à outils MCP pour les bases de données pour mettre à disposition vos ensembles de données BigQuery.
Au cours de l'atelier de programmation, vous allez suivre une approche par étapes, comme suit:
- Identifiez un ensemble de données BigQuery spécifique ("Notes de version Google Cloud") du programme d'ensembles de données BigQuery publics.
- Configurez la boîte à outils MCP pour les bases de données, qui se connecte à l'ensemble de données BigQuery.
- Explorez différents clients MCP et vérifiez qu'ils peuvent accéder à l'interface MCP de l'ensemble de données BigQuery.
Objectifs de l'atelier
- Configurez MCP Toolbox for Databases pour exposer les notes de version Google Cloud, un ensemble de données BigQuery public, en tant qu'interface MCP à d'autres clients MCP (IDE, outils, etc.).
Points abordés
- Explorez les ensembles de données publics BigQuery et choisissez-en un.
- Configurez la boîte à outils MCP pour les bases de données pour l'ensemble de données public BigQuery que vous souhaitez mettre à la disposition des clients MCP.
- Testez la configuration MCP Toolbox for Databases dans l'environnement local.
Prérequis
- Navigateur Web Chrome
- Un environnement de développement Python local
- Un environnement Node.js local avec npm version 5.2.0 ou ultérieure.
2. Avant de commencer
Créer un projet
- Dans la console Google Cloud, sur la page du sélecteur de projet, sélectionnez ou créez un projet Google Cloud.
- Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier si la facturation est activée sur un projet .
- Vous allez utiliser Cloud Shell, un environnement de ligne de commande exécuté dans Google Cloud et fourni avec bq. Cliquez sur "Activer Cloud Shell" en haut de la console Google Cloud.
- Une fois connecté à Cloud Shell, vérifiez que vous êtes déjà authentifié et que le projet est défini avec votre ID de projet à l'aide de la commande suivante:
gcloud auth list
- Exécutez la commande suivante dans Cloud Shell pour vérifier que la commande gcloud connaît votre projet.
gcloud config list project
- Si votre projet n'est pas défini, utilisez la commande suivante pour le définir :
gcloud config set project <YOUR_PROJECT_ID>
Consultez la documentation pour connaître les commandes gcloud ainsi que leur utilisation.
3. Ensemble de données des notes de version Google et clients MCP
Commençons par examiner les notes de version de Google Cloud, qui sont régulièrement mises à jour sur la page Web officielle des notes de version de Google Cloud, dont une capture d'écran est présentée ci-dessous:
Vous pouvez vous abonner à l'URL du flux, mais nous pourrions simplement demander à notre agent dans le chat des notes de version. Vous pouvez par exemple formuler une requête simple comme "M'informer des notes de version de Google Cloud".
Voyons l'objectif final. Voici une capture d'écran de mon Visual Studio Code exécutant CoPilot. Je suis en mode Agent et je demande des informations sur les notes de version de Google Cloud:
Voyons comment procéder et découvrons comment exposer vos ensembles de données BigQuery dans différents clients MCP de votre choix.
4. MCP Toolbox for Databases
MCP Toolbox for Databases est un serveur MCP Open Source pour les bases de données. Il a été conçu pour répondre aux exigences de qualité de production et d'entreprise. Il vous permet de développer des outils plus facilement, plus rapidement et de manière plus sécurisée en gérant les complexités telles que le pool de connexions, l'authentification, etc.
La boîte à outils vous aide à créer des outils d'IA générative qui permettent à vos agents d'accéder aux données de votre base de données. Outils fournit:
- Développement simplifié: intégrez des outils à votre agent en moins de 10 lignes de code, réutilisez des outils entre plusieurs agents ou frameworks, et déployez plus facilement de nouvelles versions d'outils.
- Meilleures performances: bonnes pratiques telles que le regroupement de connexions, l'authentification, etc.
- Sécurité renforcée: authentification intégrée pour un accès plus sécurisé à vos données
- Observabilité de bout en bout: métriques et traçage prêts à l'emploi, avec prise en charge intégrée d'OpenTelemetry.
- Toolbox permet de connecter facilement des bases de données à n'importe quel assistant IA compatible avec MCP, même ceux qui se trouvent dans votre IDE.
La boîte à outils se situe entre le framework d'orchestration de votre application et votre base de données. Elle fournit un plan de contrôle permettant de modifier, de distribuer ou d'invoquer des outils. Il simplifie la gestion de vos outils en vous fournissant un emplacement centralisé pour les stocker et les mettre à jour. Vous pouvez ainsi les partager entre les agents et les applications, et les mettre à jour sans avoir à redéployer votre application.
En résumé:
- MCP Toolbox est disponible en tant qu'image de conteneur ou en tant que binaire. Vous pouvez également la créer à partir de la source.
- Il expose un ensemble d'outils que vous configurez via un fichier tools.yaml. Vous pouvez considérer que les outils se connectent à vos sources de données. Vous pouvez voir les différentes sources de données compatibles : AlloyDB, BigQuery, etc.
- Étant donné que cette boîte à outils est désormais compatible avec MCP, vous disposez automatiquement d'un point de terminaison de serveur MCP qui peut ensuite être utilisé par les agents (IDE) ou que vous pouvez utiliser lorsque vous développez vos applications d'agent à l'aide de différents frameworks, tels que le kit de développement d'agents (ADK).
Cet article de blog se concentrera sur les points ci-dessous:
En résumé, nous allons créer une configuration dans la boîte à outils MCP pour les bases de données qui sait se connecter à notre ensemble de données BigQuery. Nous utiliserons ensuite un IDE ou tout autre IDE d'agent (clients MCP) qui communiquera avec le point de terminaison MCP Toolbox et nous permettra d'envoyer des requêtes naturelles pour poser des questions sur notre ensemble de données. Considérez-le comme un outil que vous configurez, qui sait communiquer avec votre ensemble de données BigQuery et qui exécute des requêtes.
5. Ensemble de données BigQuery pour les notes de version de Google Cloud
Le Programme d'ensembles de données publics Google Cloud met à votre disposition une gamme d'ensembles de données pour vos applications. La base de données des notes de version Google Cloud en est un exemple. Cet ensemble de données vous fournit les mêmes informations que la page Web officielle des notes de version de Google Cloud. Il est disponible en tant qu'ensemble de données publics pouvant être interrogés.
Pour tester l'ensemble de données, je le valide simplement en exécutant une requête simple, comme indiqué ci-dessous:
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
Je reçois alors une liste des enregistrements du jeu de données "Notes de version" publiés au cours des sept derniers jours.
Remplacez-le par un autre ensemble de données de votre choix, ainsi que par les requêtes et paramètres de votre choix. Il ne nous reste plus qu'à configurer cette fonctionnalité en tant que source de données et outil dans MCP Toolbox for Databases. Voyons comment procéder.
6. Installer MCP Toolbox for Databases
Ouvrez un terminal sur votre machine locale et créez un dossier nommé mcp-toolbox
.
mkdir mcp-toolbox
Accédez au dossier mcp-toolbox
à l'aide de la commande ci-dessous:
cd mcp-toolbox
Installez la version binaire de la MCP Toolbox for Databases à l'aide du script ci-dessous. La commande ci-dessous est destinée à Linux. Si vous utilisez Mac ou Windows, assurez-vous de télécharger le binaire approprié. Consultez la page des versions pour votre système d'exploitation et votre architecture, puis téléchargez le binaire approprié.
export VERSION=0.6.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox
chmod +x toolbox
La version binaire de la boîte à outils est maintenant prête à être utilisée. L'étape suivante consiste à configurer la boîte à outils avec nos sources de données et d'autres configurations.
7. Configurer la MCP Toolbox for Databases
Nous devons maintenant définir notre ensemble de données et nos outils BigQuery dans le fichier tools.yaml
, qui est nécessaire à la boîte à outils MCP pour la base de données. Le fichier tools.yaml
est le principal moyen de configurer Toolbox.
Créez un fichier nommé tools.yaml
dans le même dossier (mcp-toolbox
), dont le contenu est indiqué ci-dessous.
Vous pouvez utiliser l'éditeur nano disponible dans Cloud Shell. La commande nano est la suivante : nano tools.yaml
.
N'oubliez pas de remplacer la valeur YOUR_PROJECT_ID
par l'ID de votre projet Google Cloud.
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
Voyons brièvement le fichier:
- Les sources représentent les différentes sources de données avec lesquelles un outil peut interagir. Une source représente une source de données avec laquelle un outil peut interagir. Vous pouvez définir des sources en tant que mappage dans la section "sources" de votre fichier tools.yaml. En règle générale, une configuration de source contient toutes les informations nécessaires pour se connecter à la base de données et interagir avec elle. Dans notre cas, nous avons défini une source BigQuery
my-bq-source
et vous devez fournir l'ID de votre projet Google Cloud. Pour en savoir plus, consultez la documentation de référence sur les sources. - Les outils définissent les actions qu'un agent peut effectuer, comme lire et écrire dans une source. Un outil représente une action que votre agent peut effectuer, comme exécuter une instruction SQL. Vous pouvez définir les outils en tant que carte dans la section "tools" de votre fichier tools.yaml. En règle générale, un outil nécessite une source sur laquelle agir. Dans notre cas, nous définissons un seul outil :
search_release_notes_bq
. Il fait référence à la source BigQuerymy-bq-source
que nous avons définie à l'étape 1. Il contient également l'énoncé et l'instruction qui seront utilisés par les clients de l'agent d'IA. Pour en savoir plus, consultez la documentation de référence sur les outils. - Enfin, l'ensemble d'outils vous permet de définir des groupes d'outils que vous souhaitez pouvoir charger ensemble. Cela peut être utile pour définir différents groupes en fonction de l'agent ou de l'application. Dans notre cas, nous avons une définition d'ensemble d'outils dans laquelle nous n'avons actuellement défini qu'un seul outil existant,
search_release_notes_bq
. Vous pouvez avoir plusieurs ensembles d'outils, qui combinent différents outils.
Actuellement, nous n'avons défini qu'un seul outil qui récupère les notes de version des sept derniers jours, conformément à la requête. Vous pouvez également utiliser différentes combinaisons de paramètres.
Pour en savoir plus sur la configuration ( Source, Outils), consultez la configuration de la source de données BigQuery dans la boîte à outils MCP pour les bases de données.
8. Tester la MCP Toolbox for Databases
Nous avons téléchargé et configuré la boîte à outils avec le fichier tools.yaml
dans le dossier mcp-toolbox
. Commençons par l'exécuter en local.
Exécutez la commande suivante :
$ ./toolbox --tools-file="tools.yaml" --port 7000
Le serveur MCP Toolbox s'exécute par défaut sur le port 5000, mais dans ce cas, nous l'avons configuré pour qu'il s'exécute sur le port 7000.
Si l'exécution réussit, le serveur doit démarrer, avec un exemple de sortie semblable à celui-ci:
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!"
Il vous suffit de lancer le navigateur et d'accéder à l'URL suivante:
http://127.0.0.1:7000
Vous devriez obtenir le résultat suivant:
Dans l'URL du navigateur, ajoutez ce qui suit à la fin de l'URL:
http://127.0.0.1:7000/api/toolset
Les outils actuellement configurés devraient s'afficher. Voici un exemple de sortie:
Le serveur MCP, conformément à la documentation, est désormais disponible à l'URL suivante:
http://127.0.0.1:7000/mcp/sse
Le résultat est indiqué ci-dessous:
event: endpoint
data: https://<some-url-pattern>/mcp?sessionId=bf6bfb66-36fe-48a4-8340-ac68008ee873
Dans la section suivante, testons notre serveur MCP avec des clients MCP.
9. Tester le serveur MCP avec différents clients MCP
Testons notre nouveau serveur MCP avec quelques clients MCP.
MCP Inspector avec la boîte à outils
Le premier outil à utiliser est l'inspecteur MCP avec la boîte à outils. Pour ce faire, vous devez installer npx
. Cloud Shell vous invite à installer le package. N'hésitez pas à l'installer.
Vous devez exécuter la commande suivante:
npx @modelcontextprotocol/inspector
Le serveur sera lancé et un résultat semblable à celui-ci devrait s'afficher:
Starting MCP inspector...
⚙️ Proxy server listening on port 6277
🔍 MCP Inspector is up and running at http://127.0.0.1:6274 🚀
Accédez à la page de l'inspecteur MCP comme indiqué. La première chose à faire est de configurer ce client pour qu'il communique avec le serveur MCP.
Sélectionnez SSE
comme type de transport, puis indiquez URL
comme indiqué précédemment, c'est-à-dire http://127.0.0.1:7000/mcp/sse
. Cliquez sur Connect
. Si tout se passe bien, l'état "Connecté" s'affiche, comme indiqué ci-dessous:
Sur la droite, vous pouvez désormais afficher la liste des outils en cliquant sur List Tools
.
Cliquez ensuite sur l'outil search_release_notes_bq
. Étant donné que nous n'avons aucun paramètre à transmettre, cliquez simplement sur le bouton Run tool
. Vous devriez voir l'outil de boîte à outils appelé, qui se connecte à la source de données BigQuery et récupère les données, comme indiqué ci-dessous:
VS Code en mode Agent avec CoPilot
Pour savoir comment vous connecter à la boîte à outils pour différentes sources de données et IDE, consultez la documentation officielle.
Dans cette section, nous allons voir comment configurer et utiliser des serveurs MCP dans VS Code. Notez qu'il est disponible en version Preview. La documentation officielle est exhaustive et disponible sur cette page.
En supposant que vous ayez lancé VS Code, lancez Command Palette
et exécutez la commande suivante:
Sélectionnez ensuite Command(stdio)
, car nous allons exécuter une commande locale qui démarre la boîte à outils MCP.
La commande avec les paramètres facultatifs vous sera demandée. Vous devez fournir l'intégralité de la commande de la boîte à outils avec les paramètres. Par exemple :
FULL_PATH_TO_TOOLBOX –tools-file=FULL_PATH_TO_TOOLBOX/tools.yaml --port=7000 —-stdio
Notez que vous devrez remplacer FULL_PATH_TO_TOOLBOX
par celui qui convient à votre système et où vous avez installé l'exécutable toolbox
.
Ensuite, il confirmera quelques autres informations. Nommez-le bq-release-notes-server
, puis choisissez de l'ajouter à mes paramètres utilisateur. Le fichier settings.json
s'ouvre alors, et vous pouvez consulter la configuration. Voici mon exemple de configuration:
Il vous suffit de cliquer sur Start
pour voir que l'état passe à Running
.
Nous pouvons maintenant lancer le mode Chat de CoPilot, puis, en mode Agent
, saisir une requête telle que "Rechercher les notes de version de Google Cloud Platform". Il déterminera l'outil le plus adapté à ce cas et, espérons-le, sélectionnera l'outil que nous avons configuré. Autorisez-le à appeler l'outil dans la session et à afficher la sortie (un exemple d'exécution est présenté ci-dessous).
10. Félicitations
Félicitations ! Vous avez bien configuré la boîte à outils MCP pour les bases de données et un ensemble de données BigQuery pour l'accès dans les clients MCP.