GET https://www.nevya.fr/mentions-legales

MCP Capabilities

34 Tools
0 Prompts
2 Resources
0 Resource Templates

Tools 34

calculate_dose

Description: Calcule la quantité totale de produit nécessaire pour une surface donnée, à partir d'une dose unitaire homologuée. Ne remplace pas la lecture de l'étiquette.

Handler: App\Mcp\Tool\CalculTool::calculateDose()

Parameters

Name Type Required Default Description
doseUnitaire number Yes - Dose homologuée par hectare, telle que retournée par get_product_usages
surfaceHa number Yes - Surface à traiter, en hectares
unite string No L/ha Unité de la dose unitaire. Ex: "L/ha", "kg/ha", "g/ha"

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(3) { ["doseUnitaire"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(73) "Dose homologuée par hectare, telle que retournée par get_product_usages" } ["surfaceHa"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(31) "Surface à traiter, en hectares" } ["unite"]=> array(3) { ["type"]=> string(6) "string" ["description"]=> string(55) "Unité de la dose unitaire. Ex: "L/ha", "kg/ha", "g/ha"" ["default"]=> string(4) "L/ha" } } ["required"]=> array(2) { [0]=> string(12) "doseUnitaire" [1]=> string(9) "surfaceHa" } }

search_knowledge

Description: Recherche dans la base de connaissance : documents, procédures, fiches et notes internes déposés par le client, ainsi que la documentation publiée par Nevya. À utiliser pour toute question portant sur les pratiques, l'organisation, les gammes ou les documents propres à l'utilisateur — typiquement "que dit notre procédure sur…", "quelles variétés recommandons-nous…", "d'après notre documentation…". Ne pas utiliser pour la donnée réglementaire (produits, AMM, usages autorisés, doses, DAR, variétés du catalogue officiel) : elle vient des outils E-Phy et GNIS, qui font seuls autorité. Un extrait de document ne peut jamais élargir un usage ni contredire un retrait.

Handler: App\Mcp\Tool\KnowledgeTool::searchKnowledge()

Parameters

Name Type Required Default Description
question string Yes - Question ou termes à rechercher, en langage naturel
limite integer No 5 Nombre d'extraits souhaités (1 à 10)

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(2) { ["question"]=> array(2) { ["type"]=> string(6) "string" ["description"]=> string(52) "Question ou termes à rechercher, en langage naturel" } ["limite"]=> array(3) { ["type"]=> string(7) "integer" ["description"]=> string(38) "Nombre d'extraits souhaités (1 à 10)" ["default"]=> int(5) } } ["required"]=> array(1) { [0]=> string(8) "question" } }

get_product_by_amm

Description: Retourne les détails d'un produit phytopharmaceutique à partir de son numéro AMM : titulaire, état d'autorisation, date de retrait, noms commerciaux, substances actives et usages. Ex: 7700385

Handler: App\Mcp\Tool\ProductTool::getByAmm()

Parameters

Name Type Required Default Description
amm string Yes - Numéro AMM du produit, 7 chiffres. Ex: "7700385"

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["amm"]=> array(2) { ["type"]=> string(6) "string" ["description"]=> string(49) "Numéro AMM du produit, 7 chiffres. Ex: "7700385"" } } ["required"]=> array(1) { [0]=> string(3) "amm" } }

search_products

Description: Recherche des produits phytopharmaceutiques par nom commercial, AMM ou titulaire. Tous les mots de la recherche doivent correspondre. Minimum 3 caractères.

Handler: App\Mcp\Tool\ProductTool::searchProducts()

Parameters

Name Type Required Default Description
query string Yes - Termes recherchés dans le nom commercial, le numéro AMM ou le titulaire. Chaque mot doit correspondre. Minimum 3 caractères
limit integer No 20 Nombre maximum de produits retournés, entre 1 et 100

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(2) { ["query"]=> array(2) { ["type"]=> string(6) "string" ["description"]=> string(126) "Termes recherchés dans le nom commercial, le numéro AMM ou le titulaire. Chaque mot doit correspondre. Minimum 3 caractères" } ["limit"]=> array(3) { ["type"]=> string(7) "integer" ["description"]=> string(53) "Nombre maximum de produits retournés, entre 1 et 100" ["default"]=> int(20) } } ["required"]=> array(1) { [0]=> string(5) "query" } }

get_product_usages

Description: Retourne les usages d'un produit à partir de son AMM : culture, cible, dose retenue et unité, DAR, stades, nombre d'applications, état de l'usage et dates de fin d'utilisation.

