GroupeZ Docs
Configurations

Exigences

Guide complet du systeme d'exigences dans zMenu - conditions pour les boutons et inventaires

Les exigences (requirements) sont des conditions qui doivent etre remplies avant qu'un bouton soit affiche, clique, ou qu'un inventaire soit ouvert. C'est le systeme central pour creer des menus dynamiques et conditionnels dans zMenu.

Comment fonctionnent les exigences

Une exigence verifie une condition (permission, valeur de placeholder, item en inventaire, etc.). Selon le resultat :

  • Si toutes les exigences sont remplies, les actions success sont executees
  • Si une exigence echoue, les actions deny de cette exigence sont executees
click-requirement:
  vip-requirement:
    clicks:
      - ALL
    requirements:
      - type: permission
        permission: "server.vip"
        deny:
          - type: message
            messages:
              - "&cVous devez être VIP pour utiliser ceci !"
    success:
      - type: message
        messages:
          - "&aBienvenue, VIP !"

Ou utiliser les exigences

Les exigences peuvent etre utilisees dans trois contextes :

view-requirement (Boutons)

Controle si un bouton est visible. Si les exigences ne sont pas remplies, le bouton est entierement masque.

items:
  vip-seulement:
    slot: 0
    view-requirement:
      requirements:
        - type: permission
          permission: "server.vip"
    item:
      material: DIAMOND
      name: "&b&lItem VIP"

click-requirement (Boutons)

Controle si un bouton peut etre clique. Le bouton reste visible, mais le clic est refuse si les conditions ne sont pas remplies.

items:
  achat:
    slot: 0
    click-requirement:
      achat:
        clicks:
          - ALL
        requirements:
          - type: placeholder
            value: "%vault_eco_balance%"
            action: SUPERIOR_OR_EQUAL
            number: 100
            deny:
              - type: message
                messages:
                  - "&cVous avez besoin de 100$ pour acheter ceci !"
              - type: sound
                sound: ENTITY_VILLAGER_NO
      success:
        - type: currency-withdraw
          amount: 100
        - type: message
          messages:
            - "&aAchat reussi !"
    item:
      material: GOLD_INGOT
      name: "&e&lAcheter - 100$"

view-requirement / open-requirement (Inventaires)

Controle si un inventaire peut etre ouvert. Applique au niveau de l'inventaire, pas sur les boutons individuels. open-requirement est un alias de view-requirement au niveau de l'inventaire.

# Dans votre fichier d'inventaire
name: "&6Menu VIP"
size: 54

view-requirement:
  requirements:
    - type: permission
      permission: "server.vip"
      deny:
        - type: message
          messages:
            - "&cVous devez etre VIP pour acceder a ce menu !"

Si l'exigence n'est pas remplie, l'inventaire ne s'ouvrira pas et les actions deny seront executees.


Types d'exigences

permission

Verifie si le joueur possede une permission specifique.

requirements:
  - type: permission
    permission: "server.admin"
CleTypeDescription
permissionStringLe noeud de permission a verifier

Vous pouvez utiliser n'importe quelle permission de n'importe quel plugin de permissions (LuckPerms, etc.). C'est le type d'exigence le plus simple et le plus courant.


placeholder

Compare une valeur de placeholder a une cible. C'est le type d'exigence le plus polyvalent.

Comparaison numerique

requirements:
  - type: placeholder
    placeholder: "%player_level%"
    action: SUPERIOR_OR_EQUAL
    value: 10
CleTypeDescription
placeholderStringLe placeholder a evaluer
actionStringL'operateur de comparaison
valueNumber/StringLa valeur a comparer
targetString(Optionnel) Evaluer le placeholder pour ce joueur (par son nom)

Comparaison de texte

requirements:
  - type: placeholder
    placeholder: "%player_world%"
    action: EQUALS_STRING
    value: "world_nether"

Operateurs de comparaison

Numerique :

AliasDescriptionAction
==Egal aaction: EQUAL_TO
>Superieuraction: SUPERIOR
>=Superieur ou egalaction: SUPERIOR_OR_EQUAL
<Inferieuraction: LOWER
<=Inferieur ou egalaction: LOWER_OR_EQUAL

Texte :

AliasDescriptionAction
s=Correspondance exacte de texteaction: EQUALS_STRING
s!=Texte differentaction: DIFFERENT_STRING
s==Correspondance de texte insensible a la casseaction: EQUALSIGNORECASE_STRING
scLe texte contientaction: CONTAINS_STRING

Booleen :

AliasDescriptionAction
b=Comparer avec un booleenaction: BOOLEAN

Expressions mathematiques

Activez math: true pour evaluer des expressions mathematiques dans les valeurs de placeholder :

requirements:
  - type: placeholder
    math: true
    placeholder: "%zmenu_player_value_cookie%"
    value: "%price%+(%price%*%zmenu_player_value_upgrades%*1.15)"
    action: SUPERIOR_OR_EQUAL

L'expression mathematique est evaluee avant la comparaison. Utile pour des prix dynamiques, des couts progressifs ou des conditions complexes.


money

Verifie si le joueur a suffisamment d'argent sur son compte. Fonctionne avec BeastTokens, Vault, PlayerPoints, ElementalTokens, ElementalGems, Level, Experience, zEssentials, EcoBits, CoinsEngine et VotingPlugin.

Utilise CurrenciesAPI.

requirements:
  - type: money
    amount: 1000
CleTypeDescription
amountNumberLe solde minimum requis
economyStringLe nom de la monnaie (optionnel)
currencyStringLe nom de l'economie (uniquement necessaire pour zEssentials, CoinsEngine et EcoBits)

Exemple avec monnaie et economie specifiques :

requirements:
  - type: money
    amount: 500
    currency: "CoinsEngine"
    economy: "gems"

Cette exigence verifie uniquement le solde. Pour retirer de l'argent en cas de succes, utilisez l'action currency-withdraw dans le bloc success.


item

Verifie si le joueur possede un item specifique dans son inventaire.

requirements:
  - type: item
    item:
      material: DIAMOND
      amount: 5
    verification: SIMILAR
CleTypeDescription
item.materialStringLe nom du materiau Minecraft
amountNumberLa quantite minimum requise
verificationString(Optionnel) Type de verification : SIMILAR, EXACT, MATERIAL, AIR, AMOUNT (Defaut : SIMILAR)

Vous pouvez aussi verifier des items avec des proprietes specifiques :

requirements:
  - type: item
    item:
      material: DIAMOND_SWORD
      name: "&6Lame legendaire"
    amount: 1

check-inventory

Verifie l'item place dans un slot precis du menu (ou de l'inventaire du joueur). Contrairement a item, qui parcourt tout l'inventaire, ce requirement cible un seul slot. Il est principalement utilise avec le bouton item_drag pour valider ce que le joueur a depose dans un slot.

requirements:
  - type: check-inventory
    slot: 13
    item:
      material: DIAMOND
    type: full                 # Type de comparaison de l'item (defaut : full)
    require-player-item: false # Exige que le slot contienne reellement un item du joueur
    is-player-inventory: false # Verifie un slot de l'inventaire du joueur au lieu du menu
    success:
      - type: message
        messages:
          - "&aBon item !"
    deny:
      - type: message
        messages:
          - "&cMauvais item !"
CleTypeDescription
slotNumberLe slot a verifier (requis)
itemItemL'item a comparer
typeStringType de comparaison de l'item (ex. full, similar, modelid). Defaut : full
require-player-itemBooleenSi true, le slot doit contenir un item place par le joueur (defaut : false)
is-player-inventoryBooleenSi true, verifie un slot de l'inventaire du joueur au lieu du menu (defaut : false)
successListeActions executees quand le slot correspond a l'item
denyListeActions executees quand le slot ne correspond pas

