Guide

Démarrer avec agridata MCP en 15 minutes

Cloner le serveur agridata MCP open source, l'installer en local, et connecter Claude Desktop ou un autre client LLM pour exécuter une première vraie requête sur les données agricoles ouvertes tunisiennes.

Résultat attendu

À la fin de ce guide, agridata MCP tourne sur votre machine, votre client LLM habituel sait l'appeler, et vous avez exécuté une première requête qui combine données structurées et références documentaires. Temps total estimé : si Python et uv sont déjà installés ; comptez dix minutes supplémentaires sinon.

Prérequis

  • Un client LLM compatible MCP : Claude Desktop, Claude Code, VS Code, Cursor, Windsurf, Gemini CLI, ou similaire.
  • Python 3.11 ou plus récent. Téléchargement sur python.org si non installé.
  • Le gestionnaire de paquets uv. Installation avec curl -LsSf https://astral.sh/uv/install.sh | sh sur macOS / Linux, ou powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" sur Windows. Documentation complète d'uv.
  • Une connexion Internet pour cloner le dépôt et atteindre catalog.agridata.tn au moment des requêtes.

Étape 1 — Cloner et installer

Choisir un répertoire qui hébergera le serveur, puis :

bash
git clone https://github.com/tanitdata/agridata-mcp.git
cd agridata-mcp
uv sync

uv sync résout et installe toutes les dépendances déclarées dans pyproject.toml. Sur un clone tout neuf, l'opération prend généralement dix à vingt secondes.

Étape 2 — Noter le chemin absolu

Le client MCP a besoin du chemin absolu vers le répertoire du clone. Exécutez pwd à l'intérieur de agridata-mcp (ou cd + echo %CD% sous Windows) et copiez le chemin complet. Vous le collerez dans les snippets de configuration ci-dessous, à la place de /chemin/absolu/vers/agridata-mcp.

Étape 3 — Configurer le client LLM

Choisissez le snippet correspondant à votre client. La commande de lancement est la même partout ; seul le format du fichier change.

Claude Desktop

Fichier de configuration :

  • Windows : %APPDATA%\Claude\claude_desktop_config.json
  • macOS : ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux : ~/.config/Claude/claude_desktop_config.json
json
{
  "mcpServers": {
    "tanitdata": {
      "command": "uv",
      "args": ["run", "--directory", "/chemin/absolu/vers/agridata-mcp", "tanitdata"]
    }
  }
}

Sauvegardez le fichier, puis redémarrez Claude Desktop.

Cursor, Windsurf, autres clients MCP stdio

La plupart des clients acceptent la même structure que Claude Desktop. Ajoutez le snippet au fichier de configuration MCP du client (consultez sa documentation pour le chemin exact) :

json
{
  "mcpServers": {
    "tanitdata": {
      "command": "uv",
      "args": ["run", "--directory", "/chemin/absolu/vers/agridata-mcp", "tanitdata"]
    }
  }
}

Claude Code (CLI)

Une seule commande, sans fichier de configuration :

bash
claude mcp add tanitdata uv run --directory /chemin/absolu/vers/agridata-mcp tanitdata

Étape 4 — Premier appel de test

Dans le client, ouvrez une nouvelle conversation et demandez :

« Quels outils sont exposés par le serveur tanitdata ? »

Le client doit afficher la liste des outils fournis par le serveur. Si cette liste apparaît, la connexion fonctionne.

Étape 5 — Première vraie requête

Essayez une question qui combine chiffres et contexte documentaire :

« Quelle est la production de blé dur par gouvernorat sur les cinq dernières années, et comment se compare-t-elle aux objectifs du plan national ? »

Le serveur répond avec les données correspondantes et, pour chaque résultat, pointe vers la ressource source sur agridata.tn. Vous pouvez suivre le lien pour vérifier la source directement sur le portail.

Dépannage

  • Le client signale qu'il ne trouve pas le serveur. Vérifiez que le chemin dans la configuration est absolu (pas relatif) et qu'il pointe vers le répertoire qui contient pyproject.toml. Erreur fréquente sous Windows : n'utiliser que des slashes — barres obliques et antislashes fonctionnent en JSON à condition d'être correctement échappés.
  • uv : command not found dans les logs du client. Le client lance uv en sous-processus et hérite d'un environnement limité qui n'inclut pas toujours le PATH d'uv. Utilisez le chemin absolu vers le binaire uv dans la configuration (le trouver avec which uv sur macOS / Linux ou where uv sur Windows).
  • Vous voulez vérifier que le serveur démarre, avant même de le brancher à un client. Depuis le répertoire du clone, exécuter :
    bash
    uv run mcp dev src/tanitdata/server.py
    MCP Inspector s'ouvre dans le navigateur et permet d'appeler les outils sans client LLM.

La suite

Une fois le serveur opérationnel côté client, parcourez l'index Recherche pour des cas d'usage avancés. Pour transmettre un retour, signaler un bug ou proposer une collaboration, le dépôt GitHub et la page Contribuer sont les points d'entrée.

Questions fréquentes

Pourquoi le serveur tourne-t-il en local plutôt que sur un endpoint hébergé ?
agridata MCP suit l'architecture standard du protocole MCP : le serveur tourne en processus local appelé par le client LLM via stdio. C'est ainsi que fonctionne la majorité des serveurs MCP de l'écosystème. Cela supprime les dépendances opérationnelles, simplifie l'authentification (aucune n'est nécessaire — la donnée est ouverte), et donne aux utilisateurs un contrôle complet sur leur environnement. La contrepartie est une installation locale ponctuelle.
Quels clients MCP sont supportés ?
Tous les clients qui implémentent le protocole MCP standard : Claude Desktop, Claude Code, VS Code avec extension MCP, Cursor, Windsurf, Gemini CLI, et d'autres. Le format du fichier de configuration varie légèrement selon le client ; la commande de lancement est la même.
Qu'est-ce que uv et pourquoi l'utiliser ?
uv est un gestionnaire de paquets Python rapide développé par Astral. Il résout et installe les dépendances en quelques secondes et gère les environnements virtuels de façon transparente. Le serveur agridata déclare uv comme runtime ; pip reste possible mais n'est plus le chemin recommandé.
Les données sont-elles librement réutilisables ?
Oui. Les données proviennent du portail public agridata.tn et sont publiées sous la Licence Nationale de Données Publiques Ouvertes (LNDPO). Toute réutilisation conforme à la LNDPO est permise ; l'attribution au portail est requise.
Où signaler un bug ou demander un jeu de données ?
Ouvrir une issue sur https://github.com/tanitdata/agridata-mcp ou écrire à contact@tanitdata.org.