Handler: App\Mcp\Tool\ProductTool::getUsages()

Parameters

Name Type Required Default Description
amm string Yes - Numéro AMM du produit, 7 chiffres. Ex: "7700385"

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["amm"]=> array(2) { ["type"]=> string(6) "string" ["description"]=> string(49) "Numéro AMM du produit, 7 chiffres. Ex: "7700385"" } } ["required"]=> array(1) { [0]=> string(3) "amm" } }

get_product_substances

Description: Retourne la composition en substances actives d'un produit à partir de son AMM : nom de la substance, teneur en substance active pure et unité.

Handler: App\Mcp\Tool\ProductTool::getSubstances()

Parameters

Name Type Required Default Description
amm string Yes - Numéro AMM du produit, 7 chiffres. Ex: "7700385"

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["amm"]=> array(2) { ["type"]=> string(6) "string" ["description"]=> string(49) "Numéro AMM du produit, 7 chiffres. Ex: "7700385"" } } ["required"]=> array(1) { [0]=> string(3) "amm" } }

check_cmr

Description: Indique si un produit est classé CMR (cancérogène, mutagène, reprotoxique) de catégorie 1 ou 2, et retourne les phrases de risque qui le justifient.

Handler: App\Mcp\Tool\RisqueTool::checkCmr()

Parameters

Name Type Required Default Description
amm string Yes - Numéro AMM du produit, 7 chiffres. Ex: "7700385"

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["amm"]=> array(2) { ["type"]=> string(6) "string" ["description"]=> string(49) "Numéro AMM du produit, 7 chiffres. Ex: "7700385"" } } ["required"]=> array(1) { [0]=> string(3) "amm" } }

list_products_by_cmr

Description: Liste les produits phytopharmaceutiques classés CMR de catégorie 1 ou 2, avec leur état d'autorisation. Résultats paginés.

Handler: App\Mcp\Tool\RisqueTool::listProductsByCmr()

Parameters

Name Type Required Default Description
categorie integer Yes - Catégorie CMR recherchée : 1 (avérée ou présumée) ou 2 (suspectée)
limit integer No 20 Nombre maximum de produits retournés, entre 1 et 100
offset integer No 0 Rang de départ, pour parcourir les résultats suivants

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(3) { ["categorie"]=> array(2) { ["type"]=> string(7) "integer" ["description"]=> string(73) "Catégorie CMR recherchée : 1 (avérée ou présumée) ou 2 (suspectée)" } ["limit"]=> array(3) { ["type"]=> string(7) "integer" ["description"]=> string(53) "Nombre maximum de produits retournés, entre 1 et 100" ["default"]=> int(20) } ["offset"]=> array(3) { ["type"]=> string(7) "integer" ["description"]=> string(55) "Rang de départ, pour parcourir les résultats suivants" ["default"]=> int(0) } } ["required"]=> array(1) { [0]=> string(9) "categorie" } }

validate_mix

Description: Vérifie si plusieurs produits phytopharmaceutiques peuvent être mélangés, au regard de leurs phrases de risque. Retourne le verdict et les couples de phrases incompatibles. Ne dispense pas de vérifier les étiquettes.

Handler: App\Mcp\Tool\RisqueTool::validateMix()

Parameters

Name Type Required Default Description
amms array Yes - Numéros AMM des produits envisagés dans le mélange, 2 minimum. Ex: ["7700385", "2000123"]

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["amms"]=> array(3) { ["type"]=> string(5) "array" ["description"]=> string(92) "Numéros AMM des produits envisagés dans le mélange, 2 minimum. Ex: ["7700385", "2000123"]" ["items"]=> array(1) { ["type"]=> string(6) "string" } } } ["required"]=> array(1) { [0]=> string(4) "amms" } }

analyze_crop_diversity

Description: Analyse la diversité d'une rotation de cultures selon standards internationaux. Retourne Simpson Diversity, Shannon Index, Pielou's Evenness, couverture sol, et recommandations pour améliorer la diversité.

Handler: App\Mcp\Tool\RotationAdvisoryTool::analyzeCropDiversity()

Parameters

Name Type Required Default Description
crop_sequence array Yes - Séquence de cultures. Ex: ["Maïs", "Blé", "Colza", "Luzerne"]

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["crop_sequence"]=> array(3) { ["type"]=> string(5) "array" ["description"]=> string(64) "Séquence de cultures. Ex: ["Maïs", "Blé", "Colza", "Luzerne"]" ["items"]=> array(1) { ["type"]=> string(6) "string" } } } ["required"]=> array(1) { [0]=> string(13) "crop_sequence" } }

assess_phytosanitary_risk

Description: Évalue les risques de maladies et ravageurs selon la rotation. Retourne score de risque global, détail par pathogène, effet de la rotation sur chaque maladie, et recommandations de gestion phytosanitaire.

Handler: App\Mcp\Tool\RotationAdvisoryTool::assessPhytosanitaryRisk()

Parameters

Name Type Required Default Description
crop_sequence array Yes - Séquence de cultures. Ex: ["Maïs", "Blé", "Colza"]

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["crop_sequence"]=> array(3) { ["type"]=> string(5) "array" ["description"]=> string(53) "Séquence de cultures. Ex: ["Maïs", "Blé", "Colza"]" ["items"]=> array(1) { ["type"]=> string(6) "string" } } } ["required"]=> array(1) { [0]=> string(13) "crop_sequence" } }

calculate_nitrogen_balance

Description: Calcule le bilan azoté d'une rotation: apports légumineuses vs besoins cultures, réduction engrais chimiques estimée, et recommandations de fertilisation.

Handler: App\Mcp\Tool\RotationAdvisoryTool::calculateNitrogenBalance()

Parameters

Name Type Required Default Description
crop_sequence array Yes - Séquence de cultures. Ex: ["Maïs", "Blé", "Pois", "Colza"]

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["crop_sequence"]=> array(3) { ["type"]=> string(5) "array" ["description"]=> string(61) "Séquence de cultures. Ex: ["Maïs", "Blé", "Pois", "Colza"]" ["items"]=> array(1) { ["type"]=> string(6) "string" } } } ["required"]=> array(1) { [0]=> string(13) "crop_sequence" } }

analyze_carbon_impact

Description: Analyse l'impact carbone d'une rotation: empreinte nette, séquestration, puits/source de carbone, estimation accumulation carbone du sol sur 50 ans, et recommandations pour améliorer le bilan carbone.

Handler: App\Mcp\Tool\RotationAdvisoryTool::analyzeCarbonImpact()

Parameters

Name Type Required Default Description
crop_sequence array Yes - Séquence de cultures. Ex: ["Blé", "Luzerne", "Maïs", "Trèfle"]

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["crop_sequence"]=> array(3) { ["type"]=> string(5) "array" ["description"]=> string(66) "Séquence de cultures. Ex: ["Blé", "Luzerne", "Maïs", "Trèfle"]" ["items"]=> array(1) { ["type"]=> string(6) "string" } } } ["required"]=> array(1) { [0]=> string(13) "crop_sequence" } }

score_sustainability

Description: Score de durabilité multi-critères selon standards RSB/USDA/SARE. Retourne score global (0-100), scores par dimension (diversité, phytosanitaire, azote, carbone, santé sol), niveau certification (Bronze à Platinum), et recommandations.

Handler: App\Mcp\Tool\RotationAdvisoryTool::scoreSustainability()

Parameters

Name Type Required Default Description
crop_sequence array Yes - Séquence de cultures. Ex: ["Maïs", "Blé", "Luzerne", "Colza"]

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["crop_sequence"]=> array(3) { ["type"]=> string(5) "array" ["description"]=> string(64) "Séquence de cultures. Ex: ["Maïs", "Blé", "Luzerne", "Colza"]" ["items"]=> array(1) { ["type"]=> string(6) "string" } } } ["required"]=> array(1) { [0]=> string(13) "crop_sequence" } }

recommend_next_crops

Description: Recommande les meilleures cultures suivantes pour continuer la rotation. Analyse chaque candidate et retourne classement par score global, avec scores détaillés par dimension et bénéfices spécifiques.

Handler: App\Mcp\Tool\RotationAdvisoryTool::recommendNextCrops()

Parameters

Name Type Required Default Description
crop_sequence array Yes - Séquence de cultures actuelle. Ex: ["Maïs", "Blé", "Colza"]
num_recommendations integer No 5 Nombre de cultures à recommander (défaut: 5)

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(2) { ["crop_sequence"]=> array(3) { ["type"]=> string(5) "array" ["description"]=> string(62) "Séquence de cultures actuelle. Ex: ["Maïs", "Blé", "Colza"]" ["items"]=> array(1) { ["type"]=> string(6) "string" } } ["num_recommendations"]=> array(3) { ["type"]=> string(7) "integer" ["description"]=> string(46) "Nombre de cultures à recommander (défaut: 5)" ["default"]=> int(5) } } ["required"]=> array(1) { [0]=> string(13) "crop_sequence" } }

analyze_rotation_comprehensive

Description: Analyse complète d'une rotation: diversité, risques phytosanitaires, bilan azoté, carbone, scoring durabilité, et recommandations cultures suivantes. Résumé 360° en un appel.

Handler: App\Mcp\Tool\RotationAdvisoryTool::analyzeRotationComprehensive()

Parameters

Name Type Required Default Description
crop_sequence array Yes - Séquence de cultures. Ex: ["Maïs", "Blé", "Luzerne", "Colza"]

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["crop_sequence"]=> array(3) { ["type"]=> string(5) "array" ["description"]=> string(64) "Séquence de cultures. Ex: ["Maïs", "Blé", "Luzerne", "Colza"]" ["items"]=> array(1) { ["type"]=> string(6) "string" } } } ["required"]=> array(1) { [0]=> string(13) "crop_sequence" } }

get_parcel_rotation_history

Description: Récupère l'historique réel des cultures 2015-2024 (données RPG/IGN-ASP) pour la parcelle contenant les coordonnées données. Retourne found=false si aucune parcelle RPG ne couvre ce point (zone non agricole ou hors couverture).

Handler: App\Mcp\Tool\RpgRotationDataTool::getParcelRotationHistory()

Parameters

Name Type Required Default Description
latitude number Yes - Latitude WGS84 (ex: 46.67)
longitude number Yes - Longitude WGS84 (ex: 5.55)

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(2) { ["latitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(26) "Latitude WGS84 (ex: 46.67)" } ["longitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(26) "Longitude WGS84 (ex: 5.55)" } } ["required"]=> array(2) { [0]=> string(8) "latitude" [1]=> string(9) "longitude" } }

get_regional_rotation_stats

Description: Statistiques réelles de rotation pour un département (RPG/IGN-ASP 2015-2024) : transitions crop-to-crop les plus fréquentes et rotations les plus courantes.

Handler: App\Mcp\Tool\RpgRotationDataTool::getRegionalRotationStats()

Parameters

Name Type Required Default Description
code_dept string Yes - Code département INSEE (ex: "39", "2A", "971")

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["code_dept"]=> array(2) { ["type"]=> string(6) "string" ["description"]=> string(47) "Code département INSEE (ex: "39", "2A", "971")" } } ["required"]=> array(1) { [0]=> string(9) "code_dept" } }

analyze_parcel_rotation_comprehensive

Description: Récupère l'historique réel de rotation d'une parcelle par coordonnées puis l'analyse complètement (diversité, risques phytosanitaires, azote, carbone, durabilité, recommandations) via RotationAnalyzer. Ancre l'analyse sur des données de terrain réelles plutôt qu'une séquence hypothétique.

Handler: App\Mcp\Tool\RpgRotationDataTool::analyzeParcelRotationComprehensive()

Parameters

Name Type Required Default Description
latitude number Yes - Latitude WGS84 (ex: 46.67)
longitude number Yes - Longitude WGS84 (ex: 5.55)

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(2) { ["latitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(26) "Latitude WGS84 (ex: 46.67)" } ["longitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(26) "Longitude WGS84 (ex: 5.55)" } } ["required"]=> array(2) { [0]=> string(8) "latitude" [1]=> string(9) "longitude" } }

spray_conditions_advisory

Description: Évalue les conditions de pulvérisation basées sur les seuils réglementaires officiels (température, humidité, vent, pluie). Retourne un verdict: favorable/acceptable/unfavorable/forbidden.

Handler: App\Mcp\Tool\SprayAdvisoryTool::getSprayAdvisory()

Parameters

Name Type Required Default Description
latitude number Yes - Latitude de la parcelle
longitude number Yes - Longitude de la parcelle
product null|string No Nom du produit ou type (optionnel: herbicide, fongicide, insecticide)

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(3) { ["latitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(23) "Latitude de la parcelle" } ["longitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(24) "Longitude de la parcelle" } ["product"]=> array(3) { ["type"]=> array(2) { [0]=> string(4) "null" [1]=> string(6) "string" } ["description"]=> string(69) "Nom du produit ou type (optionnel: herbicide, fongicide, insecticide)" ["default"]=> NULL } } ["required"]=> array(2) { [0]=> string(8) "latitude" [1]=> string(9) "longitude" } }

search_usages

Description: Recherche les usages phytopharmaceutiques par culture, cible, fonction et/ou traitement, sans connaître le numéro AMM. Retourne les produits correspondants avec dose, DAR et état réglementaire. Par défaut, seuls les usages autorisés de produits autorisés sont retournés. Au moins un critère parmi culture, cible, fonction et traitement est requis. Les noms de culture courants ("colza") sont traduits en groupe d'usage E-Phy ("Crucifères oléagineuses") et la traduction appliquée est rendue dans la réponse. Une réponse vide contient un diagnostic indiquant quel critère n'existe pas : la relancer avec d'autres mots ne changera rien.

Handler: App\Mcp\Tool\UsageTool::searchUsages()

Parameters

Name Type Required Default Description
culture null|string No Culture visée. Groupe d'usage E-Phy de préférence, un nom courant est traduit automatiquement. Ex: "Crucifères oléagineuses", "colza", "vigne"
cible null|string No Bioagresseur visé, correspondance partielle. Ex: "mildiou", "septoriose", "pucerons". Laisser vide pour un désherbage : les usages de désherbage n'ont pas de cible
fonction null|string No Fonction du produit, correspondance partielle. Ex: "fongicide", "herbicide", "insecticide"
traitement null|string No Type d'intervention. Ex: "Désherbage", "Trt Part.Aer.", "Trt Sem.", "Trt Sol"
etatUsage string No Autorisé État de l'usage recherché. "Autorisé" par défaut, "tous" pour inclure les usages retirés
etatProduit string No AUTORISE État du produit porteur. "AUTORISE" par défaut, "tous" pour inclure les produits retirés
limit integer No 20 Nombre maximum d'usages retournés, entre 1 et 100

Full Schema

array(2) { ["type"]=> string(6) "object" ["properties"]=> array(7) { ["culture"]=> array(3) { ["type"]=> array(2) { [0]=> string(4) "null" [1]=> string(6) "string" } ["description"]=> string(147) "Culture visée. Groupe d'usage E-Phy de préférence, un nom courant est traduit automatiquement. Ex: "Crucifères oléagineuses", "colza", "vigne"" ["default"]=> NULL } ["cible"]=> array(3) { ["type"]=> array(2) { [0]=> string(4) "null" [1]=> string(6) "string" } ["description"]=> string(166) "Bioagresseur visé, correspondance partielle. Ex: "mildiou", "septoriose", "pucerons". Laisser vide pour un désherbage : les usages de désherbage n'ont pas de cible" ["default"]=> NULL } ["fonction"]=> array(3) { ["type"]=> array(2) { [0]=> string(4) "null" [1]=> string(6) "string" } ["description"]=> string(90) "Fonction du produit, correspondance partielle. Ex: "fongicide", "herbicide", "insecticide"" ["default"]=> NULL } ["traitement"]=> array(3) { ["type"]=> array(2) { [0]=> string(4) "null" [1]=> string(6) "string" } ["description"]=> string(78) "Type d'intervention. Ex: "Désherbage", "Trt Part.Aer.", "Trt Sem.", "Trt Sol"" ["default"]=> NULL } ["etatUsage"]=> array(3) { ["type"]=> string(6) "string" ["description"]=> string(93) "État de l'usage recherché. "Autorisé" par défaut, "tous" pour inclure les usages retirés" ["default"]=> string(9) "Autorisé" } ["etatProduit"]=> array(3) { ["type"]=> string(6) "string" ["description"]=> string(91) "État du produit porteur. "AUTORISE" par défaut, "tous" pour inclure les produits retirés" ["default"]=> string(8) "AUTORISE" } ["limit"]=> array(3) { ["type"]=> string(7) "integer" ["description"]=> string(50) "Nombre maximum d'usages retournés, entre 1 et 100" ["default"]=> int(20) } } }

search_products_by_substance

Description: Recherche les produits phytopharmaceutiques contenant une substance active donnée, avec leur teneur et leur état d'autorisation.

Handler: App\Mcp\Tool\UsageTool::searchProductsBySubstance()

Parameters

Name Type Required Default Description
substance string Yes - Nom (ou fragment) de la substance active recherchée, minimum 3 caractères. Ex: "glyphosate", "prothioconazole"
limit integer No 20 Nombre maximum de produits retournés, entre 1 et 100

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(2) { ["substance"]=> array(2) { ["type"]=> string(6) "string" ["description"]=> string(112) "Nom (ou fragment) de la substance active recherchée, minimum 3 caractères. Ex: "glyphosate", "prothioconazole"" } ["limit"]=> array(3) { ["type"]=> string(7) "integer" ["description"]=> string(53) "Nombre maximum de produits retournés, entre 1 et 100" ["default"]=> int(20) } } ["required"]=> array(1) { [0]=> string(9) "substance" } }