luckperm

Verifie si le joueur appartient a un groupe LuckPerms specifique. Necessite LuckPerms.

requirements:
  - type: luckperm
    group: vip
CleTypeDescription
groupStringLe nom du groupe LuckPerms

job

Verifie si le joueur a un metier specifique. Necessite Jobs Reborn.

requirements:
  - type: job
    job: Miner
CleTypeDescription
jobStringLe nom du metier

regex

Verifie si une valeur correspond a une expression reguliere. Couramment utilise avec le type de bouton INPUT pour valider la saisie du joueur.

requirements:
  - type: regex
    input: "%input%"
    regex: "^[1-9][0-9]?$|^64$"
CleTypeDescription
inputStringLa valeur a tester contre la regex
regexStringLe pattern d'expression reguliere

Exemple : Valider une saisie numerique entre 1 et 64 :

items:
  definir-quantite:
    type: INPUT
    slot: 13
    inputType: NUMBER
    conditions:
      min: 1
      max: 64
    success-actions:
      - type: data
        key: "amount"
        value: "%input%"
      - type: refresh
    item:
      material: HOPPER
      name: "&6&lDefinir la quantite"
    click-requirement:
      verification:
        clicks:
          - ALL
        requirements:
          - type: regex
            input: "%input%"
            regex: "^[1-9][0-9]?$|^64$"
            deny:
              - type: message
                messages:
                  - "&cVeuillez entrer un nombre entre 1 et 64"
      success:
        - type: data
          key: "amount"
          value: "%input%"
        - type: refresh

player-name

Verifie le nom du joueur.

requirements:
  - type: player-name
    player-name: "Notch"
CleTypeDescription
player-nameStringLe nom du joueur a verifier (supporte aussi playerName ou playername)

cuboid

Verifie si le joueur se trouve dans une zone cuboid. Vous devez definir le monde ainsi que les coordonnees des deux extremites de votre cuboid.

requirements:
  - type: cuboid
    cuboids:
      - "world,0,60,0,100,120,100"

Le format est <nom du monde>,<x1>,<y1>,<z1>,<x2>,<y2>,<z2>.

CleTypeDescription
cuboidsListe de StringsListe des zones cuboid au format monde,x1,y1,z1,x2,y2,z2

Vous pouvez definir plusieurs cuboids. L'exigence est validee si le joueur se trouve dans l'un d'entre eux :

requirements:
  - type: cuboid
    cuboids:
      - "world,0,60,0,100,120,100"
      - "world,-50,40,-50,50,100,50"
      - "world_nether,10,30,10,50,80,50"

and

zMenu+ uniquement

Cette fonctionnalite est uniquement disponible avec zMenu+.

Combine plusieurs exigences ou toutes doivent etre remplies. Cela vous permet de regrouper des exigences et de les imbriquer avec des blocs or pour une logique complexe.

requirements:
  - type: and
    requirements:
      - type: permission
        permission: "server.vip"
      - type: placeholder
        value: "%player_level%"
        action: SUPERIOR_OR_EQUAL
        number: 10
CleTypeDescription
requirementsListeLa liste des sous-exigences qui doivent toutes passer

or

zMenu+ uniquement

Cette fonctionnalite est uniquement disponible avec zMenu+.

Combine plusieurs exigences ou seulement un minimum doit etre rempli.

requirements:
  - type: or
    minimum: 1
    random: false
    requirements:
      - type: permission
        permission: "server.vip"
      - type: permission
        permission: "server.premium"
CleTypeDescription
minimumNumberLe nombre minimum d'exigences qui doivent passer
randomBooleanSi la liste des exigences doit etre parcourue aleatoirement
requirementsListeLa liste des sous-exigences

Combiner and + or

Vous pouvez combiner les exigences and et or pour creer des conditions complexes. Par exemple, le joueur doit avoir la permission A et B, et doit aussi avoir la permission C ou D :

