1. Introduction
Présentation
Dans cet atelier, vous allez créer et déployer un serveur MCP (Model Context Protocol). Les serveurs MCP sont utiles pour permettre aux LLM d'accéder à des outils et services externes. Vous le configurerez en tant que service sécurisé et prêt pour la production sur Cloud Run, accessible depuis plusieurs clients. Vous vous connecterez ensuite au serveur MCP distant depuis Gemini CLI.
Objectifs de l'atelier
Nous allons utiliser Genkit pour créer un serveur MCP zoo qui comporte deux outils : get_animals_by_species et get_animal_details. Genkit permet de créer rapidement des serveurs et des clients MCP avec Node.js.

Points abordés
- Déployez le serveur MCP sur Cloud Run.
- Sécurisez le point de terminaison de votre serveur en exigeant une authentification pour toutes les requêtes. Ainsi, seuls les clients et agents autorisés pourront communiquer avec lui.
- Se connecter au point de terminaison de votre serveur MCP sécurisé depuis Gemini CLI
2. Configuration du projet
- Si vous ne possédez pas encore de compte Google, vous devez en créer un.
- Utilisez un compte personnel au lieu d'un compte professionnel ou scolaire. Il est possible que des restrictions s'appliquent aux comptes professionnels et scolaires, ce qui vous empêche d'activer les API nécessaires pour cet atelier.
- Connectez-vous à la console Google Cloud.
- Activez la facturation dans la console Cloud.
- Cet atelier devrait vous coûter moins de 1 USD en ressources Cloud.
- Vous pouvez suivre les étapes à la fin de cet atelier pour supprimer les ressources et éviter ainsi des frais supplémentaires.
- Les nouveaux utilisateurs peuvent bénéficier d'un essai sans frais pour bénéficier d'un crédit de 300$.
- Créez un projet ou réutilisez-en un existant.
- Si vous voyez une erreur concernant le quota de projet, réutilisez un projet existant ou supprimez-en un pour en créer un.
3. Ouvrir l'éditeur Cloud Shell
- Cliquez sur ce lien pour accéder directement à l'éditeur Cloud Shell.
- Si vous êtes invité à autoriser l'accès à un moment donné aujourd'hui, cliquez sur Autoriser pour continuer.

- Si le terminal ne s'affiche pas en bas de l'écran, ouvrez-le :
- Cliquez sur Afficher.
- Cliquez sur Terminal
.
- Dans le terminal, définissez votre projet à l'aide de la commande suivante :
- Format :
gcloud config set project [PROJECT_ID] - Exemple :
gcloud config set project lab-project-id-example - Si vous ne vous souvenez pas de l'ID de votre projet :
- Vous pouvez lister tous vos ID de projet avec la commande suivante :
gcloud projects list | awk '/PROJECT_ID/{print $2}'

