Skip to content

aureTheDev/datagouv-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

datagouv-mcp

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.

Outils disponibles

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

Prérequis

Installation

1. Builder l'image Docker

docker build -t datagouv-mcp .

Le build se fait entièrement dans Docker (npm, TypeScript, tout).

2. Configurer Claude Desktop

É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"]
    }
  }
}

3. Relancer Claude Desktop

Le serveur MCP apparaîtra automatiquement dans la liste des outils disponibles.

Configuration

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"]
    }
  }
}

Workflow typique

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>")

Structure du projet

├── 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

Développement

Pour modifier et reconstruire :

# Reconstruire après modification
docker build -t datagouv-mcp .

# Tester manuellement en interactif
docker run --rm -i datagouv-mcp

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors