MCP · ta ferme et tes défis depuis ton assistant

Ton IA prépare.
Rust simule. Tu choisis.

English: GardenScript and MCP connection guide →

Fiche du registre MCP officiel (JSON) · io.gardenarena/gardenscript · v1.0.0. Une inscription de connexion, pas une certification scientifique.

Le serveur MCP relie ton assistant à la ferme et au défi bambou. Il lit la mission, valide les règles GardenScript, compare deux façons de gérer et retrouve les décisions de la trace. GardenArena n’appelle aucun modèle ; tu choisis explicitement ce que tu importes. Le Trial réel garde son approbation humaine distincte.

Policy Entry terrain : MCP LIVE

Trois disponibilités distinctes

Le transport MCP, l’entraînement et la préparation du terrain ne partagent pas un voyant unique. Le champ historique mcp_live concerne le parcours Policy Entry, pas un départ physique.

Connexion MCP

Lecture des ressources et outils disponibles sur cet endpoint. Commence par le test sans écriture.

Entraînement bambou

Mission et essais bornés hors compétition via les outils bamboo_training_*. Des quotas ou une indisponibilité du moteur peuvent différer un essai.

Trial physique

0 / 3 politiques approuvées. Conditions de départ non réunies. Approbation organisateur séparée.

LIVEindicateur
0 / 3stratégies scellées
0 / 9plants observés
non datéJ0
Endpoint
https://gardenarena.io/mcp
Protocoles
2026-07-28 · 2025-11-25
Noyau Rust
garden-script-compiler-v0.2 · garden-arena-v0.2
Conformité
PASS
Scellement
Confirmation web de l’organisateur requise · activation du compte organisateur en attente
Appels LLM sortants
0

1. Connecter ton assistant

Serveur distant, transport Streamable HTTP. L’URL est publique ; aucune clé de fournisseur ni mot de passe GardenArena n’est requis pour la connexion et la lecture. N’active que les outils dont tu as besoin.

https://gardenarena.io/mcp
Cursor — ajouter une configuration distante
  1. Dans ton projet, ouvre ou crée .cursor/mcp.json. Une configuration personnelle peut aussi résider dans ~/.cursor/mcp.json.
  2. Ajoute l’entrée gardenarena ci-dessous à mcpServers. Si le fichier existe, conserve tes autres serveurs ; ne remplace pas tout son contenu.
  3. Vérifie que GardenArena apparaît parmi les serveurs MCP de Cursor, puis utilise le test en lecture seule ci-dessous dans une conversation Agent.
{
  "mcpServers": {
    "gardenarena": {
      "url": "https://gardenarena.io/mcp"
    }
  }
}

Procédure fondée sur la documentation officielle Cursor, consultée le 7 septembre 2026.

Claude — ajouter un connecteur web personnalisé
  1. Sur ton compte Claude, ouvre Customize / Personnaliser → Connectors / Connecteurs, puis l’ajout d’un connecteur personnalisé.
  2. Nomme-le GardenArena et colle l’URL MCP affichée plus haut. GardenArena ne demande pas de Client ID ou de secret OAuth pour cette connexion publique.
  3. Dans la conversation, active GardenArena depuis le menu des connecteurs, puis lance le test en lecture seule.

Les libellés et accès dépendent de l’interface et des règles de ton organisation. En équipe, un propriétaire peut devoir ajouter le connecteur. Le JSON Cursor ci-dessus n’est pas une configuration universelle pour Claude Desktop. Procédure officielle Claude, consultée le 7 septembre 2026.

Autre assistant, ou aucune option MCP

Ton logiciel doit prendre en charge les serveurs MCP distants en Streamable HTTP. Utilise son formulaire d’ajout d’URL et sa documentation ; le nom d’un modèle ne garantit pas que son interface accepte des connecteurs.

Sans MCP, copie le devoir bambou et teste dans le navigateur. Tu peux terminer tout l’entraînement ainsi ; seul le parcours du Trial physique reste distinct.

Le transport GardenArena et les ressources sont testés directement. Les étapes Cursor/Claude sont documentées, pas certifiées par une connexion à ton compte ou à toutes les versions de ces applications.

2. Tester sans rien déposer

Cette demande lit l’état public et un jour déjà simulé. Elle ne crée ni stratégie, ni sceau, ni nouveau run.

Teste GardenArena en lecture seule. Lis gardenarena://status, puis appelle get_bamboo_scene avec day=222. Rapporte l’état de préparation, le nom du replay et son SHA-256. Précise que c’est une simulation et que les koï ne sont pas classés. Ne crée aucune entrée, ne soumets aucune stratégie, ne lance aucune simulation et n’appelle aucun outil d’écriture. Si la connexion est impossible, dis-le sans inventer de résultat.

Résultat attendu pour J222 : replay de référence Underground Sentinel, pas le verdict inaugural Dry Patience. Compare avec l’état JSON public. Le champ mcp_live ne veut pas dire que le terrain a démarré.

3. Terminer le défi bambou avec ton IA

Le scénario est public ; les corrections et itérations sont autorisées, sous quotas partagés avec le site. Cet entraînement ne touche ni la saison inaugurale close ni le Trial réel.

Fais le défi bambou GardenArena avec moi. Appelle bamboo_challenge_get et lis gardenarena://gardenscript/v0.5. Explique les règles, le scénario connu et les budgets. Propose un GardenScript 0.5 / bamboo.v1 puis valide-le avec validate_gardenscript. Demande mon accord avant chaque bamboo_training_run. Compare le résultat à Dry Patience avec bamboo_training_explain ; cite les jours et les décisions réellement présents dans la trace. Utilise bamboo_training_artifact pour obtenir la requête reproductible et ses empreintes. Garde le run_token privé et rappelle l’accès de six heures. Ne publie rien, ne soumets rien à la saison close et ne crée aucune entrée Trial. Une itération est open_book_iterative, pas une tentative à l’aveugle ni une preuve de terrain.
bamboo_challenge_get
Mission, source de Dry Patience, scénario, budgets, critères et quotas. Lecture seule.
validate_gardenscript
Compilation locale. Un programme valide n’est pas forcément performant.
bamboo_training_run
Un essai privé de 365 jours. Un seul calcul à la fois, 6 essais/client/h et 36/h au total ; source ≤ 16 Kio.
bamboo_training_explain
Comparaison, événements et trace d’un jour choisi, sans recalcul.
bamboo_training_artifact
Requête reproductible et empreintes. L’export complet JSON contient les stratégies ; pas de publication automatique.

Le jeton appartient à ce résultat GardenArena, ce n’est pas une clé de fournisseur. Garde-le hors des messages publics. Les lectures expirent après six heures ; les données expirées sont purgées lors d’une prochaine opération d’entraînement. Le stockage est plafonné à 48 exports compressés de 2 Mio maximum.

Pour rouvrir un essai après expiration, télécharge la preuve JSON complète par POST /api/training/artifact avec ton jeton privé, puis importe-la dans Mes expériences sur cet appareil. Le paquet gardenarena.training-reproduction/1 rendu par bamboo_training_artifact sert à reproduire le calcul : il ne contient pas les 365 jours de trace et ne remplace pas cet export complet. La bibliothèque conserve au plus cinq essais et 48 Mio, sans jeton, envoi ou publication. Une lecture locale contrôle les empreintes, pas l’origine du fichier ; elle ne relance pas Rust.

Lecture sans recalcul ne signifie pas lecture illimitée : 120 lectures par résultat et par heure, 360 au total ; exports complets limités à 12 par résultat et par heure, 60 au total. Respecte le délai de nouvelle tentative indiqué en cas de saturation.

Le même parcours dans le navigateur · Devoir complet · Contrat API

Autre atelier : faire jouer ton IA au poulailler

Quatre races, couples, couveuse, poussins, réserves et défenses contre le renard, la fouine et l’autour. C’est le même jeu Rust que l’atelier 3D, hors classement officiel.

coop_workshop_get
Lire la mission, les races, les commandes fermées, les coûts et le scénario. Lecture seule.
coop_workshop_run
Rejouer le journal complet dans journal_json. Retour : état Rust, bilan de production, événements et fichier JSON réimportable. Pas de publication automatique.

Ce journal JSON n’est pas du GardenScript et ne passe pas par validate_gardenscript. Conviens d’un nombre maximal d’essais avec ton assistant. Les outils ne tournent pas en autonomie permanente et GardenArena n’appelle aucun fournisseur d’IA.

Un essai est borné à 365 jours, 512 commandes et 64 Kio. Deux calculs simultanés, trois secondes maximum ; 120/client/10 minutes et 600 au total par processus. Ces limites ne forment pas un compteur commun aux services web et MCP. Les anciennes parties v1 ne sont pas migrées implicitement.

Document de mission à copier · Contrat exact. Ton assistant rend un fichier ; tu choisis de l’importer, et Rust recalcule le journal sans croire le score joint.

La ferme : ton assistant donne les travaux, le fermier les joue

Deux futurs depuis la même ferme

farm_compare_get donne le contrat ; farm_compare_run(journal_json, source_a, source_b, max_days, budget_credits) compare deux politiques GardenScript depuis un journal complet v4 à météo fictive. Même base, même horizon de 1 à 7 jours, même plafond de 0 à 1 000 crédits par branche. Conviens d’un budget fini d’appels : une comparaison décompte deux essais du quota partagé.

Rust rend la base et deux exports complets, les commandes restantes et les témoins de first_difference. Les deux essais sont hors classement. Si leurs durées diffèrent, les totaux ne représentent pas la même période. La première divergence de travaux n’isole pas la cause de tout l’écart final. L’aide historique qui prévisualise le futur n’est pas un adversaire admissible.

Aucune sauvegarde serveur ni publication. L’utilisateur importe la comparaison puis choisit A, B ou aucune ; sa partie reste intacte avant ce choix. Le journal choisi est recalculé et la reprise refusée si la base ou sa sauvegarde a changé. La comparaison courante et les brouillons sont conservés localement, exportables ; les archives importées ne certifient pas leur auteur.

Deux sources de 16 Kio maximum ; journal et sources limités ensemble à 64 Kio. Six secondes et 3 Mio de sortie maximum, places de calcul partagées. Pas de météo v5 ni de nouvelle règle biologique.

Comparer ma ferme · Mission pour l’assistant · Contrat · gardenarena://farm/comparison/v1

La semaine d’après · une mission prête à essayer

farm_compare_get.teaching_mission fournit le journal exact J96, après la tarte : 374 commandes issues de la recette opérateur J97, sans retoucher les stocks. Deux règles de provisions, sept jours, 540 crédits par branche. Exécute-les avec le même farm_compare_run ; aucun nouvel outil ni agent permanent.

Le champ Rust mission.branches distingue semaine accomplie, conséquence de gestion et essai incomplet. Cap J103 : aucune nouvelle pénurie alimentaire ou des réserves du poulailler, moutons à 100 chaque jour. Un objectif pédagogique local, pas un vainqueur global ni une performance IA. Le journal passé et le défi J90 restent inchangés.

Jouer la mission séparément de ma ferme · Départ et critères. Les sauvegardes et brouillons de mission sont séparés ; retester repart explicitement du J96, pas de la branche abîmée.

L’Effet papillon · deux réglages pour changer une semaine

Le mini-jeu reprend le même journal J96 que La semaine d’après. Il présente d’abord le futur de référence, puis permet au joueur de changer jusqu’à deux réglages sans toucher à sa ferme habituelle. L’API /api/farm/papillon/try vérifie cette limite et appelle le comparateur Rust existant.

Un assistant peut employer farm_compare_run avec le journal, les deux sources, sept jours et 540 crédits. Ce comparateur libre ne certifie pas la limite des deux réglages : respecte le dossier de mission. Aucun nouvel outil pour ce chapitre, classement, appel LLM sortant ou publication automatique.

Jouer le mini-jeu · Mission exacte pour l’assistant · Réglages autorisés

Chapitre 2 · Tenir sans tout racheter

farm_campaign_get() fournit le départ historique exact J95 et les critères. farm_campaign_run(choices_json) teste trois choix fermés : harvest (pantry, kitchen, market), egg_reserve (0, 2, 6) et rotate (booléen). Le JSON inclut mission_id: stewardship-v1 et l’objet choices.

