StatCan ODCAF MCP Server
Un serveur MCP qui permet à un assistant IA d'interroger le jeu de données ouvert ODCAF de Statistique Canada en langage naturel. Construit de bout en bout lors d'un défi de 48 heures.
Architecture
Un service FastAPI implémente le Model Context Protocol. Il expose un petit ensemble d'outils typés qu'un LLM peut appeler ; chaque outil valide ses paramètres et interroge le jeu de données ODCAF, renvoyant des résultats structurés que le modèle peut exploiter.
Décisions clés
MCP plutôt qu'un greffon sur mesure
MCP est une interface portable : le même serveur fonctionne avec tout client compatible MCP, l'intégration n'est donc pas liée à un seul produit. Cette portabilité valait plus qu'un point d'accès sur mesure.
FastAPI pour aller vite sous contrainte
Avec 48 heures, j'ai choisi FastAPI pour la validation typée des requêtes et le minimum de code répétitif, afin de consacrer l'essentiel du temps aux outils de données plutôt qu'à la tuyauterie.
Le point difficile
Garder le LLM dans des limites sûres
C'est le modèle qui pilote les requêtes, donc les outils ne peuvent pas accepter n'importe quelle entrée. Chaque outil expose une surface étroite et validée : paramètres fixes, champs sur liste blanche et résultats bornés. Le modèle obtient une liberté utile sans voie vers des requêtes arbitraires ou abusives.
Sécurité et performance
- Chaque paramètre d'outil est validé et contraint ; le modèle ne compose jamais de requêtes brutes contre la source de données.
- Le jeu de données est public et en lecture seule : aucune donnée sensible et aucun chemin d'écriture à protéger.