search_especes

Description: Recherche des espèces végétales par nom (insensible à la casse). Minimum 2 caractères.

Handler: App\Mcp\Tool\VarieteTool::searchEspeces()

Parameters

Name Type Required Default Description
query string Yes - Nom (ou fragment) de l'espèce recherchée, minimum 2 caractères. Ex: "orge", "blé"

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["query"]=> array(2) { ["type"]=> string(6) "string" ["description"]=> string(85) "Nom (ou fragment) de l'espèce recherchée, minimum 2 caractères. Ex: "orge", "blé"" } } ["required"]=> array(1) { [0]=> string(5) "query" } }

get_varietes_by_espece

Description: Liste les variétés d'une espèce via idEspece (GNIS/Semae) ou codeEspece (EUROPVP). Filtres optionnels : type variétal et âge maximum d'inscription. Résultats paginés.

Handler: App\Mcp\Tool\VarieteTool::getVarietesByEspece()

Parameters

Name Type Required Default Description
idEspece null|integer No Identifiant GNIS de l'espèce (SEMAE). Mutuellement exclusif avec codeEspece.
codeEspece null|string No Code UPOV de l'espèce (EUROPVP). Mutuellement exclusif avec idEspece.
typeVariete null|string No Type variétal à filtrer. Ex: "deux rangs", "six rangs", "printemps", "automne", "brassicole"
maxAge null|integer No Âge maximum en années depuis l'inscription. Ex: 5 pour les variétés inscrites depuis moins de 5 ans
limit integer No 100 Nombre maximum de variétés retournées (1 à 500, 100 par défaut)
offset integer No 0 Rang de départ, pour parcourir les résultats suivants

Full Schema

array(2) { ["type"]=> string(6) "object" ["properties"]=> array(6) { ["idEspece"]=> array(3) { ["type"]=> array(2) { [0]=> string(4) "null" [1]=> string(7) "integer" } ["description"]=> string(77) "Identifiant GNIS de l'espèce (SEMAE). Mutuellement exclusif avec codeEspece." ["default"]=> NULL } ["codeEspece"]=> array(3) { ["type"]=> array(2) { [0]=> string(4) "null" [1]=> string(6) "string" } ["description"]=> string(70) "Code UPOV de l'espèce (EUROPVP). Mutuellement exclusif avec idEspece." ["default"]=> NULL } ["typeVariete"]=> array(3) { ["type"]=> array(2) { [0]=> string(4) "null" [1]=> string(6) "string" } ["description"]=> string(94) "Type variétal à filtrer. Ex: "deux rangs", "six rangs", "printemps", "automne", "brassicole"" ["default"]=> NULL } ["maxAge"]=> array(3) { ["type"]=> array(2) { [0]=> string(4) "null" [1]=> string(7) "integer" } ["description"]=> string(103) "Âge maximum en années depuis l'inscription. Ex: 5 pour les variétés inscrites depuis moins de 5 ans" ["default"]=> NULL } ["limit"]=> array(3) { ["type"]=> string(7) "integer" ["description"]=> string(68) "Nombre maximum de variétés retournées (1 à 500, 100 par défaut)" ["default"]=> int(100) } ["offset"]=> array(3) { ["type"]=> string(7) "integer" ["description"]=> string(55) "Rang de départ, pour parcourir les résultats suivants" ["default"]=> int(0) } } }

search_varietes

Description: Recherche des variétés par nom, obtenteur, catalogue ou espèce, avec filtres optionnels d'espèce et de type variétal. Minimum 2 caractères, sauf si un filtre est fourni.

Handler: App\Mcp\Tool\VarieteTool::searchVarietes()

Parameters

Name Type Required Default Description
query string No Terme recherché dans le nom, l'obtenteur, le catalogue ou le nom d'espèce, minimum 2 caractères
espece null|string No Nom de l'espèce pour restreindre la recherche. Ex: "orge", "blé tendre"
typeVariete null|string No Type variétal à filtrer. Ex: "deux rangs", "printemps", "brassicole"
limit integer No 20 Nombre maximum de variétés retournées (1 à 500, 20 par défaut)

Full Schema