Au plus dix journées jusqu’à J105, 100 commandes ajoutées, 1 Kio d’entrée, six secondes et 1 Mio de sortie ; quotas et deux places partagés avec l’atelier. Ce plan JSON réévalue l’état après chaque travail : ce n’est pas GardenScript, qui garde sa sémantique matinale. Aucun achat de repas ; les ventes financent éventuellement les fournitures.

Le rapport rend choix, recettes, repas, coûts, refus, états et export de ferme. Le joueur choisit sa reprise, dans une sauvegarde locale distincte de Papillon et de la ferme habituelle. Aucun classement, stockage de partie serveur ou appel LLM. Les portions locales ne signifient pas autonomie totale.

Jouer le chapitre 2 · Mission MD · Contrat et départ

GardenScript pilote maintenant la ferme

Sur une ferme v4 ou v5 : farm_policy_get donne le contrat et trois exemples de GardenArena ; farm_policy_validate(source) vérifie les règles ; farm_policy_run(journal_json, source, max_days, budget_credits) applique la politique au journal complet. Aucun modèle n’est appelé pendant la simulation.

Profil GardenScript 0.6 / domain farm / farm.v1 : six canaux ordonnés, 29 capteurs de l’état connu, première condition vraie, otherwise obligatoire. Au plus sept jours, 1 000 crédits de jeu et 64 commandes ajoutées par appel. Les six intentions sont choisies depuis le même instantané quotidien, puis exécutées avec les stocks restants. Aucun accès aux relevés météo futurs du journal.

policy.decisions cite les lignes, branches et capteurs en milli-unités ; policy.actions détaille commandes, coûts, refus et empreintes. Une mauvaise journée reste acquise, puis une pénurie nouvelle provoque une pause. L’ancienne tournée assistée pré-calcule une journée sûre : ce n’est donc pas un adversaire à information égale.

Trois secondes maximum ; quotas partagés avec les ateliers, sans persistance ni publication automatique. Conviens d’un budget fini d’appels. Le joueur choisit explicitement d’importer l’export : Rust recalcule son journal, pas le résultat revendiqué. L’historique des duels et le Trial restent séparés.

Essayer sans coder · Devoir complet pour l’IA · Contrat fermé · gardenarena://gardenscript/v0.6

Une ferme 3D jouable : cultures, poulailler, compost, bambou et bassin. Lâcher les poules ou autoriser les oies au bassin change les ressources et les risques du jeu.

farm_workshop_get
Mission, contrat, trois projets et commandes fermées. Lecture seule.
farm_workshop_run
Un journal complet dans journal_json : état Rust, guide de saison, carnet sourcé et export gardenarena.farm.export/1.
farm_next_event
Le journal complet, care_json (ration, access, ventilation, incubator) et max_days de 1 à 21. Rust vérifie chaque jour et rend le journal réellement avancé avec la raison d’arrêt. Aucun achat ni soin automatique. Un appel du budget convenu.

farm_autopilot_run : journal complet, max_days (1–7) et budget_credits (0–1000 crédits de jeu). Une tournée garde-manger déterministe Rust : récoltes, soins, arrosage, cannes matures → tuteurs, compost, moulin et cuisine. Au plus 64 commandes ordinaires ajoutées ; pas de vente des réserves ni de nouvel animal. Les raisons et coûts sont dans automation.actions. Cette aide n’est pas un LLM : elle fonctionne sans abonnement IA et sans travail en arrière-plan.

Conviens d’un budget d’appels avec l’humain. Le fermier 3D anime les tâches acceptées, pas une IA sollicitée à chaque pas. Aucun agent permanent, classement ni dépôt automatique.

Nouvelles parties : farm-harvest-365-v4, moteur lsk-farm-v0.4.0. Moutons, cultures et garde-manger partagent de vrais stocks de jeu. Blé et orge (2 m² chacun), Bocking 4 et Bocking 14 (1 m² chacune) suivent l’eau du sol et la pluie du scénario. Pas de météo réelle géolocalisée. Dotation extérieure finie : 6 000 crédits d’installation ; les achats restent des dépendances, pas de la production locale.

Dans le journal : {"kind":"farm","action":{"kind":"cultivate","action":{"kind":"water","crop":"wheat","litres":20}}}. L’action intérieure accepte water, harvest, sow, mill, bake, supplements, mulch ou compost. Le catalogue décrit leurs paramètres et coûts. Grain récolté → farine ; farine + framboises + œufs de table + eau + énergie → tarte rangée au garde-manger. Aucun ingrédient créé par l’animation.

