Formation

Lab ADK : un agent branché sur vos serveurs MCP (SQLite et fichiers)

Écrire deux serveurs MCP en Python (une base SQLite de commandes et un dossier de documents en lecture seule), les brancher sur un agent ADK avec McpToolset et filtrer les outils exposés au modèle.

Avancé 4 leçons 3h
Commencer la formation
Progression 0% · 0/4

Votre agent doit répondre à « quel client pro a le plus dépensé en septembre ? » et à « ce client peut-il retourner sa commande ? ». La première question demande la base de commandes, la seconde la politique de retours rangée dans un dossier de documents. Plutôt que de coder ces accès dans l'agent, vous les exposez via MCP (Model Context Protocol, un protocole ouvert qui standardise la façon dont une application d'IA découvre et appelle des outils fournis par un autre programme, appelé serveur MCP).

Pour qui ?

  • Vous avez déjà construit un agent ADK avec des outils fonctions.
  • Vous lisez du SQL simple (SELECT, JOIN, GROUP BY).
  • Niveau avancé : on parle sous-processus, asynchrone et défense en profondeur.

Ce que vous allez construire

flowchart LR
  U["Utilisateur"] --> A["Agent ADK analyste_commandes"]
  A --> T1["McpToolset commandes (filtré)"]
  A --> T2["McpToolset fichiers (préfixe docs_)"]
  T1 -->|"stdio"| S1["commandes_server.py"]
  T2 -->|"stdio"| S2["fichiers_server.py"]
  S1 --> DB[("commandes.db (lecture seule)")]
  S2 --> D["docs/ (lecture seule)"]
  1. commandes_server.py : un serveur MCP qui expose lister_tables, executer_select (SELECT uniquement, connexion SQLite en lecture seule) et annuler_commande (écriture).
  2. fichiers_server.py : un serveur MCP qui liste et lit les documents d'un seul dossier, sans possibilité d'en sortir.
  3. agent.py : un agent ADK qui lance les deux serveurs, ne donne pas annuler_commande au modèle et préfixe les outils documentaires.

Prérequis techniques

  • Python 3.10 ou plus récent, une clé d'API Gemini.
  • requirements.txt : google-adk==2.10.0, mcp>=2.3, python-dotenv, pytest.

Programme

ModuleLeçonDurée indicative
1. Le cas d'usagePourquoi MCP, architecture, modèle de menace30 min
2. ConstruireÉcrire les deux serveurs MCP ; les brancher avec McpToolset et filtrer les outils1h45
3. Tester et exploiterTests sans clé, test réel, passer en HTTP et en production45 min

En local ou sur Google Cloud ?

En local (ce lab)Sur Google Cloud (pour aller plus loin)
Transport MCPstdio : l'agent lance les serveurs comme sous-processusHTTP (streamable HTTP) : un serveur MCP par service Cloud Run
Basefichier SQLiteCloud SQL ou BigQuery, avec un compte de service en lecture seule
Documentsdossier localbucket Cloud Storage
ModèleAPI Gemini (clé)Vertex AI

Code complet : files/. Testé le 2026-10-15 avec google-adk 2.10.0, mcp 2.3.0 et gemini-3.5-flash.

Ressources

Tout télécharger (.zip)

Références