Ce guide répond à : comment faire les mêmes étapes que 10-2 dans la console, en sachant où cliquer et quoi remplir ?
Un point honnête : la console ne sait pas construire une image à partir d'un dossier de votre poste. Une seule
commande reste donc nécessaire, gcloud builds submit (étape 3). Elle se lance depuis votre terminal, ou depuis
Cloud Shell (bouton >_ en haut de la console, rien à installer). Tout le reste se fait en clics.
Pas encore suivi en vrai sur ce projet : la facturation du projet de test est fermée. Les écrans sont ceux utilisés au projet 09 (12-1-3 et 12-1-6). Les libellés sont donnés en anglais et en français.
Étape 1 : les API
Projet des agents en haut de la console → 🔎 « API Library » (Bibliothèque d'API). Pour chacune : cherchez son nom, ouvrez-la, cliquez sur Enable (Activer) :
- Cloud Run Admin API ;
- Cloud Build API ;
- Artifact Registry API ;
- Identity and Access Management (IAM) API ;
- Google Sheets API ;
- Google Drive API ;
- Vertex AI API ;
- Agent Registry API (facultatif).
Attendu : chaque page affiche Manage (Gérer).
Étape 2 : les comptes de service
🔎 IAM & Admin → Service Accounts (Comptes de service) → + Create service account, trois fois :
| Nom | Description | Rôles (écran « Grant this service account access to project ») |
|---|---|---|
sheets-build-sa | Construction des images | Storage Object Viewer, Artifact Registry Writer, Logs Writer |
sheets-mcp-sa | Serveur MCP Google Sheets | Aucun → Done directement |
sheets-agent-sa | Agent Assistant Google Sheets | Vertex AI User, Logs Writer |
Étape 3 : les images (la seule commande)
Dans le dossier du projet 10, ou dans Cloud Shell après y avoir téléversé le dossier (menu ⋮ → Upload) :
P=aiml-gemini-ent-exp-0zga; R=europe-west1
gcloud artifacts repositories create sheets-mcp --repository-format=docker --location=$R --project=$P
for d in mcp_server:mcp-google agent:sheets-agent; do
gcloud builds submit ${d%%:*} --config=cloudbuild.yaml --substitutions=_IMAGE=$R-docker.pkg.dev/$P/sheets-mcp/${d#*:}:v1 \
--region=$R --project=$P --service-account=projects/$P/serviceAccounts/sheets-build-sa@$P.iam.gserviceaccount.com
doneAttendu : chaque construction se termine par SUCCESS. Les images sont visibles dans 🔎 Artifact Registry →
sheets-mcp.
Étape 4 : le serveur MCP
🔎 Cloud Run → Deploy container (Déployer un conteneur) → Service :
| Champ | Valeur |
|---|---|
| Container image URL | Select → sheets-mcp → mcp-google:v1 |
| Service name | sheets-mcp |
| Region | europe-west1 |
| Authentication | Require authentication (Exiger l'authentification) : le service est PRIVÉ |
| Container(s) → Variables & Secrets | PRODUIT = sheets ; OAUTH_CLIENT_IDS = l'ID du client OAuth ; ALLOWED_DOMAINS = acme.example |
| Security → Service account | sheets-mcp-sa |
| Resources | Memory 512 MiB ; Request timeout 120 |
| Revision scaling | Min 0, Max 5 |
→ Create. Attendu : l'URL https://sheets-mcp-433175138344.europe-west1.run.app, avec une coche verte.
Google Slides : refaites cet écran avec la même image, le nom slides-mcp et PRODUIT = slides (10-13).
L'adresse du serveur MCP est cette URL suivie de /mcp.
Étape 5 : l'agent A2A
Même écran : Deploy container :
| Champ | Valeur |
|---|---|
| Image | sheets-agent:v1 |
| Service name | sheets-agent |
| Authentication | Require authentication |
| Variables | MCP_URL = https://sheets-mcp-433175138344.europe-west1.run.app/mcp ; AGENT_URL = https://sheets-agent-433175138344.europe-west1.run.app ; AUTH_ID = acces-sheets ; MODEL = gemini-3.5-flash ; GOOGLE_CLOUD_PROJECT = l'ID du projet |
| Service account | sheets-agent-sa |
| Resources | Memory 1 GiB ; Request timeout 300 |
| Revision scaling | Min 0, Max 1 (les sessions sont en mémoire) |
Étape 6 : l'agent peut appeler le serveur MCP
🔎 Cloud Run → cochez sheets-mcp → Permissions (ou ouvrez le service → onglet Security) →
Add principal :
- New principals :
sheets-agent-sa@aiml-gemini-ent-exp-0zga.iam.gserviceaccount.com; - Role : Cloud Run Invoker (Demandeur Cloud Run).
→ Save.
Étape 7 : l'agent sur Agent Runtime (facultatif)
La console ne téléverse pas de code vers Agent Runtime. Utilisez ./scripts/deployer.sh agent-runtime (10-2),
puis retrouvez l'agent dans 🔎 Vertex AI → Agent Runtime (Agent Engine) : il s'appelle sheets-agent. Copiez
son Resource name.
Étape 8 : Agent Registry (facultatif)
🔎 Agent Registry → région europe-west1 → onglet MCP servers → Add MCP server :
- Display name
Google Sheets (MCP), une description ; - Tool specification : endpoint
https://sheets-mcp-…/mcp, et collez le contenu deterraform/toolspec.json. Générez-le d'abord avecpython3 scripts/gen_toolspec.py. Import tools ne marche pas ici, car le serveur est privé ; - Next → cochez les 17 outils → Save.
Étape 9 : vérifier
| Où | Ce qu'on doit voir |
|---|---|
Cloud Run → sheets-mcp → Security | Require authentication ; Cloud Run Invoker pour sheets-agent-sa (et, plus tard, pour le compte de l'app) |
Cloud Run → sheets-mcp → Logs | Au démarrage : Uvicorn running on http://0.0.0.0:8080 ; à chaque appel : {"event": "tool_call", "tool": …, "user": …} |
Cloud Run → sheets-agent → Logs | Application startup complete |
| Terminal | curl -s -o /dev/null -w '%{http_code}' -X POST https://sheets-mcp-…/mcp → 403 |
Ensuite : le branchement sur Gemini Enterprise, 10-5 et 10-6.