array(2) { ["type"]=> string(6) "object" ["properties"]=> array(4) { ["query"]=> array(3) { ["type"]=> string(6) "string" ["description"]=> string(98) "Terme recherché dans le nom, l'obtenteur, le catalogue ou le nom d'espèce, minimum 2 caractères" ["default"]=> string(0) "" } ["espece"]=> array(3) { ["type"]=> array(2) { [0]=> string(4) "null" [1]=> string(6) "string" } ["description"]=> string(73) "Nom de l'espèce pour restreindre la recherche. Ex: "orge", "blé tendre"" ["default"]=> NULL } ["typeVariete"]=> array(3) { ["type"]=> array(2) { [0]=> string(4) "null" [1]=> string(6) "string" } ["description"]=> string(70) "Type variétal à filtrer. Ex: "deux rangs", "printemps", "brassicole"" ["default"]=> NULL } ["limit"]=> array(3) { ["type"]=> string(7) "integer" ["description"]=> string(67) "Nombre maximum de variétés retournées (1 à 500, 20 par défaut)" ["default"]=> int(20) } } }

get_variete_detail

Description: Retourne le détail complet d'une variété à partir de son identifiant interne, types variétaux compris.

Handler: App\Mcp\Tool\VarieteTool::getVarieteDetail()

Parameters

Name Type Required Default Description
id integer Yes - Identifiant interne de la variété, retourné par search_varietes ou get_varietes_by_espece

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["id"]=> array(2) { ["type"]=> string(7) "integer" ["description"]=> string(92) "Identifiant interne de la variété, retourné par search_varietes ou get_varietes_by_espece" } } ["required"]=> array(1) { [0]=> string(2) "id" } }

resolve_libelle_ephy

Description: Traduit un terme agricole courant en libellés officiels E-Phy utilisables comme filtres culture, cible ou traitement de search_usages. E-Phy raisonne en groupes d'usages, pas en cultures : "colza" n'existe pas en base, il faut chercher "Crucifères oléagineuses". À appeler AVANT toute recherche portant sur une culture ou une cible dont le libellé officiel n'est pas connu, et systématiquement quand une recherche revient vide, plutôt que de réessayer avec d'autres mots.

Handler: App\Mcp\Tool\VocabulaireTool::resolveLibelleEphy()

Parameters

Name Type Required Default Description
terme string Yes - Terme employé par l'utilisateur, à traduire en libellé E-Phy. Ex: "colza", "désherbage", "mildiou", "blé tendre"

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["terme"]=> array(2) { ["type"]=> string(6) "string" ["description"]=> string(117) "Terme employé par l'utilisateur, à traduire en libellé E-Phy. Ex: "colza", "désherbage", "mildiou", "blé tendre"" } } ["required"]=> array(1) { [0]=> string(5) "terme" } }

list_cultures

Description: Liste les libellés de culture (groupes d'usages) réellement présents dans E-Phy, avec le nombre d'usages porté par chacun. Sert à voir le référentiel complet quand resolve_libelle_ephy ne trouve aucune correspondance.

Handler: App\Mcp\Tool\VocabulaireTool::listCultures()

Parameters

Name Type Required Default Description
filtre null|string No Filtre optionnel sur le libellé, correspondance partielle. Ex: "choux", "porte graine"

Full Schema

array(2) { ["type"]=> string(6) "object" ["properties"]=> array(1) { ["filtre"]=> array(3) { ["type"]=> array(2) { [0]=> string(4) "null" [1]=> string(6) "string" } ["description"]=> string(87) "Filtre optionnel sur le libellé, correspondance partielle. Ex: "choux", "porte graine"" ["default"]=> NULL } } }

weather_current

Description: Récupère les conditions météo actuelles (température, humidité, vent, précipitations).

Handler: App\Mcp\Tool\WeatherTool::getCurrent()

Parameters

Name Type Required Default Description
latitude number Yes - Latitude (ex: 45.123)
longitude number Yes - Longitude (ex: 2.456)
variables null|string No Variables optionnelles à retourner (ex: "temperature,humidity")

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(3) { ["latitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(21) "Latitude (ex: 45.123)" } ["longitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(21) "Longitude (ex: 2.456)" } ["variables"]=> array(3) { ["type"]=> array(2) { [0]=> string(4) "null" [1]=> string(6) "string" } ["description"]=> string(64) "Variables optionnelles à retourner (ex: "temperature,humidity")" ["default"]=> NULL } } ["required"]=> array(2) { [0]=> string(8) "latitude" [1]=> string(9) "longitude" } }