- Vous pouvez lister tous vos ID de projet avec la commande suivante :
- Format :
- Le message suivant doit s'afficher :
Si le messageUpdated property [core/project].
WARNINGs'affiche et que vous êtes invité àDo you want to continue (Y/n)?, cela signifie probablement que vous avez saisi l'ID de projet de manière incorrecte. Appuyez surn, puis surEnter, et réessayez d'exécuter la commandegcloud config set project.
4. Activer les API
Dans le terminal, activez les API :
gcloud services enable \
run.googleapis.com \
artifactregistry.googleapis.com \
cloudbuild.googleapis.com
Si vous êtes invité à autoriser l'accès, cliquez sur Autoriser pour continuer. 
L'exécution de cette commande peut prendre quelques minutes, mais un message semblable à celui qui suit devrait s'afficher pour vous indiquer que l'opération s'est correctement déroulée :
Operation "operations/acf.p2-73d90d00-47ee-447a-b600" finished successfully.
5. Préparer votre projet JavaScript
- Créez un dossier nommé
mcp-on-cloudrunpour stocker le code source du déploiement :mkdir mcp-on-cloudrun && cd mcp-on-cloudrun - Créez un projet Node.js avec l'outil
npmpour générer un fichierpackage.json: La commandenpm init es6 -ynpm initcrée un fichierpackage.jsonpour votre projet. - Installez les dépendances
@modelcontextprotocol/sdk,expressetzod:npm install @modelcontextprotocol/sdk express zod
6. Créer le serveur MCP du zoo
Pour fournir un contexte utile afin d'améliorer l'utilisation des LLM avec MCP, configurez un serveur MCP de zoo avec Genkit, un framework standard pour travailler avec le protocole MCP. Genkit permet de créer rapidement des serveurs et des clients MCP avec Node.js. Ce serveur MCP fournit des données sur les animaux d'un zoo fictif. Par souci de simplicité, nous stockons les données en mémoire. Pour un serveur MCP de production, vous souhaiterez probablement fournir des données provenant de sources telles que des bases de données ou des API.
- Exécutez la commande suivante pour ajouter Genkit en tant que dépendance dans le fichier
package.json: Cela ajoutera un fichiernpm install genkitpackage-lock.jsonà votre projet. - Exécutez la commande suivante pour ajouter la bibliothèque MCP Genkit AI dans le fichier
package.json:npm install @genkit-ai/mcp - Créez et ouvrez un fichier
index.jspour le code source du serveur MCP : La commandecloudshell edit index.jscloudshell editouvre le fichierindex.jsdans l'éditeur au-dessus du terminal. - Ajoutez le code source du serveur MCP Zoo suivant dans le fichier
index.js:import express from 'express'; import { genkit, z } from 'genkit'; import { createMcpServer } from '@genkit-ai/mcp'; import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js'; // Dictionary of animals at the zoo const ZOO_ANIMALS = [ { "species": "lion", "name": "Leo", "age": 7, "enclosure": "The Big Cat Plains", "trail": "Savannah Heights" }, { "species": "lion", "name": "Nala", "age": 6, "enclosure": "The Big Cat Plains", "trail": "Savannah Heights" }, { "species": "lion", "name": "Simba", "age": 3, "enclosure": "The Big Cat Plains", "trail": "Savannah Heights" }, { "species": "lion", "name": "King", "age": 8, "enclosure": "The Big Cat Plains", "trail": "Savannah Heights" }, { "species": "penguin", "name": "Waddles", "age": 2, "enclosure": "The Arctic Exhibit", "trail": "Polar Path" }, { "species": "penguin", "name": "Pip", "age": 4, "enclosure": "The Arctic Exhibit", "trail": "Polar Path" }, { "species": "penguin", "name": "Skipper", "age": 5, "enclosure": "The Arctic Exhibit", "trail": "Polar Path" }, { "species": "penguin", "name": "Chilly", "age": 3, "enclosure": "The Arctic Exhibit", "trail": "Polar Path" }, { "species": "penguin", "name": "Pingu", "age": 6, "enclosure": "The Arctic Exhibit", "trail": "Polar Path" }, { "species": "penguin", "name": "Noot", "age": 1, "enclosure": "The Arctic Exhibit", "trail": "Polar Path" }, { "species": "elephant", "name": "Ellie", "age": 15, "enclosure": "The Pachyderm Sanctuary", "trail": "Savannah Heights" }, { "species": "elephant", "name": "Peanut", "age": 12, "enclosure": "The Pachyderm Sanctuary", "trail": "Savannah Heights" }, { "species": "elephant", "name": "Dumbo", "age": 5, "enclosure": "The Pachyderm Sanctuary", "trail": "Savannah Heights" }, { "species": "elephant", "name": "Trunkers", "age": 10, "enclosure": "The Pachyderm Sanctuary", "trail": "Savannah Heights" }, { "species": "bear", "name": "Smokey", "age": 10, "enclosure": "The Grizzly Gulch", "trail": "Polar Path" }, { "species": "bear", "name": "Grizzly", "age": 8, "enclosure": "The Grizzly Gulch", "trail": "Polar Path" }, { "species": "bear", "name": "Barnaby", "age": 6, "enclosure": "The Grizzly Gulch", "trail": "Polar Path" }, { "species": "bear", "name": "Bruin", "age": 12, "enclosure": "The Grizzly Gulch", "trail": "Polar Path" }, { "species": "giraffe", "name": "Gerald", "age": 4, "enclosure": "The Tall Grass Plains", "trail": "Savannah Heights" }, { "species": "giraffe", "name": "Longneck", "age": 5, "enclosure": "The Tall Grass Plains", "trail": "Savannah Heights" }, { "species": "giraffe", "name": "Patches", "age": 3, "enclosure": "The Tall Grass Plains", "trail": "Savannah Heights" }, { "species": "giraffe", "name": "Stretch", "age": 6, "enclosure": "The Tall Grass Plains", "trail": "Savannah Heights" }, { "species": "antelope", "name": "Speedy", "age": 2, "enclosure": "The Tall Grass Plains", "trail": "Savannah Heights" }, { "species": "antelope", "name": "Dash", "age": 3, "enclosure": "The Tall Grass Plains", "trail": "Savannah Heights" }, { "species": "antelope", "name": "Gazelle", "age": 4, "enclosure": "The Tall Grass Plains", "trail": "Savannah Heights" }, { "species": "antelope", "name": "Swift", "age": 5, "enclosure": "The Tall Grass Plains", "trail": "Savannah Heights" }, { "species": "polar bear", "name": "Snowflake", "age": 7, "enclosure": "The Arctic Exhibit", "trail": "Polar Path" }, { "species": "polar bear", "name": "Blizzard", "age": 5, "enclosure": "The Arctic Exhibit", "trail": "Polar Path" }, { "species": "polar bear", "name": "Iceberg", "age": 9, "enclosure": "The Arctic Exhibit", "trail": "Polar Path" }, { "species": "walrus", "name": "Wally", "age": 10, "enclosure": "The Walrus Cove", "trail": "Polar Path" }, { "species": "walrus", "name": "Tusker", "age": 12, "enclosure": "The Walrus Cove", "trail": "Polar Path" }, { "species": "walrus", "name": "Moby", "age": 8, "enclosure": "The Walrus Cove", "trail": "Polar Path" }, { "species": "walrus", "name": "Flippers", "age": 9, "enclosure": "The Walrus Cove", "trail": "Polar Path" } ]; // Initialize Genkit const ai = genkit({}); // Define tools using Genkit ai.defineTool( { name: 'get_animals_by_species', description: "Retrieves all animals of a specific species from the zoo. Can also be used to collect the base data for aggregate queries of animals of a specific species - like counting the number of penguins or finding the oldest lion.", inputSchema: z.object({ species: z.string() }), }, async ({ species }) => { console.log(`>>> 🛠️ Tool: 'get_animals_by_species' called for '${species}'`); const animals = ZOO_ANIMALS.filter(animal => animal.species.toLowerCase() === species.toLowerCase()); return animals; } ); ai.defineTool( { name: 'get_animal_details', description: "Retrieves the details of a specific animal by its name.", inputSchema: z.object({ name: z.string() }), }, async ({ name }) => { console.log(`>>> 🛠️ Tool: 'get_animal_details' called for '${name}'`); const animal = ZOO_ANIMALS.find(a => a.name.toLowerCase() === name.toLowerCase()); return animal; } ); // Create Genkit MCP server wrapper const mcpWrapper = createMcpServer(ai, { name: 'zoo-animal-server', version: '1.0.0', }); // HTTP server mode const app = express(); app.use(express.json()); // Initialize Genkit MCP server once const mcpServerPromise = mcpWrapper.setup().then(() => mcpWrapper.server); app.post('/mcp', async (req, res) => { console.log('/mcp Received:', req.body); console.log('Using HTTP transport mode.'); const server = await mcpServerPromise; const transport = new StreamableHTTPServerTransport({ sessionIdGenerator: undefined, }); if (!server) { console.error('MCP Server not initialized correctly.'); res.sendStatus(500); return; } await server.connect(transport); await transport.handleRequest(req, res, req.body); res.on('close', () => { console.log('Request closed'); transport.close(); }); }); app.get('/mcp', async (req, res) => { console.log('Received GET MCP request'); res.sendStatus(405); }); app.delete('/mcp', async (req, res) => { console.log('Received DELETE MCP request'); res.sendStatus(405); }); // Start the server const PORT = process.env.PORT || 8080; app.listen(PORT, () => { console.log(`Zoo Animal MCP server listening on port ${PORT}`); });
Votre code est terminé ! Il est temps de déployer le serveur MCP sur Cloud Run.
7. Déployer sur Cloud Run
Déployez maintenant un serveur MCP sur Cloud Run directement à partir du code source.
- Créez un compte de service nommé
mcp-server-sa:gcloud iam service-accounts create mcp-server-sa --display-name="MCP Server Service Account" - Exécutez la commande
gcloudpour déployer l'application sur Cloud Run. Utilisez l'optiongcloud run deploy zoo-mcp-server \ --service-account=mcp-server-sa@$GOOGLE_CLOUD_PROJECT.iam.gserviceaccount.com \ --no-allow-unauthenticated \ --region=europe-west1 \ --source=. \ --labels=dev-tutorial=codelab-mcp--no-allow-unauthenticatedpour exiger une authentification. C'est important pour des raisons de sécurité. Si vous n'exigez pas d'authentification, n'importe qui peut appeler votre serveur MCP et potentiellement endommager votre système. - Confirmez la création d'un dépôt Artifact Registry. Comme il s'agit de votre premier déploiement sur Cloud Run à partir du code source, le message suivant s'affiche :
SaisissezDeploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in region [europe-west1] will be created. Do you want to continue (Y/n)?
Yet appuyez surEnter. Un dépôt Artifact Registry sera alors créé pour votre déploiement. Cela est nécessaire pour stocker le conteneur Docker du serveur MCP pour le service Cloud Run. - Au bout de quelques minutes, un message semblable à celui-ci s'affiche :
Service [zoo-mcp-server] revision [zoo-mcp-server-12345-abc] has been deployed and is serving 100 percent of traffic.
Vous avez déployé votre serveur MCP. Vous pouvez maintenant l'utiliser.
8. Ajouter le serveur MCP distant à Gemini CLI
Maintenant que vous avez déployé un serveur MCP distant, vous pouvez vous y connecter à l'aide de différentes applications, comme Google Code Assist ou Gemini CLI. Dans cette section, nous allons établir une connexion à votre nouveau serveur MCP distant à l'aide de la CLI Gemini.
- Autorisez votre compte utilisateur à appeler le serveur MCP distant.
gcloud projects add-iam-policy-binding $GOOGLE_CLOUD_PROJECT \ --member=user:$(gcloud config get-value account) \ --role='roles/run.invoker' - Enregistrez vos identifiants Google Cloud et le numéro de votre projet dans des variables d'environnement à utiliser dans le fichier de paramètres Gemini :
export PROJECT_NUMBER=$(gcloud projects describe $GOOGLE_CLOUD_PROJECT --format="value(projectNumber)") export ID_TOKEN=$(gcloud auth print-identity-token) - Ouvrir le fichier de paramètres de Gemini CLI
cloudshell edit ~/.gemini/settings.json - Remplacer votre fichier de paramètres Gemini CLI pour ajouter le serveur MCP Cloud Run
{ "ide": { "hasSeenNudge": true }, "mcpServers": { "zoo-remote": { "httpUrl": "https://zoo-mcp-server-$PROJECT_NUMBER.europe-west1.run.app/mcp", "headers": { "Authorization": "Bearer $ID_TOKEN" } } }, "security": { "auth": { "selectedType": "cloud-shell" } } }
- Démarrer la Gemini CLI dans Cloud Shell
Vous devrez peut-être appuyer surgeminiEnterpour accepter certains paramètres par défaut.
- Demander à Gemini de lister les outils MCP disponibles dans son contexte
/mcp - Demandez à Gemini de rechercher un animal dans le zoo
Gemini CLI devrait reconnaître la nécessité d'utiliser le serveur MCPWhere can I find penguins?zoo-remoteet vous demander si vous souhaitez autoriser l'exécution de MCP. - Utilisez la flèche vers le bas, puis appuyez sur
Enterpour sélectionner.Yes, always allow all tools from server "zoo-remote"