name: "&8Test And/Or"
size: 54
items:
  test:
    slot: 22
    view-requirement:
      requirements:
        - type: and
          requirements:
            - type: permission
              permission: zmenu.test
              success:
                - type: message
                  messages:
                    - "&7Test And 1 - &aOK"
              deny:
                - type: message
                  messages:
                    - "&7Test And 1 - &cKO"
            - type: permission
              permission: zmenu.test2
              success:
                - type: message
                  messages:
                    - "&7Test And 2 - &aOK"
              deny:
                - type: message
                  messages:
                    - "&7Test And 2 - &cKO"
        - type: or
          minimum: 1
          random: true
          requirements:
            - type: permission
              permission: zmenu.test3
              success:
                - type: message
                  messages:
                    - "&7Test Or 1 - &aOK"
              deny:
                - type: message
                  messages:
                    - "&7Test Or 1 - &cKO"
            - type: permission
              permission: zmenu.test4
              success:
                - type: message
                  messages:
                    - "&7Test Or 2 - &aOK"
              deny:
                - type: message
                  messages:
                    - "&7Test Or 2 - &cKO"
    item:
      material: PAPER
      name: "&aTest And/Or"
    else:
      item:
        material: PAPER
        name: "&cTest And/Or"

Dans cet exemple, le joueur doit avoir zmenu.test et zmenu.test2 (le bloc and), et doit aussi avoir zmenu.test3 ou zmenu.test4 (le bloc or avec minimum: 1). Chaque sous-exigence a ses propres actions success et deny pour le retour d'information.


Actions success et deny

Chaque exigence peut avoir des actions success et deny.

deny

Actions executees quand cette exigence specifique n'est pas remplie. Defini a l'interieur de chaque exigence individuelle.

requirements:
  - type: permission
    permission: "server.vip"
    deny:
      - type: message
        messages:
          - "&cVous avez besoin du rang VIP !"
      - type: sound
        sound: ENTITY_VILLAGER_NO

success