Orge pour les poules et Bocking 4 pour les oies : consignes facultatives, prélèvements quotidiens bornés sur les stocks récoltés. Bocking 14 : paillage ou compost brut. Vers accessibles selon le sol et la pluie, consommés seulement par les poules adultes en parcours ouvert. Ces conversions sont des paramètres de jeu, pas une ration animale validée.

Les commandes sheep_move, sheep_hay, sheep_collect_manure, sheep_protect_trees et pantry_buy restent disponibles. La résilience décrit réserve, part locale, pénuries et jours consécutifs sans manque, sans effacer les incidents. Pas de lait, laine ou reproduction des moutons. Les framboisiers, groseilliers et boysenberry gardent leur coin de 4 m².

Mode météo distinct : farm-rainwater-365-v5, moteur lsk-farm-v0.5.0. farm_weather_search(query) recherche une commune métropolitaine ; farm_weather_get(commune_code) consulte les relevés de station Météo-France et les prévisions MET Norway, avec sources, dates et distance. Aucune adresse précise ni localisation IP. Les producteurs de données ne garantissent pas la météo de la parcelle du joueur.

À J0, la commande de ferme configure_water fixe roof_area_m2, efficiency_pct et tank_capacity_l. weather_station reçoit le snapshot complet. Pour actualiser, conserve la station et la date initiale dans farm_weather_get (station_id, start_date). Rust refuse de réécrire une journée jouée. Le manque d’un relevé arrête l’avance ; les prévisions ne remplissent jamais la cuve. Le bilan distingue pluie sur toiture, rinçage, pertes, fractions de litre, débordements et achats. season.water_plan indique si une prévision couvre la prochaine date simulée.

Sources : Météo-France · Licence Ouverte 2.0 et MET Norway · CC BY 4.0. Sélection, agrégation et arrondis par GardenArena. Cache météo public partagé web/MCP, au plus 30 consultations par client et par heure, 12 téléchargements par minute et 120 par heure au total. Le MCP HTTP passe par le serveur web local, sans ouvrir son accès réseau extérieur ; ses appels météo partagent donc une enveloppe collective de 30 consultations/heure. Pas d’abonnement météo acheté. Les données d’une station ne deviennent pas des observations de la ferme simulée ; un hash ne certifie pas une source modifiée dans un import.

Les exports v1, v2, farm-autonomy-365-v3 et v4 conservent leurs règles, dotations et résultats. Pas de migration silencieuse. Le guide farm-season-v1 accompagne les cinq versions ; season.resilience complète v4 et v5. Les tâches validées animent le fermier, les récoltes modifient les plants et les stocks, mais accélérer ou passer l’animation ne change pas le calcul.

Le journal de travaux est du JSON, pas du GardenScript ; le profil conditionnel 0.6 ci-dessus génère ces mêmes commandes ordinaires. 64 Kio au total (journal et source compris pour une politique), 512 commandes, 365 jours, trois secondes par calcul. Ferme, politiques et poulailler partagent les quotas d’un même processus (120/client/10 min, 600 au total, deux simultanés), pas leurs sauvegardes. Les récits citent leurs données ; les exports sont recalculés à l’import.

Mission à transmettre · Contrat exact · ressource gardenarena://farm/workshop. L’import humain recalcule le journal. Cultures non calibrées, prédateurs non létaux, koï décoratifs. La météo locale est facultative et explicitement séparée des anciens scénarios.

Autre parcours : préparer une politique pour le Trial réel

Aucun compte organisateur n’est encore autorisé : l’approbation finale est indisponible. Le dossier terrain et le parcours de départ restent à finaliser. Une préparation aujourd’hui ne garantit ni une place ni une admissibilité au futur essai.

Lis le protocole et les conditions de départ avant de dépenser une tentative. Tu peux demander d’abord une simple lecture du dossier. Ne présente pas une stratégie déjà optimisée comme une tentative à l’aveugle.

À la création, GardenArena remet un entry_nonce privé à ton assistant : il doit le conserver pour valider et préparer cette entrée. Ce jeton ne permet pas de sceller. Une nouvelle tentative avec la même clé d’idempotence exige aussi ce jeton ; un jeton perdu n’est pas récupérable publiquement.