weather_forecast

Description: Récupère les prévisions météo pour les 7 prochains jours (ou N jours).

Handler: App\Mcp\Tool\WeatherTool::getForecast()

Parameters

Name Type Required Default Description
latitude number Yes - Latitude
longitude number Yes - Longitude
days integer No 7 Nombre de jours de prévision (défaut: 7)
variables null|string No Variables optionnelles à retourner

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(4) { ["latitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(8) "Latitude" } ["longitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(9) "Longitude" } ["days"]=> array(3) { ["type"]=> string(7) "integer" ["description"]=> string(42) "Nombre de jours de prévision (défaut: 7)" ["default"]=> int(7) } ["variables"]=> array(3) { ["type"]=> array(2) { [0]=> string(4) "null" [1]=> string(6) "string" } ["description"]=> string(35) "Variables optionnelles à retourner" ["default"]=> NULL } } ["required"]=> array(2) { [0]=> string(8) "latitude" [1]=> string(9) "longitude" } }

weather_statistics

Description: Récupère des statistiques météo pour une période (pluie cumulée, températures moyennes, etc.).

Handler: App\Mcp\Tool\WeatherTool::getStatistics()

Parameters

Name Type Required Default Description
latitude number Yes - Latitude
longitude number Yes - Longitude
period string No 7d Période : "7d", "30d", "90d" (défaut: "7d")

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(3) { ["latitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(8) "Latitude" } ["longitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(9) "Longitude" } ["period"]=> array(3) { ["type"]=> string(6) "string" ["description"]=> string(45) "Période : "7d", "30d", "90d" (défaut: "7d")" ["default"]=> string(2) "7d" } } ["required"]=> array(2) { [0]=> string(8) "latitude" [1]=> string(9) "longitude" } }

weather_agricultural_indicators

Description: Calcule des indicateurs agricoles (gel, chaleur, sécheresse, GDD, stress hydrique).

Handler: App\Mcp\Tool\WeatherTool::getAgriculturalIndicators()

Parameters

Name Type Required Default Description
latitude number Yes - Latitude
longitude number Yes - Longitude
period string No 30d Période d'analyse : "7d", "30d", "90d" (défaut: "30d")

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(3) { ["latitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(8) "Latitude" } ["longitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(9) "Longitude" } ["period"]=> array(3) { ["type"]=> string(6) "string" ["description"]=> string(56) "Période d'analyse : "7d", "30d", "90d" (défaut: "30d")" ["default"]=> string(3) "30d" } } ["required"]=> array(2) { [0]=> string(8) "latitude" [1]=> string(9) "longitude" } }

weather_frost_risk

Description: Évalue le risque de gel (nombre de jours, température minimale).

Handler: App\Mcp\Tool\WeatherTool::getFrostRisk()

Parameters

Name Type Required Default Description
latitude number Yes - Latitude
longitude number Yes - Longitude

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(2) { ["latitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(8) "Latitude" } ["longitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(9) "Longitude" } } ["required"]=> array(2) { [0]=> string(8) "latitude" [1]=> string(9) "longitude" } }

weather_water_stress

Description: Évalue le stress hydrique et les besoins d'irrigation.

Handler: App\Mcp\Tool\WeatherTool::getWaterStress()

Parameters

Name Type Required Default Description
latitude number Yes - Latitude
longitude number Yes - Longitude

Full Schema

array(3) { ["type"]=> string(6) "object" ["properties"]=> array(2) { ["latitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(8) "Latitude" } ["longitude"]=> array(2) { ["type"]=> string(6) "number" ["description"]=> string(9) "Longitude" } } ["required"]=> array(2) { [0]=> string(8) "latitude" [1]=> string(9) "longitude" } }

Prompts 0

No prompts were registered.

Resources 2

especes

URI nevya://referentiel/especes
Handler App\Mcp\Resource\ReferentielResource::especes()
Description Liste des espèces végétales du catalogue semencier (GNIS/Semae + EUPVP), avec idEspece ou codeEspece et le nombre de variétés inscrites.
MIME Type application/json

types_varietaux

URI nevya://referentiel/types-varietaux
Handler App\Mcp\Resource\ReferentielResource::typesVarietaux()
Description Valeurs de type variétal réellement présentes en base (deux rangs, six rangs, printemps, hiver, brassicole, etc.), utilisables comme filtre typeVariete.
MIME Type application/json

Resource Templates 0

No resource templates were registered.