Actions executees quand cette exigence specifique (ou le bloc d'exigences global) est remplie.

click-requirement:
  achat:
    clicks:
      - ALL
    requirements:
      - type: placeholder
        placeholder: "%vault_eco_balance%"
        action: SUPERIOR_OR_EQUAL
        value: 500
        deny:
          - type: message
            messages:
              - "&cVous avez besoin de 500$ !"
  success:
    - type: currency-withdraw
      amount: 500
    - type: console-command
      commands:
        - "give %player% diamond_sword 1"
    - type: message
      messages:
        - "&aAchat reussi !"
    - type: sound
      sound: ENTITY_PLAYER_LEVELUP

Tous les types d'actions peuvent etre utilises dans les blocs deny et success.


Exigences multiples

Vous pouvez combiner plusieurs exigences. Toutes les exigences doivent etre remplies pour que la condition passe. Si une seule exigence echoue, ses actions deny sont executees.

click-requirement:
  default:
    clicks:
      - ALL
    requirements:
      - type: permission
        permission: "server.vip"
        deny:
        - type: message
          messages:
            - "&cVous avez besoin du rang VIP !"
      - type: placeholder
        placeholder: "%vault_eco_balance%"
        action: SUPERIOR_OR_EQUAL
        value: 1000
        deny:
        - type: message
          messages:
            - "&cVous avez besoin de 1000$ !"
      - type: item
        item:
        material: DIAMOND
        amount: 5
        deny:
        - type: message
          messages:
            - "&cVous avez besoin de 5 diamants !"
  success:
    - type: message
      messages:
        - "&aToutes les conditions sont remplies !"

Dans cet exemple, le joueur doit avoir la permission VIP ET 1000$ ET 5 diamants. Si une condition echoue, le message deny correspondant est affiche.


Le systeme else

Le bloc else fonctionne avec view-requirement pour afficher un bouton alternatif quand l'exigence n'est pas remplie. Au lieu de masquer completement le bouton, vous pouvez afficher un item different.

else basique

items:
  bouton-vip:
    slot: 0
    view-requirement:
      requirements:
        - type: permission
          permission: "vip.access"
    item:
      material: DIAMOND_BLOCK
      name: "&b&lContenu VIP"
    else:
      item:
        material: COAL_BLOCK
        name: "&7&lVerrouille"
        lore:
          - "&cNecessite le rang VIP"

Si le joueur a vip.access, il voit un bloc de diamant. Sinon, il voit un bloc de charbon avec un message "verrouille".

Chaines else imbriquees

Vous pouvez enchainer plusieurs blocs else pour creer une machine a etats avec plusieurs etats visuels. Chaque else peut avoir son propre view-requirement :

items:
  recompense:
    slot: 0

    # Etat 1 : Deja reclame
    view-requirement:
      requirements:
        - type: placeholder
          placeholder: "%zmenu_player_value_claimed%"
          value: "true"
          action: EQUAL_TO
    item:
      material: MINECART
      name: "&a&lRecompense reclamee"
      lore:
        - "&7Vous avez deja reclame cette recompense"

    else:
      # Etat 2 : Niveau insuffisant
      view-requirement:
        requirements:
          - type: placeholder
            placeholder: "%player_level%"
            value: "10"
            action: LOWER
      item:
        material: BARRIER
        name: "&c&lVerrouille"
        lore:
          - "&7Necessite le niveau 10"

      else:
        # Etat 3 : Pret a reclamer
        item:
          material: CHEST
          name: "&e&lReclamer la recompense"
          lore:
            - "&7Cliquez pour reclamer !"
        click-requirement:
          recuperer:
            clicks:
              - ALL
            requirements:
              - type: placeholder
                placeholder: "%player_level%"
                value: "10"
                action: SUPERIOR_OR_EQUAL
          success:
            - type: data
              action: SET
              key: "claimed"
              value: "true"
            - type: console-command
              commands:
                - "give %player% diamond 10"
            - type: sound
              sound: ENTITY_PLAYER_LEVELUP

Le systeme evalue chaque view-requirement de haut en bas :

  1. Si la premiere exigence correspond, cet etat du bouton est affiche
  2. Sinon, il passe au bloc else et verifie son exigence
  3. Cela continue a travers la chaine
  4. Le dernier else sans view-requirement sert de valeur par defaut

Exigences de clic nommees

A l'interieur de click-requirement, vous pouvez definir des groupes d'exigences nommes avec des types de clics specifiques. Cela permet differentes conditions pour differentes actions de clic.

click-requirement:
  achat:
    clicks:
      - ALL
    requirements:
      - type: placeholder
        placeholder: "%vault_eco_balance%"
        action: SUPERIOR_OR_EQUAL
        value: 100
        deny:
          - type: message
            messages:
              - "&cIl vous faut 100$ pour continuer cet achat."
          - type: sound
            sound: ENTITY_VILLAGER_NO
    success:
      - type: currency-withdraw
        amount: 100
      - type: console-command
        commands:
          - "give %player% emerald 1"
      - type: message
        messages:
          - "&aFelicitation ! Vous avez achete une emeraude."
      - type: sound
        sound: ENTITY_EXPERIENCE_ORB_PICKUP
CleDescription
clicksListe des types de clics auxquels ce groupe repond
requirementsLes conditions a verifier
successActions si toutes les exigences passent

Types de clics disponibles : ALL, LEFT, RIGHT, SHIFT_LEFT, SHIFT_RIGHT, MIDDLE, DROP, CONTROL_DROP

Exemple avec differentes actions par clic :

click-requirement:
  acheter-un:
    clicks:
      - LEFT
    requirements:
      - type: placeholder
        placeholder: "%vault_eco_balance%"
        action: SUPERIOR_OR_EQUAL
        value: 100
        deny:
          - type: message
            messages:
              - "&cVous avez besoin de 100$ !"
    success:
      - type: currency-withdraw
        amount: 100
      - type: console-command
        commands:
          - "give %player% diamond 1"
  acheter-stack:
    clicks:
      - RIGHT
    requirements:
      - type: placeholder
        placeholder: "%vault_eco_balance%"
        action: SUPERIOR_OR_EQUAL
        value: 6400
        deny:
          - type: message
            messages:
              - "&cVous avez besoin de 6400$ !"
    success:
      - type: currency-withdraw
        amount: 6400
      - type: console-command
        commands:
          - "give %player% diamond 64"

Exemples complets

Item de boutique avec verification de prix

Un bouton qui vend un item seulement si le joueur peut se le permettre :

items:
  boutique-epee:
    slot: 13
    type: NONE
    item:
      material: DIAMOND_SWORD
      name: "&6&lEpee en diamant"
      lore:
        - "&8&m─────────────────"
        - ""
        - "&7Prix : &a500$"
        - "&7Votre solde : &e$%vault_eco_balance%"
        - ""
        - "&8&m─────────────────"
        - ""
        - "&e▸ Cliquez pour acheter"
      glow: true
    click-requirement:
      achat:
        clicks:
          - ALL
        requirements:
          - type: placeholder
            placeholder: "%vault_eco_balance%"
            action: SUPERIOR_OR_EQUAL
            value: 500
            deny:
              - type: message
                messages:
                  - "&cVous avez besoin de 500$ pour acheter ceci !"
              - type: sound
                sound: ENTITY_VILLAGER_NO
      success:
        - type: currency-withdraw
          amount: 500
        - type: console-command
          commands:
            - "give %player% diamond_sword 1"
        - type: message
          messages:
            - "&aAchat reussi !"
        - type: sound
          sound: ENTITY_PLAYER_LEVELUP
        - type: close

Recompense quotidienne avec cooldown

Un bouton qui ne peut etre clique qu'une fois toutes les 24 heures en utilisant les donnees joueur et les horodatages :

items:
  recompense-quotidienne:
    slot: 22
    item:
      material: CHEST
      name: "&e&lRecompense quotidienne"
      lore:
        - "&7Reclamez votre recompense quotidienne !"
    click-requirement:
      recuperer:
        clicks:
          - ALL
        requirements:
          - type: placeholder
            placeholder: "%zmenu_math_{zmenu_time_unix_timestamp}-{zmenu_player_value_last_daily}%"
            action: SUPERIOR_OR_EQUAL
            value: 86400
            deny:
              - type: message
                messages:
                  - "&cVous avez deja reclame la recompense du jour !"
      success:
        - type: data
          action: SET
          key: "last_daily"
          value: "%zmenu_time_unix_timestamp%"
        - type: console-command
          commands:
            - "give %player% diamond 5"
        - type: data
          action: ADD
          key: "daily_streak"
          value: "1"
        - type: message
          messages:
            - "&aRecompense quotidienne reclamee !"
            - "&7Serie : &e%zmenu_player_value_daily_streak%"
        - type: sound
          sound: ENTITY_PLAYER_LEVELUP

Un inventaire que seuls les joueurs VIP peuvent ouvrir :

name: "&6&lSalon VIP"
size: 54

view-requirement:
  requirements:
    - type: permission
      permission: "server.vip"
      deny:
        - type: message
          messages:
            - "&cCe menu est reserve aux membres VIP !"
        - type: sound
          sound: ENTITY_VILLAGER_NO

open-actions:
  - type: sound
    sound: BLOCK_CHEST_OPEN
  - type: message
    messages:
      - "&aBienvenue dans le salon VIP !"

items:
  # ... vos boutons reserves aux VIP

Bouton base sur le rang avec chaine else

Un bouton qui affiche un contenu different selon le rang du joueur :

items:
  affichage-rang:
    slot: 4

    # Rang Diamant
    view-requirement:
      requirements:
        - type: luckperm
          group: diamond
    item:
      material: DIAMOND_BLOCK
      name: "&b&lRang Diamant"
      lore:
        - "&7Votre rang : &bDiamant"

    else:
      # Rang Or
      view-requirement:
        requirements:
          - type: luckperm
            group: gold
      item:
        material: GOLD_BLOCK
        name: "&6&lRang Or"
        lore:
          - "&7Votre rang : &6Or"

      else:
        # Par defaut (aucun rang)
        item:
          material: STONE
          name: "&7&lAucun rang"
          lore:
            - "&7Vous n'avez pas de rang"
            - "&eVisitez notre boutique pour en obtenir un !"

Systeme de depense de donnees joueur

Un bouton qui verifie une monnaie personnalisee stockee dans les donnees joueur :

items:
  depenser-pieces:
    slot: 15
    item:
      material: DIAMOND
      name: "&b&lAcheter un diamant"
      lore:
        - "&7Cout : &e50 pieces"
        - "&7Vos pieces : &f%zmenu_player_value_coins%"
    click-requirement:
      achat:
        clicks:
          - ALL
        requirements:
          - type: placeholder
            placeholder: "%zmenu_player_value_coins%"
            action: SUPERIOR_OR_EQUAL
            value: 50
            deny:
              - type: message
                messages:
                  - "&cVous avez besoin de 50 pieces !"
      success:
        - type: data
          action: SUBTRACT
          key: "coins"
          value: "50"
        - type: console-command
          commands:
            - "give %player% diamond 1"
        - type: refresh

Initialiser des valeurs par defaut

Utilisez un bouton invisible with view-requirement pour definir des donnees joueur par defaut lors de la premiere visite :

items:
  initialiser:
    slot: 0
    view-requirement:
      requirements:
        - type: placeholder
          placeholder: "%zmenu_player_value_initialized%"
          action: DIFFERENT
          value: "true"
    item:
      material: AIR
    actions:
      - type: data
        action: SET
        key: "coins"
        value: "0"
      - type: data
        action: SET
        key: "initialized"
        value: "true"
      - type: refresh

Ce bouton invisible verifie si le joueur a ete initialise. Si ce n'est pas le cas, il definit les valeurs par defaut et rafraichit l'inventaire.

Sur cette page

GroupeZ MCP

La documentation dans ton IA

Le MCP permet à ton IA de chercher dans la documentation GroupeZ et de lire les exemples à jour pour t’aider à configurer tes plugins.

Lecture seule · Sans clé API côté documentation

1. Copie l’adresse du serveur

Transport : HTTP (Streamable HTTP). Authentification : aucune. Ton outil utilise son propre modèle et ses propres limites d’abonnement.

  1. Ouvre Plugins dans ChatGPT sur le web, puis + → Ajouter un serveur MCP personnalisé.
  2. Nomme-le « GroupeZ Documentation », colle l’URL ci-dessus et choisis « Aucune authentification ». Crée puis installe le plugin.
  3. Dans une conversation, tape @ et sélectionne ce plugin avant d’envoyer ta question. Si nécessaire, active search, get_page et list_pages dans ses paramètres.
Guide officiel de cet outil

3. Pose une question

Utilise le MCP GroupeZ pour m’aider à créer un inventaire zMenu. Recherche les pages pertinentes, lis les exemples et cite tes sources.
Autres clients et dépannage

Pour les clients utilisant mcpServers, adapte cet exemple à leur format :

{
  "mcpServers": {
    "groupez-docs": {
      "url": ""
    }
  }
}

Les outils disponibles sont search, get_page et list_pages. Après une mise à jour, actualise les outils du connecteur. Si ton IA n’y accède pas, vérifie que le connecteur est activé dans la conversation et que ton compte autorise les MCP personnalisés. Ouvrir l’URL dans un navigateur n’est pas un test MCP.