Section 09 - MCP, le Model Context Protocol
MCP est la prise standard qui branche l'IA sur tes vraies bases de donnees, tes fichiers et tes outils, au lieu de la laisser deviner.
Temps de lecture : 7 min | Niveau : Intermediaire
Ce que tu sauras faire apres
- Expliquer en une phrase a quoi sert MCP et quel probleme il resout.
- Brancher un serveur MCP sur Claude Code avec la bonne portee et les bons secrets.
- Ecrire ton propre serveur MCP en Python pour exposer une base a l'IA.
- Choisir entre exposer du SQL brut et exposer des metriques certifiees.
- Verrouiller un serveur MCP avant de le laisser toucher a tes donnees de production.
🎯 L'analogie du port USB-C
La documentation officielle utilise une image simple, et elle est bonne. Retiens-la.
Pense a MCP comme a un port USB-C pour les applications d'IA. De la meme facon que l'USB-C offre une maniere standardisee de connecter des appareils electroniques, MCP offre une maniere standardisee de connecter les applications d'IA a des systemes externes.
Deroule l'image jusqu'au bout, elle tient :
| Dans le monde USB-C | Dans le monde MCP |
|---|---|
| Ton ordinateur portable | Le host : Claude Code, Claude Desktop, VS Code |
| Le port USB-C de l'ordinateur | Le client MCP, un par peripherique branche |
| Le disque dur, l'ecran, la webcam | Le serveur MCP : ta base Postgres, ton depot Git, ton Jira |
| Le cable | Le transport : stdio en local, HTTP a distance |
| Le fait que n'importe quel disque marche sur n'importe quel PC | Le protocole : ecrit une fois, branchable partout |
Avant l'USB-C, chaque peripherique avait sa prise proprietaire. Avant MCP, chaque outil d'IA avait son systeme de plugins a lui. Tu ecrivais l'integration Postgres pour l'outil A, puis tu la reecrivais pour l'outil B.
📚 Les fichiers de la section
Lis-les dans l'ordre. Chacun s'appuie sur le precedent.
| Fichier | Ce que tu y apprends | Duree |
|---|---|---|
| 01-comprendre-mcp.md | Le probleme N x M, l'histoire et la gouvernance de MCP, ce que ca change pour un data engineer | 10 min |
| 02-architecture-et-primitives.md | Host, client, serveur. Tools, resources, prompts. stdio et HTTP. Le cycle d'une requete | 15 min |
| 03-installer-des-serveurs-mcp.md | Les commandes claude mcp, les portees, .mcp.json, les secrets, le depannage | 15 min |
| 04-ecrire-son-serveur-mcp.md | Un serveur Python complet qui expose une base en lecture seule | 20 min |
| 05-mcp-pour-la-data.md | Entrepot de donnees, couche semantique, metriques certifiees, reporting | 15 min |
| 06-securite-mcp.md | Les vrais risques et les regles d'hygiene a appliquer avant la production | 15 min |
✅ Prerequis
Cette section suppose que tu as lu les sections 05 a 08.
| Section | Ce dont tu as besoin ici |
|---|---|
05-claude-code-bases | Lancer claude, comprendre settings.json et les portees user / project / local |
06-agents-subagents | Savoir qu'un agent choisit ses outils tout seul |
08-plugins | Savoir qu'un plugin peut embarquer des serveurs MCP |
Cote machine, il te faut :
- Claude Code installe et connecte.
nodeetnpxdisponibles (beaucoup de serveurs MCP se lancent avecnpx).python3.10 ou plus,uv, et le SDK Python MCP en version 2.0.0 ou superieure si tu veux faire le tutoriel du fichier 04.- Un acces en lecture seule a une base de donnees de test. Jamais la prod pour apprendre.
Verifie ton point de depart :
claude mcp listSi la commande repond une liste vide, c'est normal : tu n'as encore rien branche. C'est exactement le point de depart du fichier 03.
🧭 Ordre de lecture conseille
- Comprendre d'abord : fichiers 01 et 02. Ne saute pas le 02, sinon les messages d'erreur du 03 ne voudront rien dire.
- Pratiquer ensuite : fichier 03, branche un serveur en lecture seule sur un projet bac a sable.
- Construire : fichier 04, ecris ton serveur. C'est la que le declic arrive.
- Appliquer a ton metier : fichier 05.
- Verrouiller : fichier 06, avant de brancher quoi que ce soit sur des donnees reelles.
Si tu es presse et que tu veux juste brancher un outil existant aujourd'hui : lis le 01 en diagonale, puis fais le 03, puis lis le 06 en entier. Le 06 n'est pas optionnel.
⚠️ Une note sur les versions
MCP bouge vite. Le protocole est versionne par date. Au moment ou ces fichiers sont ecrits, la documentation officielle publie plusieurs versions en parallele : 2026-07-28 (la plus recente), 2025-11-25, et des versions plus anciennes.
Des choses ont change entre ces versions, notamment sur la gestion des sessions et sur des primitives qui sont passees en deprecie. Quand un detail compte, ces fichiers precisent la version concernee. Quand tu lis la doc officielle, regarde toujours la date dans l'URL.
📋 Template : ta fiche de progression sur la section
Copie ce bloc dans tes notes et remplis-le au fur et a mesure. Il te servira aussi de resume a relire dans six mois.
SECTION 09 - MCP
Demarree le : [DATE]
01 Comprendre [ ] lu le [DATE] - ce que j'en retiens : [UNE_PHRASE]
02 Architecture [ ] lu le [DATE] - ce que j'en retiens : [UNE_PHRASE]
03 Installer [ ] lu le [DATE] - serveur branche : [NOM_DU_SERVEUR]
04 Ecrire [ ] fait le [DATE] - mon serveur expose : [LISTE_DES_OUTILS]
05 Data [ ] lu le [DATE] - cas d'usage que je vais automatiser : [LEQUEL]
06 Securite [ ] lu le [DATE] - checklist passee : [OUI / NON]
Le serveur que je veux brancher en premier dans mon travail : [NOM_DE_LA_SOURCE]
Pourquoi : [TACHE_CONCRETE_QUE_CA_ME_FAIT_GAGNER]
Ce qui me bloque encore : [POINT_A_CLARIFIER]A retenir
- MCP est un standard ouvert : un serveur ecrit une fois se branche sur plusieurs applications d'IA.
- Il n'appartient plus a un editeur : Anthropic l'a donne a la Linux Foundation en decembre 2025.
- L'analogie utile : un port USB-C pour l'IA.
- Trois roles a ne jamais confondre : le host (l'application), le client (une connexion), le serveur (ce qui fournit les donnees ou les outils).
- Le protocole est versionne par date : verifie toujours la version dans l'URL de la doc.
- Ne branche rien sur des donnees reelles avant d'avoir lu le fichier 06.
Depots GitHub a explorer
Ces depots sont du code MCP qui tourne vraiment : des serveurs de reference a lire, le SDK Python du fichier 04, l'outil de test, et deux serveurs faits pour la data. Tu peux les cloner et les lancer aujourd'hui.
| Depot | Ce qu'on y trouve | Par ou commencer |
|---|---|---|
| modelcontextprotocol/servers | Les sept serveurs de reference maintenus par le groupe de pilotage MCP : fetch, filesystem, git, memory, sequentialthinking, time, everything | src/filesystem/ : le code qui limite le serveur aux dossiers autorises |
| modelcontextprotocol/python-sdk | Le SDK Python officiel v2, celui qu'utilise le fichier 04 | examples/servers/simple-tool/ : le plus petit serveur complet |
| modelcontextprotocol/inspector | L'inspecteur officiel, en trois interfaces : web, CLI et TUI | test-servers/ : des serveurs bidons a brancher pour s'entrainer |
| PrefectHQ/fastmcp | Le framework Python qui a donne FastMCP 1.0 au SDK officiel, puis a continue sa route de son cote | examples/echo.py : un serveur en une dizaine de lignes |
| googleapis/mcp-toolbox | Un serveur MCP pret a l'emploi pour Postgres, MySQL, BigQuery, Snowflake et une vingtaine d'autres bases (depot renomme, ex-genai-toolbox) | docs/TOOLBOX_README.md |
| dbt-labs/dbt-mcp | Le serveur MCP de dbt decrit dans le fichier 05 : couche semantique, lineage, CLI | src/dbt_mcp/ : le code des outils exposes |
Clone modelcontextprotocol/servers en premier. C'est le seul qui te donne, dans un seul depot, sept serveurs qui tournent vraiment et dont tu peux lire le code en entier en une soiree.
Ouvre src/filesystem/ avant le reste : tu y verras comment un serveur serieux borne ce qu'il a le droit de toucher. C'est exactement le sujet du fichier 06.