Serveur MCP local pour data.gouv.fr, compatible Claude Desktop via transport stdio.
Inspiré du serveur officiel, mais conçu pour tourner en local dans Docker — aucune installation de Node.js ou npm requise sur la machine hôte.
| Outil | Description |
|---|---|
search_datasets |
Rechercher des jeux de données par mots-clés |
get_dataset_info |
Métadonnées détaillées d'un jeu de données |
list_dataset_resources |
Lister les fichiers d'un jeu de données |
get_resource_info |
Infos d'un fichier (format, taille, dispo Tabular API) |
query_resource_data |
Interroger un CSV/XLSX via la Tabular API sans téléchargement |
search_dataservices |
Rechercher des APIs tierces référencées |
get_dataservice_info |
Métadonnées d'une API tierce |
get_dataservice_openapi_spec |
Récupérer et résumer la spec OpenAPI d'une API |
get_metrics |
Statistiques de consultation/téléchargement mensuelles |
docker build -t datagouv-mcp .Le build se fait entièrement dans Docker (npm, TypeScript, tout).
Éditer le fichier de configuration de Claude Desktop :
- Windows :
%APPDATA%\Claude\claude_desktop_config.json - macOS :
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"datagouv": {
"command": "docker",
"args": ["run", "--rm", "-i", "datagouv-mcp"]
}
}
}Le serveur MCP apparaîtra automatiquement dans la liste des outils disponibles.
La variable d'environnement DATAGOUV_API_ENV permet de choisir l'environnement cible :
| Valeur | URL |
|---|---|
prod (défaut) |
https://www.data.gouv.fr |
demo |
https://demo.data.gouv.fr |
{
"mcpServers": {
"datagouv": {
"command": "docker",
"args": ["run", "--rm", "-i", "-e", "DATAGOUV_API_ENV=demo", "datagouv-mcp"]
}
}
}Rechercher des données
└── search_datasets("population communes france")
└── list_dataset_resources("<dataset_id>")
└── query_resource_data("<resource_id>", "population par département")
Utiliser une API tierce
└── search_dataservices("adresse")
└── get_dataservice_info("<dataservice_id>")
└── get_dataservice_openapi_spec("<dataservice_id>")
├── Dockerfile
├── package.json
├── tsconfig.json
└── src/
├── main.ts # Point d'entrée, stdio transport
├── helpers/
│ ├── env_config.ts # URLs prod/demo
│ ├── fetch.ts # Wrapper fetch avec timeout
│ ├── datagouv_api_client.ts # API data.gouv.fr v1/v2
│ ├── tabular_api_client.ts # Tabular API (CSV/XLSX)
│ ├── crawler_api_client.ts # Exceptions Tabular API
│ └── metrics_api_client.ts # Metrics API
└── tools/ # Un fichier par outil MCP
Pour modifier et reconstruire :
# Reconstruire après modification
docker build -t datagouv-mcp .
# Tester manuellement en interactif
docker run --rm -i datagouv-mcp