La réponse affichée doit être correcte et être accompagnée d'un encadré indiquant que le serveur MCP a été utilisé.

Vous avez réussi ! Vous avez déployé un serveur MCP distant sur Cloud Run et l'avez testé à l'aide de Gemini CLI.
Pour terminer votre session, saisissez /quit, puis appuyez sur Enter pour quitter Gemini CLI.
Débogage
Si vous voyez une erreur semblable à celle-ci :
🔍 Attempting OAuth discovery for 'zoo-remote'... ❌ 'zoo-remote' requires authentication but no OAuth configuration found Error connecting to MCP server 'zoo-remote': MCP server 'zoo-remote' requires authentication. Please configure OAuth or check server settings.
Il est probable que le jeton d'identité ait expiré et qu'il soit nécessaire de définir à nouveau ID_TOKEN.
- Saisissez
/quit, puis appuyez surEnterpour quitter Gemini CLI. - Définir votre projet dans votre terminal
gcloud config set project [PROJECT_ID] - Exécutez à nouveau la commande d'identifiants Google Cloud pour obtenir un nouveau
ID_TOKEN, car le vôtre a peut-être expiré.export PROJECT_NUMBER=$(gcloud projects describe $GOOGLE_CLOUD_PROJECT --format="value(projectNumber)") export ID_TOKEN=$(gcloud auth print-identity-token)
9. (Facultatif) Vérifier les appels d'outils dans les journaux du serveur
Pour vérifier que votre serveur MCP Cloud Run a été appelé, consultez les journaux de service.
gcloud run services logs read zoo-mcp-server --region europe-west1 --limit=5
Vous devriez voir un journal de sortie confirmant qu'un appel d'outil a été effectué. 🛠️
2025-08-05 19:50:31 INFO: 169.254.169.126:39444 - "POST /mcp/ HTTP/1.1" 200 OK 2025-08-05 19:50:31 [INFO]: Processing request of type CallToolRequest 2025-08-05 19:50:31 [INFO]: >>> 🛠️ Tool: 'get_animals_by_species' called for 'penguin'
10. (Facultatif) Ajouter une invite MCP au serveur
Un prompt MCP peut accélérer votre workflow pour les requêtes que vous exécutez souvent en créant un raccourci pour un prompt plus long.
Gemini CLI convertit automatiquement les prompts MCP en commandes slash personnalisées. Vous pouvez ainsi appeler un prompt MCP en saisissant /prompt_name, où prompt_name correspond au nom de votre prompt MCP.
Créez un prompt MCP pour trouver rapidement un animal dans le zoo en saisissant /find animal dans Gemini CLI.
- Ajoutez ce code à votre fichier
index.jsau-dessus de la ligne// Create Genkit MCP server wrapper:ai.definePrompt( { name: 'find', description: 'Find which exhibit and trail a specific animal is located.', inputSchema: z.object({ animal: z.string() }), }, async ({ animal }) => { console.log(`>>> 💬 Prompt: 'find' called'`); return { messages: [ { role: 'user', content: [ { text: `Please find the exhibit and trail information for ${animal} in the zoo. Respond with '[animal] can be found in the [exhibit] on the [trail].' Example: Penguins can be found in The Arctic Exhibit on the Polar Path.` } ] } ] }; } ); - Redéployer votre application sur Cloud Run
gcloud run deploy zoo-mcp-server \ --service-account=mcp-server-sa@$GOOGLE_CLOUD_PROJECT.iam.gserviceaccount.com \ --no-allow-unauthenticated \ --region=europe-west1 \ --source=. \ --labels=dev-tutorial=codelab-mcp - Actualiser votre ID_TOKEN pour votre serveur MCP distant
export ID_TOKEN=$(gcloud auth print-identity-token) - Une fois la nouvelle version de votre application déployée, démarrez Gemini CLI.
gemini - Dans le prompt, utilisez la nouvelle commande personnalisée que vous avez créée :
/find --animal="lions"
Vous constaterez que Gemini CLI appelle l'outil get_animals_by_species et met en forme la réponse conformément aux instructions du prompt MCP.
╭───────────────────────────╮
│ > /find --animal="lion" │
╰───────────────────────────╯
╭───────────────────────────────────────────────────────────────────────────────────────────────────╮
│ ✔ get_animals_by_species (zoo-remote MCP Server) get_animals_by_species (zoo-remote MCP Server) │
│ │
│ [{"species":"lion","name":"Leo","age":7,"enclosure":"The Big Cat │
│ Plains","trail":"Savannah │
│ Heights"},{"species":"lion","name":"Nala","age":6,"enclosure":"The Big Cat │
│ Plains","trail":"Savannah │
│ Heights"},{"species":"lion","name":"Simba","age":3,"enclosure":"The Big Cat │
│ Plains","trail":"Savannah │
│ Heights"},{"species":"lion","name":"King","age":8,"enclosure":"The Big Cat │
│ Plains","trail":"Savannah Heights"}] │
╰───────────────────────────────────────────────────────────────────────────────────────────────────╯
✦ Lions can be found in The Big Cat Plains on the Savannah Heights.
11. (Facultatif) Utiliser Gemini Flash Lite pour obtenir des réponses plus rapides
Gemini CLI vous permet de choisir le modèle que vous utilisez.
- Gemini 2.5 Pro est le modèle de réflexion de pointe de Google. Il est capable de résoudre des problèmes complexes en code, en mathématiques et dans les domaines des sciences, des technologies, de l'ingénierie et des mathématiques (STEM, pour Science, Technology, Engineering and Mathematics). Il peut également analyser de grands ensembles de données, des codebases et des documents à l'aide d'un contexte long.
- Gemini 2.5 Flash est le meilleur modèle de Google en termes de rapport prix/performances. Il offre des fonctionnalités complètes. 2.5 Flash est idéal pour les tâches de traitement à grande échelle, à faible latence et à volume élevé qui nécessitent de la réflexion, ainsi que pour les cas d'utilisation agentiques.
- Gemini 2.5 Flash Lite est le modèle Flash le plus rapide de Google, optimisé pour la rentabilité et le débit élevé.
Étant donné que les requêtes liées à la recherche d'animaux du zoo ne nécessitent pas de réflexion ni de raisonnement, essayez d'accélérer les choses en utilisant un modèle plus rapide.
Créez un prompt MCP pour trouver rapidement un animal dans le zoo en saisissant /find animal dans Gemini CLI.
- Une fois la nouvelle version de votre application déployée, démarrez Gemini CLI.
gemini --model=gemini-2.5-flash-lite - Dans le prompt, utilisez la nouvelle commande personnalisée que vous avez créée :
/find --animal="lions"
Vous devriez toujours constater que Gemini CLI appelle l'outil get_animals_by_species et met en forme la réponse conformément aux instructions du prompt MCP, mais la réponse devrait s'afficher beaucoup plus rapidement.
╭───────────────────────────╮
│ > /find --animal="lion" │
╰───────────────────────────╯
╭───────────────────────────────────────────────────────────────────────────────────────────────────╮
│ ✔ get_animals_by_species (zoo-remote MCP Server) get_animals_by_species (zoo-remote MCP Server) │
│ │
│ [{"species":"lion","name":"Leo","age":7,"enclosure":"The Big Cat │
│ Plains","trail":"Savannah │
│ Heights"},{"species":"lion","name":"Nala","age":6,"enclosure":"The Big Cat │
│ Plains","trail":"Savannah │
│ Heights"},{"species":"lion","name":"Simba","age":3,"enclosure":"The Big Cat │
│ Plains","trail":"Savannah │
│ Heights"},{"species":"lion","name":"King","age":8,"enclosure":"The Big Cat │
│ Plains","trail":"Savannah Heights"}] │
╰───────────────────────────────────────────────────────────────────────────────────────────────────╯
✦ Lions can be found in The Big Cat Plains on the Savannah Heights.
Objectifs ambitieux pour vous tester
Pour un défi supplémentaire, essayez de suivre les mêmes étapes pour créer une requête permettant d'obtenir des anecdotes sur des espèces animales spécifiques du zoo.
Pour aller encore plus loin et tester ce que vous avez appris, trouvez une idée d'outil que vous utiliseriez fréquemment et déployez un deuxième serveur MCP distant. Ajoutez-le ensuite à vos paramètres Gemini CLI pour voir s'il fonctionne.
Débogage
Si vous voyez une erreur semblable à celle-ci :
✕ Unknown command: /find --animal="lions"
Essayez d'exécuter /mcp. Si la réponse est zoo-remote - Disconnected, vous devrez peut-être redéployer ou exécuter à nouveau les commandes suivantes :
gcloud projects add-iam-policy-binding $GOOGLE_CLOUD_PROJECT \
--member=user:$(gcloud config get-value account) \
--role='roles/run.invoker'
export PROJECT_NUMBER=$(gcloud projects describe $GOOGLE_CLOUD_PROJECT --format="value(projectNumber)")
export ID_TOKEN=$(gcloud auth print-identity-token)
12. Conclusion
Félicitations ! Vous avez bien déployé un serveur MCP distant sécurisé et vous vous y êtes connecté.
Passer à l'atelier suivant
Cet atelier est le premier d'une série en trois parties. Dans le deuxième atelier, vous utiliserez le serveur MCP que vous avez créé avec un agent ADK.
Utiliser un serveur MCP sur Cloud Run avec un agent ADK
(Facultatif) Effectuer un nettoyage
Si vous ne passez pas à l'atelier suivant et que vous souhaitez nettoyer ce que vous avez créé, vous pouvez supprimer votre projet Cloud pour éviter des frais supplémentaires.
Bien que Cloud Run ne facture pas lorsque le service n'est pas utilisé, il se peut que des frais vous soient facturés pour le stockage de l'image de conteneur dans Artifact Registry. La suppression de votre projet Cloud arrête la facturation de toutes les ressources utilisées dans ce projet.
Si vous le souhaitez, supprimez le projet :
gcloud projects delete $GOOGLE_CLOUD_PROJECT
Vous pouvez également supprimer les ressources inutiles de votre disque Cloud Shell. Vous pouvez :
- Supprimez le répertoire du projet de l'atelier de programmation :
rm -rf ~/mcp-on-cloudrun - Avertissement ! Cette prochaine action est irréversible. Si vous souhaitez supprimer tous les éléments de votre Cloud Shell pour libérer de l'espace, vous pouvez supprimer l'intégralité de votre répertoire personnel. Veillez à ce que tout ce que vous souhaitez conserver soit enregistré ailleurs.
sudo rm -rf $HOME