{
 "version": 1,
 "site": "https://aides-viticoles.pages.dev",
 "langue": "fr",
 "outils": [
  {
   "name": "describe_dataset",
   "description": "Décrit le jeu : couverture, source officielle, licence, date de collecte et clés de jointure.",
   "inputSchema": {
    "type": "object",
    "properties": {}
   },
   "chemin": "/api/v1/manifest.json",
   "url": "https://aides-viticoles.pages.dev/api/v1/manifest.json",
   "statut": "servi",
   "annotations": {
    "readOnlyHint": true
   }
  },
  {
   "name": "get_sample",
   "description": "Rend un extrait réel du jeu, pour juger sa forme avant de le demander.",
   "inputSchema": {
    "type": "object",
    "properties": {}
   },
   "chemin": "/api/v1/echantillon.json",
   "url": "https://aides-viticoles.pages.dev/api/v1/echantillon.json",
   "statut": "servi",
   "annotations": {
    "readOnlyHint": true
   }
  },
  {
   "name": "resolve_code",
   "description": "Rend la fiche viticole d'une commune suisse : hectares à chaque relevé, pente, barème d'arrachage du canton. ⚠️ La fiche vit dans un fragment DÉSIGNÉ PAR HACHAGE : appeler le serveur MCP, ou appliquer la recette `resolution` ci-dessous.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "code": {
      "type": "string",
      "description": "numéro OFS de la commune"
     }
    },
    "required": [
     "code"
    ]
   },
   "url": "https://mcp-registres.cloudflare33-7aa.workers.dev/mcp",
   "chemin": "/api/v1/tools.json",
   "appel": {
    "transport": "mcp",
    "endpoint": "https://mcp-registres.cloudflare33-7aa.workers.dev/mcp",
    "arguments": {
     "registre": "aides-viticoles",
     "code": "<numéro OFS de la commune>"
    }
   },
   "resolution": {
    "algorithme": "FNV-1a 32 bits",
    "offset_basis": 2166136261,
    "prime": 16777619,
    "module": 61,
    "chemin_fragment": "/d/{hachage}.json",
    "format_ligne": [
     "bfs",
     "nom",
     "canton",
     "ha_1985",
     "ha_1997",
     "ha_2009",
     "ha_2018",
     "ha_2025",
     "ha_actuel",
     "annee_actuelle",
     "ha_pente_moins30",
     "ha_pente_30_50",
     "ha_pente_plus50",
     "ha_non_classe",
     "arrachage_chf_moins30",
     "arrachage_chf_plus30",
     "bareme",
     "page"
    ],
    "separateur": "|",
    "note": "hachage = fnv1a(code) modulo module ; le fragment est un tableau de lignes, la clé est le premier champ."
   },
   "statut": "servi",
   "annotations": {
    "readOnlyHint": true
   }
  },
  {
   "name": "get_schema",
   "description": "Rend les champs du jeu avec leur TAUX DE REMPLISSAGE : ce qui est présent, et ce qui manque.",
   "inputSchema": {
    "type": "object",
    "properties": {}
   },
   "chemin": "/api/v1/champs.json",
   "url": "https://aides-viticoles.pages.dev/api/v1/champs.json",
   "statut": "servi",
   "annotations": {
    "readOnlyHint": true
   }
  },
  {
   "name": "request_dataset",
   "description": "Demande le jeu complet ou une extraction. ⚠️ L'agent remplit, un humain envoie.",
   "inputSchema": {
    "type": "object",
    "properties": {
     "email": {
      "type": "string"
     },
     "message": {
      "type": "string"
     },
     "volume": {
      "type": "string"
     }
    },
    "required": [
     "email",
     "message"
    ]
   },
   "chemin": "/pro/",
   "url": "https://aides-viticoles.pages.dev/pro/",
   "methode": "POST",
   "endpoint": "https://formspree.io/f/xppzalak",
   "appel": {
    "transport": "formulaire",
    "methode": "POST",
    "action": "https://formspree.io/f/xppzalak",
    "champs": [
     "email",
     "message",
     "volume"
    ],
    "note": "L'agent PREPARE l'envoi ; c'est un humain qui le declenche. On n'automatise pas la soumission d'un formulaire au nom de quelqu'un."
   },
   "source_lead": "aides-viticoles · MCP",
   "statut": "servi",
   "annotations": {
    "readOnlyHint": false,
    "consequentialHint": true
   }
  },
  {
   "name": "changes_since",
   "description": "Ce qui a changé depuis une date. ⚠️ Exige deux captures : tant qu'il n'y en a qu'une, la profondeur utile est zéro.",
   "inputSchema": {
    "type": "object",
    "properties": {}
   },
   "chemin": "/api/v1/changements.json",
   "url": "https://aides-viticoles.pages.dev/api/v1/changements.json",
   "statut": "reserve",
   "annotations": {
    "readOnlyHint": true
   }
  },
  {
   "name": "export_dataset",
   "description": "Décrit le téléchargement de masse : combien de fragments, à quelle adresse, dans quel format. Gratuit.",
   "inputSchema": {
    "type": "object",
    "properties": {}
   },
   "chemin": "/api/v1/jeu-complet.json",
   "url": "https://aides-viticoles.pages.dev/api/v1/jeu-complet.json",
   "statut": "servi",
   "annotations": {
    "readOnlyHint": true
   }
  }
 ],
 "paiement": {
  "statut": "non_active",
  "note": "Les pages HTML et les outils qui les lisent sont gratuits et le restent. Seule la couche FABRIQUÉE — réconciliation, croisement, historique — peut être tarifée."
 }
}