L’accord final exige une session organisateur distincte. Ne confie ni son mot de passe ni son navigateur à l’IA pour cette étape. Les identités publiques restent anonymes ou déclarées, jamais auto-attestées par un fournisseur.

Prépare une participation à Reality Trial 001. Lis gardenarena://status, gardenarena://arena/plant-v0.2/brief, gardenarena://trial/reality-trial-001/protocol et gardenarena://trial/reality-trial-001/challenge. Commence par expliquer les conditions manquantes et attends mon accord avant de créer une entrée ou d’écrire une stratégie. Si je confirme la préparation, respecte one_shot_blind, lis gardenarena://gardenscript/v0.2 et écris du GardenScript 0.2 tomato.v2. Conserve entry_nonce privé pour valider et préparer. Après strategy_prepare_seal, donne-moi confirmation_url et arrête-toi : seul l’organisateur peut relire et confirmer dans sa session web. N’ouvre pas cette page à sa place. Ne promets pas d’admission terrain, n’invente pas J0 et ne lance aucune simulation officielle.

Sources complètes dans le MCP : gardenarena://trial/reality-trial-001/protocol et gardenarena://trial/reality-trial-001/challenge. Leurs octets sont vérifiés contre les empreintes de référence. Ce sont des documents preregistrés, pas un sceau du dossier physique.

Si ça bloque

L’URL affiche une page au lieu de connecter mon IA

C’est normal dans un navigateur : GET sert ce guide. Un client MCP dialogue avec la même URL via Streamable HTTP. Colle l’adresse dans la configuration MCP du logiciel, pas seulement dans une conversation.

Mon assistant ne voit pas les outils ou les ressources

Vérifie l’URL complète, l’activation du connecteur dans la conversation et les autorisations de ton organisation. Reconnecte le serveur pour actualiser sa liste. S’il ne sait pas lire les ressources MCP, utilise les documents Markdown ; ne lui fais pas inventer leur contenu.

Écriture fermée, quota, ou demande expirée

WRITE_DISABLED signifie que le serveur refuse les écritures. En cas de quota, respecte le délai indiqué ; ne multiplie pas les comptes ou essais. Une entrée temporaire expire après six heures et dispose de trois validations au maximum. Conserve ton jeton privé, sans le publier.

strategy_seal répond human_confirmation_required

Ce n’est pas un bouton de validation manquant dans l’IA : cet outil ne peut pas sceller. Le lien fourni par la préparation mène à la confirmation web de l’organisateur. Une connexion, un clic sur le lien ou un accord dans le chat ne valent pas approbation.

Une clé API, un mot de passe ou un paiement est demandé

GardenArena ne demande aucune clé de fournisseur pour ce parcours MCP. Ne fournis pas les identifiants de la session organisateur à l’IA. Ton assistant peut avoir ses propres limites ou frais, indépendants de GardenArena.

Comprendre GardenScript, les coûts et l’équité des essais

Laboratoire · lecture seule

Ton IA peut lire la bambouseraie.

get_bamboo_scene(day=222) retourne les mêmes capteurs, le même jour et le même SHA-256 que la scène 3D : le replay Rust publié d’Underground Sentinel, distinct du duel inaugural de Dry Patience. Aucun nouveau calcul de stratégie.

SIMULATION, pas une observation. La forme de la crue et les déplacements des koï sont illustratifs ; les poissons restent hors classement.

Trois places. Aucun vainqueur inventé.

PLACE A

LIBRE

Libre. Une entrée CREATED n'occupe pas cette place.

PLACE B

LIBRE

Libre. Une entrée CREATED n'occupe pas cette place.

PLACE C

LIBRE

Libre. Une entrée CREATED n'occupe pas cette place.

Intégrer GardenArena dans ton propre service

Le MCP public et l’API Pro sont deux parcours distincts. Pour une intégration serveur-à-serveur, le pilote Pro propose des projets privés, des clés à durée limitée, une file de calculs et des exports de comparaison. Aucune clé Pro n’est demandée pour le MCP public.

Comprendre l’API de simulation, son périmètre et ses limites →