
MCP data.gouv.fr : interroger l open data français depuis Claude Code
Le problème de l'open data français
data.gouv.fr héberge des milliers de jeux de données publics : élus, budgets, géographie, transports, santé, éducation. En pratique, l'exploitation reste pénible — vingt minutes à naviguer dans l'interface, un CSV téléchargé, ouvert dans un tableur, et la découverte que ce n'est pas le bon fichier ou que le format a changé depuis la dernière mise à jour.
data.gouv.fr a sorti un serveur MCP officiel. MCP (Model Context Protocol) est un standard ouvert qui branche des sources de données externes directement dans un assistant IA : on pose la question en français dans son terminal, et l'IA fouille les datasets.
Mise en place
Pas de repo à cloner, pas de Docker, pas d'API key. Le serveur tourne sur une instance publique et gratuite, sans inscription :
claude mcp add --transport http datagouv https://mcp.data.gouv.fr/mcp
La config atterrit dans ~/.claude.json. Vérification avec claude mcp list : si datagouv apparaît avec le transport http, c'est bon. Sinon, relancer Claude Code complètement — un /mcp reset ne suffit pas.
Pour Claude Desktop, Cursor, Windsurf ou VS Code, il faut passer par npx mcp-remote comme wrapper :
{
"mcpServers": {
"datagouv": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.data.gouv.fr/mcp"]
}
}
}
La boîte à outils
Datasets
| Outil | Ça fait quoi |
|---|---|
search_datasets | Recherche par mots-clés |
get_dataset_info | Métadonnées d'un dataset (titre, licence, dates...) |
list_dataset_resources | Liste des fichiers dispo (CSV, JSON, XLS...) |
query_resource_data | Requête directe sur un CSV/XLSX via l'API Tabular |
get_resource_info | Infos techniques (format, taille, URL) |
download_and_parse_resource | Télécharge et parse un JSON/JSONL |
query_resource_data est de loin le plus utile : on interroge un CSV de 50 000 lignes sans le télécharger, avec filtres (exact, contains, less, greater), tri et pagination.
Dataservices (APIs tierces)
| Outil | Ça fait quoi |
|---|---|
search_dataservices | Recherche d'APIs enregistrées |
get_dataservice_info | Métadonnées d'une API (URL de base, doc) |
get_dataservice_openapi_spec | Spec OpenAPI pour voir les endpoints |
On tombe par exemple sur l'API Adresse ou l'API Sirene, et on lit directement leur spec OpenAPI pour comprendre comment les appeler, sans passer par une doc tierce.
Métriques
Un seul outil, get_metrics : stats de visites et téléchargements. Utile pour savoir si un dataset est activement maintenu ou abandonné depuis des années.
Un cas concret : valider des données d'élus
Un fichier JSON de 581 entrées de députés — noms, départements, groupes politiques — dont la fraîcheur était incertaine. Démissions, suppléants, changements de nom : l'Assemblée bouge en permanence.
search_datasets sur « Répertoire National des Élus » sort immédiatement le dataset du Ministère de l'Intérieur, ID 5c34c4d1634f4173183a64f1 — la source qui fait foi. list_dataset_resources liste les fichiers : députés, sénateurs, maires, conseillers régionaux, chacun avec son ID, son format et sa taille.
query_resource_data sur le fichier députés renvoie 575 lignes contre 581 en local. Problème identifié en 30 secondes, sans rien ouvrir.
La comparaison nom par nom a ensuite révélé : 4 entrées qui n'étaient pas des députés (d'anciens ministres restés dans le fichier), 13 députés qui n'étaient plus en exercice, 21 manquants, une soixantaine de noms avec des accents ou tirets divergents de la source officielle, et 5 départements écrits « Reunion » au lieu de « La Réunion ».
Une demi-journée de nettoyage manuel réduite à vingt minutes de conversation.
Le workflow
Le pattern revient toujours :
search_datasets -> get_dataset_info -> list_dataset_resources -> query_resource_data
Chercher avec des mots-clés courts, identifier le bon dataset via ses métadonnées, lister les fichiers, requêter avec filtres et pagination.
Pour les APIs tierces, même logique en trois étapes :
search_dataservices -> get_dataservice_info -> get_dataservice_openapi_spec
Les pièges
Les mots-clés demandent de la précision. « Assemblée nationale députés » marche, « liste des députés français données ouvertes » ne retourne rien. L'API fait un AND logique sur les termes : moins de mots donne plus de résultats.
Commencer petit. page_size=20 pour découvrir la structure, puis augmenter. Demander 500 lignes d'entrée de jeu sur un dataset inconnu (36 000 codes postaux, par exemple) est du gaspillage.
Les gros fichiers ne sont pas son fort. Au-delà de 1 000 lignes, download_and_parse_resource vaut mieux que de paginer 50 fois. Limite dure à 50 Mo par fichier.
Pas d'auth. L'instance publique ne demande ni clé ni compte. Il faut juste un client MCP qui gère le transport HTTP streamable — natif dans Claude Code.
Les métriques ne marchent qu'en production, pas sur l'environnement de démo. Bon à savoir si get_metrics renvoie des erreurs.
Bilan
Pour travailler avec des données publiques françaises, c'est un raccourci net par rapport à la navigation manuelle sur data.gouv.fr. C'est un serveur MCP standard, donc compatible Claude Code, Claude Desktop, Cursor, VS Code et Gemini CLI — intégration en trente secondes sur un setup MCP existant.
Lien du projet : datagouv/datagouv-mcp sur GitHub
Instance publique : https://mcp.data.gouv.fr/mcp
Articles similaires
Claude Code comme back-office : connecter Drive, Gmail et Trello pour piloter sa boîte
claude-code · ia · mcp
MCP chrome-devtools depuis WSL : piloter (et auto-lancer) une Chrome Windows
claude-code · mcp · wsl
Sécuriser ses clés API MCP dans Claude Code (et pourquoi c'est urgent)
claude-code · securite · mcp