> For the complete documentation index, see [llms.txt](https://docs.thewalletcrew.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.thewalletcrew.io/connectors/fr/model-context-protocol-mcp.md).

# Model Context Protocol (MCP)

Connectez des assistants IA à la documentation The Wallet Crew et aux données d’environnement via le Model Context Protocol (MCP).

The Wallet Crew fournit des serveurs Model Context Protocol (MCP) pour la documentation et les opérations de plateforme. Un assistant IA compatible MCP peut les utiliser pour récupérer des consignes à jour, examiner les données des locataires et appuyer l’analyse opérationnelle.

Chaque environnement dispose de son propre serveur MCP opérationnel. Connectez-vous uniquement à l’environnement pertinent pour la tâche.

<details>

<summary><strong>Exemples concrets</strong></summary>

* Une équipe de livraison demande à un assistant IA d’expliquer un workflow d’API documenté.
* Une équipe de support valide une configuration de locataire avant d’escalader un incident.
* Une équipe des opérations reconstitue le cycle de vie d’une Carte ou vérifie une automatisation planifiée.
* Une équipe projet rédige un nouveau modèle de thème ou d’avantage dans QA et le passe en revue avant de le déployer.

</details>

## Choisissez un serveur MCP

Utilisez le serveur de documentation pour les consignes produit. Utilisez un serveur d’environnement pour les données opérationnelles spécifiques au locataire.

### Documentation MCP

Le MCP de documentation donne accès à la documentation The Wallet Crew. Il ne nécessite aucune authentification.

**Point de terminaison :** <https://docs.thewalletcrew.io/~gitbook/mcp>

Ce serveur convient aux questions sur le produit, aux consignes d’implémentation et à la découverte de la documentation. Il n’expose pas les données des locataires.

Il ne nécessite aucune connexion. Connectez-le d’abord pour vérifier qu’un assistant prend en charge cette connexion.

### MCP de production

Le MCP de production fournit des données opérationnelles et de diagnostic pour les locataires de production.

**Point de terminaison :** <https://admin.thewalletcrew.io/api/mcp>

Il utilise OAuth. Connectez-vous avec les mêmes identifiants Back-office que ceux utilisés pour l’accès à la production.

Les métadonnées d’autorisation sont découvertes à `/.well-known/oauth-protected-resource` et `/.well-known/oauth-authorization-server` sur le même hôte, de sorte qu’un client MCP conforme se configure à partir de la seule URL du point de terminaison.

{% hint style="warning" %}
Les données de production peuvent inclure des informations sur les clients et les accès. Utilisez la quantité minimale de données nécessaire à l’enquête. Connectez-vous uniquement via des clients MCP approuvés.
{% endhint %}

### MCP de QA

Le MCP de QA fournit des données opérationnelles et de diagnostic pour les locataires QA.

**Point de terminaison :** <https://admin-qa.thewalletcrew.io/api/mcp>

Il utilise OAuth. Connectez-vous avec les mêmes identifiants Back-office que ceux utilisés pour l’accès à QA.

Les métadonnées d’autorisation sont découvertes à `/.well-known/oauth-protected-resource` et `/.well-known/oauth-authorization-server` sur le même hôte, de sorte qu’un client MCP conforme se configure à partir de la seule URL du point de terminaison.

## Ajoutez The Wallet Crew à un assistant IA

Choisissez un assistant ci-dessous. Dans tous les cas, collez l’adresse et connectez-vous avec un compte Back-office.

| Assistant         | Configuration autonome ?                   |
| ----------------- | ------------------------------------------ |
| Claude            | Oui                                        |
| ChatGPT           | Oui, une fois le mode développeur activé   |
| Mistral Le Chat   | Oui                                        |
| Microsoft Copilot | Non — une équipe informatique le configure |

Utilisez l’adresse correspondant à l’environnement requis.

| Environnement                               | Adresse à coller                            |
| ------------------------------------------- | ------------------------------------------- |
| Production — données réelles des locataires | <https://admin.thewalletcrew.io/api/mcp>    |
| QA — données de test                        | <https://admin-qa.thewalletcrew.io/api/mcp> |

Rien n’a besoin d’être installé ou téléchargé. Aucune clé, mot de passe ou code n’est nécessaire. La même adresse est également affichée, prête à être copiée, sur la **accès MCP** page du Back-office.

{% hint style="success" %}
La connexion est en lecture seule par défaut. Un assistant IA peut effectuer des recherches et ne voit que les données déjà disponibles via le compte Back-office. Les modifications ne sont possibles que via les outils d’écriture décrits dans [Effectuer des modifications en toute sécurité](/connectors/fr/model-context-protocol-mcp.md#make-changes-safely), et chacune demande une confirmation avant d’agir.
{% endhint %}

### Claude

1. Ouvrez Claude dans un navigateur ou dans l’application de bureau.
2. Cliquez sur la photo de profil. Sélectionnez **Paramètres**, puis **Connecteurs**.
3. Cliquez sur **Ajouter**. Puis sélectionnez **Ajouter un connecteur personnalisé**.
4. Collez l’adresse requise. Cliquez sur **Ajouter**.
5. Connectez-vous avec le compte Back-office. Approuvez la demande d’accès.
6. Laissez **Paramètres avancés** inchangés. La connexion est prête.

Claude fonctionne avec les forfaits Free, Pro, Max, Team et Enterprise. Les comptes Free peuvent ajouter un connecteur personnalisé.

[Commencer avec les connecteurs personnalisés](https://support.anthropic.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp)

### ChatGPT

{% hint style="warning" %}
ChatGPT nécessite un compte Plus, Pro, Business, Enterprise ou Education. Utilisez ChatGPT dans un navigateur web. Les espaces de travail Business, Enterprise et Education doivent d’abord faire activer le mode développeur par un administrateur.
{% endhint %}

1. Ouvrir **Paramètres**, puis **Sécurité et connexion**. Activez **Mode développeur**.
2. Ouvrir **Paramètres**, puis **Connecteurs**. Cliquez sur **+**.
3. Nommez la connexion, par exemple « The Wallet Crew ». Ajoutez une courte description.
4. Collez l’adresse requise.
5. Sélectionnez **OAuth** comme méthode de connexion. Connectez-vous avec le compte Back-office.
6. Ouvrez la connexion pour voir ce qu’elle peut rechercher.

Après une version de The Wallet Crew, ouvrez la connexion et sélectionnez **Actualiser**.

[Mode développeur et applications MCP dans ChatGPT](https://help.openai.com/en/articles/12584461-developer-mode-and-mcp-apps-in-chatgpt)

### Mistral Le Chat

1. Ouvrir **Connecteurs** dans Le Chat.
2. Cliquez sur **+ Ajouter un connecteur**. Sélectionnez **Connecteur MCP personnalisé**.
3. Saisissez un nom sans espaces, par exemple « walletcrew ».
4. Collez l’adresse requise dans **URL du serveur**.
5. Cliquez sur **Connecter**. Connectez-vous avec le compte Back-office lorsque cela vous est demandé.

[Utilisation des connecteurs MCP avec Le Chat](https://help.mistral.ai/en/articles/393511-using-my-mcp-connectors-with-le-chat)

### Microsoft Copilot

Microsoft Copilot ne permet pas encore à un individu d’ajouter cette connexion. Un administrateur doit la configurer pour l’organisation.

Envoyez cette page à l’équipe informatique ainsi que l’adresse requise. Elle peut l’ajouter via **Ajouter un outil → Model Context Protocol** dans Copilot Studio.

[Connectez votre agent à un serveur MCP existant](https://learn.microsoft.com/en-us/microsoft-copilot-studio/mcp-add-existing-server-to-agent)

### Autres assistants

D’autres assistants peuvent se connecter s’ils prennent en charge un connecteur personnalisé par adresse. Recherchez **Connecteurs**, **Connecteur personnalisé**, ou **MCP** dans les paramètres. Collez l'adresse, puis connectez-vous.

Les outils de développement, notamment Claude Code, Cursor et Visual Studio Code, utilisent la même adresse. Consultez leur documentation pour connaître l'emplacement de configuration.

### Vérifiez que cela a fonctionné

1. Demandez : « Quels locataires de The Wallet Crew puis-je accéder ? »
2. Une liste de locataires confirme que la connexion fonctionne.
3. Une liste vide signifie que la connexion fonctionne. Le compte n'a aucun accès dans cet environnement. Demandez l'accès à un administrateur de The Wallet Crew.

Ces questions aident à analyser les données des locataires :

* « Combien de passes ont été installés le mois dernier, et comment cela se compare-t-il au mois précédent ? »
* « Quels modèles d’avantages sont actuellement activés, et combien de passes détiennent chacun d’eux ? »
* « Montre-moi la Carte avec le numéro de série `<PASS_ID>` et ce qui lui est arrivé.”

### Si quelque chose tourne mal

| Symptôme                                                                     | Que faire                                                                                                                                                                                                    |
| ---------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| La fenêtre de connexion s’ouvre et se ferme sans se connecter                | L'assistant ne prend peut-être pas en charge cette connexion. Essayez un navigateur Web au lieu d'une application de bureau. Contactez l'assistance si cela échoue encore.                                   |
| La connexion a réussi, mais les requêtes renvoient une erreur d’autorisation | Le compte Back-office n'a pas accès à ce locataire ou à ces données. Demandez à un administrateur de The Wallet Crew.                                                                                        |
| Une question échoue alors que les autres fonctionnent                        | Cette recherche nécessite un accès que le compte n'a pas. Demandez à un administrateur de vérifier le rôle.                                                                                                  |
| Une modification est refusée                                                 | Les écritures n'ont pas été autorisées pour le compte sur ce locataire, ou la durée autorisée est expirée. Autorisez-les à nouveau depuis **Paramètres → Contrôle d'accès → Accès MCP** dans le Back-office. |
| Les chiffres semblent incorrects ou peu familiers                            | Vérifiez l'adresse collée. QA dispose de données de test, pas de vraies données client.                                                                                                                      |
| Il cesse de répondre après de nombreuses questions                           | Il existe une limite de recherches par minute. Attendez un moment. Reposez la question en la formulant de manière plus précise.                                                                              |

## Ce que le MCP d’environnement peut faire

Le MCP d’environnement agit comme une couche de contrôle de diagnostic et d’exploitation. Il expose 51 outils couvrant l’orientation du locataire, la configuration, la télémétrie, les passes et leur catalogue, les automatisations, les imports SFTP, les redirections, la posture d’accès et la référence de l’API REST. Chaque nom d’outil commence par `twc_`.

La plupart des outils sont en lecture seule. Les outils qui créent, modifient ou suppriment quelque chose sont signalés comme des outils d’écriture dans les tableaux ci-dessous et suivent le flux de confirmation décrit dans [Effectuer des modifications en toute sécurité](/connectors/fr/model-context-protocol-mcp.md#make-changes-safely).

### Découvrir les locataires et la configuration

Chaque session opérationnelle commence par la résolution du locataire à partir de la liste des locataires disponibles. Un identifiant de locataire n’est jamais déduit ni deviné : un nom d’affichage ou un domaine ne constituent pas un identifiant de locataire.

| Capacité                                   | Outils disponibles                                  | Résultat typique                                                                                         |
| ------------------------------------------ | --------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| Lister les locataires accessibles          | `twc_tenants_list`                                  | Déterminer le bon locataire avant l’investigation                                                        |
| Obtenir un aperçu du locataire             | `twc_tenants_get`                                   | Lire le cycle de vie, l’objectif, les langues, l’état du domaine personnalisé et les extensions activées |
| Inspecter les fichiers de configuration    | `twc_config_files_list`, `twc_config_files_get`     | Trouver les valeurs de configuration actuelles ou historiques                                            |
| Auditer les modifications de configuration | `twc_config_history_list`, `twc_config_files_diff`  | Identifier quand, par qui et comment une configuration a changé                                          |
| Valider la configuration                   | `twc_config_test`                                   | Exécuter la suite de validation au démarrage et faire ressortir chaque erreur de configuration           |
| Lire les schémas de configuration          | `twc_config_schemas_list`, `twc_config_schemas_get` | Comprendre ce qu'un fichier de configuration accepte et quelles propriétés sont requises                 |

`twc_tenants_get` est la mise en route en un seul appel pour un locataire inconnu. Un `désactivé` l'état refuse les appels Back-office et n'exécute aucune automatisation, tandis que les pages du titulaire continuent de fonctionner. Un `intégration` état signifie qu'une configuration manquante est attendue. Un `démonstration` ou `test` n'est pas une preuve de production. Un domaine personnalisé avec `isLive` défini sur `false` et état `prêt` est un basculement en attente, pas une panne.

### Examiner la télémétrie

Les outils de télémétrie valident le comportement à l'exécution et aident à identifier les anomalies. L'historique des événements Carte est lu ici, depuis la `Events` table filtrée sur `EventData.passId`.

| Capacité                               | Outils disponibles        | Résultat typique                                                                                     |
| -------------------------------------- | ------------------------- | ---------------------------------------------------------------------------------------------------- |
| Explorer la structure de la télémétrie | `twc_insights_schema_get` | Lister les tables, les noms d'événements et leurs propriétés, ainsi que des exemples KQL exécutables |
| Interroger la télémétrie du tenant     | `twc_insights_query`      | Examiner les erreurs, les tendances, les historiques des cartes et les comportements inattendus      |

Chaque requête doit être limitée dans le temps et agrégée avec `summarize`. Les valeurs fournies par l'utilisateur sont transmises en tant que paramètres plutôt que écrites dans la requête. La télémétrie a quelques minutes de retard sur le temps réel, donc la fenêtre est élargie avant de conclure qu'un événement ne s'est pas produit. Le filtre du tenant est ajouté côté serveur.

### Examiner les cartes

Une carte est la carte Wallet d'un utilisateur final. Elle est émise à partir d'un type de carte, affiché comme « modèle de carte » dans la console, et éventuellement personnalisée par un thème.

| Capacité                           | Outils disponibles   | Résultat typique                                                                                                                               |
| ---------------------------------- | -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Trouver des cartes                 | `twc_passes_list`    | Filtrer les cartes par type de carte, thème, un identifiant et une condition de métadonnées                                                    |
| Inspecter une carte                | `twc_passes_get`     | Lire les identifiants, les données supplémentaires, les métadonnées, l'état de synchronisation par intégration, le thème et la carte à tampons |
| Afficher une carte                 | `twc_passes_preview` | Affichez la Carte telle qu’Apple Wallet et Google Wallet la dessinent, recto et verso, dans toutes les langues                                 |
| Émettre une Carte (écriture)       | `twc_passes_create`  | Émettre une Carte de test et obtenir son lien d’installation                                                                                   |
| Mettre à jour une Carte (écriture) | `twc_passes_update`  | Modifier le type de Carte, le thème ou des données supplémentaires, accorder un avantage et envoyer une notification facultative               |

`twc_passes_list` renvoie une page de l'état actuel du magasin, sans total. Les compteurs et les tendances proviennent de `twc_insights_query`. Une valeur affichée incorrecte provient généralement de la Carte `additionalData`.

Pour une carte à tampons, `twc_passes_get` renvoie le compteur actuel, la cible, le comportement de l’objectif, l’état et les 20 derniers mouvements. La `stampCard` champ est `null` lorsque la Carte n’est pas une carte à tampons.

`twc_passes_preview` dessine la Carte dans la conversation pour les clients qui prennent en charge les aperçus interactifs, et renvoie sinon un lien de console.

{% hint style="warning" %}
`twc_passes_update` envoie la Carte sur tous les appareils sur lesquels elle est installée simultanément. Cet envoi et sa notification ne peuvent pas être annulés.
{% endhint %}

### Consulter les types de Carte

Les types de Carte définissent l’apparence d’une Carte et les métadonnées qu’elle contient.

| Capacité                              | Outils disponibles                                          | Résultat typique                                                                                    |
| ------------------------------------- | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| Lister les types de Carte             | `twc_carte_types_list`                                      | Voir chaque type de Carte avec sa catégorie, ses langues, ses couleurs et ses champs de métadonnées |
| Inspecter un type de Carte            | `twc_Carte_types_get`                                       | Lire la configuration complète, le libellé par langue et les images stockées                        |
| Créer ou remplacer (écrire)           | `twc_carte_types_upsert`                                    | Enregistrez un nouveau type de Carte, ou remplacez-en un existant entièrement                       |
| Gérer les images (écriture)           | `twc_pass_types_images_put`, `twc_pass_types_images_delete` | Stocker, remplacer ou supprimer une image utilisée par un type de Carte                             |
| Supprimer un type de carte (écriture) | `twc_Carte_types_supprimer`                                 | Supprimez un type de Carte inutilisé avec son libellé et ses images                                 |

Le type de carte `gentil` est `carteClient`, `billetEvenement`, `carteCadeau`, `offre`, `générique` ou `stampCard`, et ne peut pas être modifié une fois créé. Les définitions de métadonnées renvoyées ici sont celles `twc_passes_list` filtres activés. Les Cartes prennent en compte un changement de type de Carte lors de leur prochaine mise à jour ; rien n’est poussé. Un type de Carte ne peut pas être supprimé tant qu’une Carte est émise à partir de celui-ci.

### Examiner les avantages et les modèles d’avantages

Un avantage est un élément échangeable sur une Carte, comme une remise, un produit gratuit ou un solde de carte-cadeau. Il est généralement émis à partir d’un modèle d’avantage, la définition réutilisable que chaque avantage accordé copie. Un avantage accordé à partir d’un modèle porte l’identifiant du modèle comme `origin.processId`.

| Capacité                                  | Outils disponibles                                             | Résultat typique                                                                                                   |
| ----------------------------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| Lister les modèles d’avantages            | `twc_benefit_templates_list`                                   | Parcourir le catalogue, y compris les modèles désactivés                                                           |
| Inspecter un modèle d'avantage            | `twc_benefit_templates_get`                                    | Lire le type, la catégorie, la validité, les paramètres de code, le contenu, les images et la règle de suppression |
| Suivre les avantages émis                 | `twc_benefits_list`                                            | Lister les avantages d'une Carte, ou de chaque Carte ayant reçu un modèle donné                                    |
| Créer ou mettre à jour (écriture)         | `twc_benefit_templates_create`, `twc_benefit_templates_update` | Rédiger un nouveau modèle, ou en remplacer un existant                                                             |
| Supprimer un modèle d'avantage (écriture) | `twc_benefit_templates_delete`                                 | Supprimer un modèle dont aucun avantage actif ni aucune automatisation activée ne dépend                           |

Un modèle d'avantage `type` est `à usage unique`, `illimité` ou `multi-utilisation`. Un avantage `statut` est `planifié`, `actif`, `utilisé`, `expiré` ou `supprimé`; `actif` signifie qu'une utilisation est acceptée maintenant. Le `activeOnly` filtre de `twc_benefits_list` exclut les avantages dont la date de suppression est dépassée et ne filtre pas sur le statut.

La mise à jour d'un modèle d'avantage laisse inchangés les avantages déjà accordés, sauf si `refreshGrantedBenefits` est défini. Une tâche en arrière-plan réécrit alors chaque avantage actif émis à partir de celui-ci et envoie chaque Carte qui en porte un aux appareils des utilisateurs finaux. Les modèles avec génération de code personnalisée sont refusés par les outils d'écriture.

### Examiner les thèmes des Cartes

Les thèmes harmonisent l'apparence des Cartes dans un tenant.

| Capacité                          | Outils disponibles                       | Résultat typique                                                                                               |
| --------------------------------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| Lister les thèmes                 | `twc_themes_list`                        | Voir chaque thème avec le nombre de Cartes qui le portent actuellement                                         |
| Inspecter un thème                | `twc_themes_get`                         | Lire les couleurs, le titre et la description localisés, ainsi que chaque remplacement d'image par emplacement |
| Créer ou mettre à jour (écriture) | `twc_themes_create`, `twc_themes_update` | Ajouter un thème, ou en remplacer un et stocker ses images                                                     |
| Supprimer un thème (écriture)     | `twc_themes_delete`                      | Supprimer un thème qu'aucune Carte ne porte et auquel aucune automatisation activée ne s'applique              |

* Un thème est une apparence visuelle réutilisable avec des couleurs et des images. Il est défini dans `server/themes.yml` et référencé par des cartes individuelles. Une carte a au maximum un thème.
* Modifier un thème redéfinit le style de chaque carte qui le porte lors de sa prochaine mise à jour ; rien n'est envoyé. Lire `lastModificationDate` et `passCount` ensemble.
* Un thème n’a aucun comportement, aucune fenêtre de validité ni aucun code. Pour tout ce que les utilisateurs finaux peuvent échanger, consultez les modèles d’avantages et les avantages.
* `twc_themes_list` fournit l’identifiant du thème utilisé par le `themeId` filtre de `twc_passes_list`.
* `mainImageUrl` est l’image par défaut. Elle alimente l’emplacement de bannière de chaque plateforme, `appleStrip` et `googleHero`, lorsqu’aucune surcharge n’existe. Les autres grands emplacements d’Apple, les logos et l’icône ne sont définis que via `images`. Les images par langue s’appliquent uniquement à Apple Wallet. Google Wallet sert toujours l’image par défaut.
* Pour stocker des images sur un nouveau thème, le thème est d’abord créé, puis mis à jour avec `images`.

### Examiner les automatisations

Les automatisations décrivent l’intention. Les exécutions décrivent le résultat. Les deux sont nécessaires lors du diagnostic « l’automatisation ne s’est pas exécutée ».

| Capacité                                   | Outils disponibles                                 | Résultat typique                                                                                  |
| ------------------------------------------ | -------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| Lister les automatisations                 | `twc_automations_list`                             | Voir chaque automatisation, d’abord les activées, avec un résumé du déclencheur en anglais simple |
| Inspecter une automatisation               | `twc_automations_get`                              | Lire les paramètres complets, les détails du déclencheur et l’état d’activation                   |
| Vérifier si elle s’est réellement exécutée | `twc_automations_executions_list`                  | Confirmer la réussite, l’échec ou le report à partir de la télémétrie des 90 derniers jours       |
| Découvrir les types d’automatisation       | `twc_automations_types_list`                       | Voir chaque type disponible et les paramètres qu’il accepte                                       |
| Créer ou mettre à jour (écriture)          | `twc_automations_create`, `twc_automations_update` | Ajouter une automatisation, modifier certains de ses champs ou la mettre en pause                 |
| Supprimer une automatisation (écriture)    | `twc_automations_delete`                           | Arrêter une automatisation définitivement, tout en conservant son historique d’exécution          |

> `twc_automations_list` décrit la configuration, pas le résultat. Seulement `twc_automations_executions_list` indique si une automatisation s’est exécutée. Chaque ligne y correspond à une tentative de livraison, pas à une exécution logique. Plusieurs lignes peuvent partager un seul `correlationId`. `success = null` signifie que l’exécution a été reportée avant son lancement, ce qui n’est pas un échec ; `false` signifie qu’elle s’est exécutée puis a levé une exception, et qu’elle est retentée automatiquement ; `true` signifie qu’elle s’est terminée.

Conserver `enabledOnly` défini sur `false` lors du listage des automatisations garantit qu’une automatisation désactivée reste visible. Les `actions` sont l’un des `applyBenefitTemplate`, `updateData`, `changePassType`, `applyTheme` et `notify`, appliqués dans cet ordre. Quatre types de déclenchement existent :

* `récurrence` — une expression cron à six champs, avec les secondes en premier, évaluée en **UTC**, et non l'heure locale du locataire. Un planning qui se déclenche plus souvent que toutes les cinq minutes est refusé.
* `date fixe` — se déclenche une seule fois à un instant donné. Une nouvelle date ou une date modifiée doit être dans le futur. En `continu` mode continu, elle continue de s'appliquer aux nouvelles cartes correspondantes tant que sa période de surveillance est ouverte.
* `date relative` — se déclenche par carte, avec un décalage par rapport à un champ de date sur cette carte. Elle peut être ancrée à une heure locale dans un fuseau horaire nommé.
* `événement` — se déclenche par carte lors de l'installation d'une carte, d'un mouvement d'avantage ou d'une modification des métadonnées. `première installation uniquement` signifie que la réinstallation ne le déclenche pas à nouveau.

Une automatisation activée est active dès sa création et s'applique à chaque carte correspondante. Définir `isEnabled` à `false` la met en phase de préparation ou en pause tout en la conservant.

### Examiner les imports de fichiers SFTP

L'import de fichiers SFTP est facultatif. En interne, il s'appelle Triglav. La plupart des locataires ne l'utilisent pas, et l'absence de boîte de réception pour un locataire n'est pas une erreur.

| Capacité                                              | Outils disponibles        | Résultat typique                                                                                                 |
| ----------------------------------------------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| Vérifier la boîte de réception et lister les fichiers | `twc_sftp_files_list`     | Confirmer que la fonctionnalité est activée, lire un résumé de la boîte de réception et l'état de chaque fichier |
| Expliquer un import                                   | `twc_sftp_import_log_get` | Lire les nombres de lignes, les refus et les résultats par carte, avec la raison de l'échec                      |
| Inspecter le contenu brut du fichier                  | `twc_sftp_files_read`     | Parcourir les lignes brutes pour repérer les problèmes de délimiteur, de colonne ou d'identifiant                |

* `twc_sftp_files_list` renvoie `sftpEnabled` défini sur `false` lorsque le locataire n'a pas de dossier SFTP, ce qui est le cas normal pour la plupart des locataires.
* États des fichiers : `en attente` signifie déposé et pas encore récupéré. `traité` signifie importé. `erreur` signifie que le traitement a échoué. `twc_sftp_import_log_get` explique pourquoi.
* `twc_sftp_import_log_get` sépare `noMatchCount`, les lignes dont les identifiants ne correspondaient à aucune carte, de `refusedCount` et `failedCount`. Le premier signale un problème de qualité des données, pas un bug du pipeline. Les lignes refusées indiquent un type de Carte inconnu, un thème ou un modèle d'avantage, ou un identifiant incorrect.
* `runState` défini sur `notRecordedYet` signifie que la fin de l'exécution n'a pas encore atteint la télémétrie ; une nouvelle tentative quelques minutes plus tard permet généralement d'obtenir une réponse. Les résultats d'importation sont conservés pendant 90 jours.
* `twc_sftp_files_read` renvoie une fenêtre de lignes limitée. Le résultat précédent de `nextStartLine` est passé comme `startLine` pour continuer. `nextStartLine` défini sur `null` marque la fin du fichier.

{% hint style="warning" %}
Les fichiers SFTP contiennent des données client brutes, notamment des identifiants, des coordonnées de contact et des lignes de transaction. `twc_sftp_files_read` nécessite l'autorisation distincte `tenant.sftp:download` , que le simple listing des fichiers n'accorde pas. Citez uniquement ce dont la question a besoin. Ne retranscrivez pas une fenêtre entière.
{% endhint %}

### Auditer les URL courtes

| Capacité                | Outils disponibles   | Résultat typique                                                                           |
| ----------------------- | -------------------- | ------------------------------------------------------------------------------------------ |
| Auditer les URL courtes | `twc_redirects_list` | Trouver les redirections, la page de destination de chacune, et leurs détails d'expiration |

Les redirections expirées sont exclues sauf si `includeExpired` est activé. Chaque visite enregistre un `Redirect:Redirected` événement, donc le décompte des clics provient de `twc_insights_query`.

### Examiner la posture d'accès

Les outils de sécurité renvoient des métadonnées d'accès, jamais les valeurs des clés API.

| Capacité                                  | Outils disponibles              | Résultat typique                                                                                             |
| ----------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Examiner les utilisateurs du back-office  | `twc_security_users_list`       | Vérifier les rôles, les comptes bloqués et la dernière connexion                                             |
| Examiner les clés API                     | `twc_security_api_keys_list`    | Vérifier les autorisations et l'état d'activation sans exposer de secrets                                    |
| Examiner les rôles et ce qu'ils accordent | `twc_security_roles_list`       | Voir chaque rôle tel qu'il est stocké, entièrement résolu, ainsi que les entrées qui ne se résolvent en rien |
| Comprendre un périmètre d'autorisation    | `twc_security_permissions_list` | Transformer un code de périmètre en signification en langage clair, ou trouver le bon périmètre à accorder   |

Pour expliquer un 403, le rôle de la personne est trouvé avec `twc_security_users_list`. Le périmètre requis est ensuite vérifié par rapport à `resolvedScopes`. Un périmètre dans `unknownScopes` n'accorde rien. Il s'agit soit d'une faute de frappe, car l'orthographe du périmètre n'est pas validée lors de l'enregistrement d'un rôle, soit d'une extension actuellement désactivée. Les extensions activées sont confirmées avec `twc_tenants_get`. Un rôle avec `fullAccess` défini sur `true` dispose de `*` et contourne la liste des périmètres, y compris ceux ajoutés par les versions futures.

`write` n'implique jamais `read` nulle part sur cette plateforme. Un rôle ne possédant que `tenant.Carte:write` peut mettre à jour une Carte et ne peut pas en consulter une.

### Explorer l'API REST

Les outils de référence de l'API REST décrivent l'API servie par l'environnement connecté. Ils aident un assistant à créer ou déboguer une intégration sans quitter la conversation.

| Capacité                       | Outils disponibles        | Résultat typique                                                                                      |
| ------------------------------ | ------------------------- | ----------------------------------------------------------------------------------------------------- |
| Lister les opérations de l'API | `twc_api_operations_list` | Trouver les points de terminaison par tag, chemin, méthode ou périmètre requis                        |
| Inspecter une opération        | `twc_api_operations_get`  | Lire les paramètres, le corps de la requête, les réponses, les périmètres requis et un squelette curl |
| Inspecter un modèle d'API      | `twc_api_schemas_get`     | Lire un modèle avec chaque schéma auquel il fait référence et les opérations qui l'utilisent          |

Le `interne` document couvre l'ensemble de l'API ; `v1` couvre le sous-ensemble public.

## Effectuer des modifications en toute sécurité

Les outils d'écriture permettent à un assistant de préparer et d'appliquer des changements, comme émettre une Carte de test, ajuster un thème ou mettre une automatisation en pause, sans passer par la console. Ils sont délibérément soumis à des restrictions, car un changement dans un environnement est réel pour chaque utilisateur final qu'il touche.

Une écriture ne s'exécute que si toutes ces conditions sont réunies :

* L'environnement expose des outils d'écriture. Ils ne sont listés que lorsque l'environnement autorise les écritures.
* Le tenant autorise les écritures MCP.
* Le compte Back-office a autorisé les écritures sur ce tenant, pendant une durée limitée, depuis le **accès MCP** page du Back-office.
* Le compte possède le périmètre d'autorisation requis par la modification.

Une écriture refusée ne change rien, et le refus indique la page Back-office à ouvrir.

### Autoriser les écritures dans le Back-office

L'autorisation d'écriture est personnelle et délibérément de courte durée, afin qu'un assistant IA ne puisse pas continuer à modifier un tenant longtemps après la tâche qui en avait besoin. Elle s'applique à un seul tenant dans un seul environnement, et chaque écriture demande encore une confirmation et nécessite les autorisations habituelles.

1. Ouvrez le tenant dans le Back-office de l'environnement requis.
2. Allez à **Paramètres → Contrôle d'accès → Accès MCP**, puis à l' **Mon accès** onglet. En production, la page se trouve à [admin.thewalletcrew.io/tenant/\~/settings/access/mcp/mine](https://admin.thewalletcrew.io/tenant/~/settings/access/mcp/mine).
3. Vérifiez le **Environnement** badge à côté du titre de la page.
4. Dans **Mon accès en écriture**, choisissez une **Durée**, puis cliquez sur **Autoriser les écritures**.

<figure><img src="https://1459665471-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlP7d71aYydav6e0pRkxc%2Fuploads%2FQUuVB1InlzF4lZiVN3Gk%2Fimage.png?alt=media&amp;token=05e32dd8-061e-4368-8b5c-eade838711a6" alt="The My write access panel confirms that writes are not allowed yet. Check the environment badge, choose a duration, then click Allow writes."><figcaption><p>Le panneau Mon accès en écriture confirme que les écritures ne sont pas encore autorisées. Vérifiez le badge d'environnement, choisissez une durée, puis cliquez sur Autoriser les écritures.</p></figcaption></figure>

La même page affiche le **URL du serveur** de l'environnement actuel, prêt à être copié dans un client MCP. Tant que les écritures ne sont pas autorisées, le **Mon accès en écriture** panneau affiche « Les écritures ne sont pas autorisées : vos clients MCP ne peuvent lire ce tenant qu'en lecture seule. »

### Confirmer et appliquer une écriture

Chaque écriture demande une confirmation avant d'agir. Un client qui le prend en charge affiche un formulaire oui/non. Sinon, le premier appel renvoie un aperçu avec un résumé, les changements, les effets secondaires, si le changement est réversible et un jeton de confirmation. Rien n'est changé à ce stade. Répéter le même appel avec le jeton l'applique. Un jeton dure 10 minutes et ne vaut que pour les mêmes arguments, le même outil, le même tenant et le même utilisateur. Chaque aperçu et chaque résultat nomment l'environnement.

Les mises à jour des thèmes, des modèles d'avantages et des types de Carte remplacent la définition entière. La définition est lue avec l'outil get correspondant, modifiée, puis renvoyée dans son intégralité ; un champ omis est effacé. La dernière écriture l'emporte, comme dans la console. Une mise à jour d'automatisation ne modifie que les champs envoyés.

Les images sont envoyées sous forme d'URL https sur un hôte public ou sous forme de données base64. Seuls les PNG et les JPEG sont acceptés, jusqu'à 8 Mo.

{% hint style="warning" %}
Certaines écritures atteignent immédiatement les utilisateurs finaux. `twc_passes_update` pousse la Carte sur chaque appareil sur lequel elle est installée, et sa notification ne peut pas être retirée. `twc_benefit_templates_update` avec `refreshGrantedBenefits` pousse chaque Carte portant un avantage issu de ce modèle. Les suppressions sont irréversibles. Testez d'abord les changements sur QA.
{% endhint %}

## Limites et comportement de connexion

L'ouverture d'une session nécessite un compte administrateur global ou un compte disposant d'une autorisation sur au moins un tenant. Le point de terminaison ne contient aucun chemin de tenant, donc cette porte de connexion est volontairement grossière. Chaque appel d'outil décide de l'accès réel.

Chaque outil à portée de tenant requiert une portée Back-office spécifique. La plateforme applique le même modèle d'autorisation que l'API REST. Voir un tenant dans `twc_tenants_list` ne signifie pas que chaque outil y réussira. Une erreur d'autorisation signifie que la portée manque, pas que les données sont absentes. `twc_security_permissions_list` explique une portée.

Les appels sont limités par tenant et par outil. La valeur par défaut est de 60 appels par minute. Un tenant peut augmenter ou réduire cela dans `server/security.yml` sous `mcpThrottling.defaultLimitPerMinute`, ou définir une limite par outil sous `mcpThrottling.limitsPerTool`.

Les réponses sont plafonnées à environ 64 000 caractères. Les longues listes sont paginées avec un curseur, et un résultat qui ne tient pas l'indique avec un `tronqué` ou échoue en demandant de le restreindre.

Un appel d'outil est plafonné à deux minutes. Les appels longs, y compris `twc_insights_query`, restent actifs grâce à des notifications de progression. Le serveur ne peut envoyer ces notifications que lorsque le client fournit un jeton de progression. Un client qui ne demande pas de progression peut atteindre un délai d'inactivité en amont sans erreur. Réduire les plages horaires dans les requêtes KQL permet d'éviter cela.

Le serveur utilise Streamable HTTP en mode sans état. Il n'a pas de flux d'événements autonome. Il n'envoie aucune notification non sollicitée en dehors d'un appel en cours.

Le serveur ajoute l'environnement à son nom. Par exemple, `Le Wallet Crew MCP – Production`. La plupart des clients affichent ce nom, ce qui aide à confirmer l'environnement connecté.

## Modèles de prompt

Des prompts clairs produisent des enquêtes ciblées. Incluez le contexte du tenant, la période et le résultat attendu.

### Santé de la configuration

> Exécutez une validation complète de la configuration pour ce tenant. Expliquez chaque erreur et recommandez la prochaine vérification.

### Régression récente

> Affichez les changements de configuration des dernières 24 heures. Mettez en évidence les trois modifications les plus risquées et expliquez pourquoi.

### Enquête sur la Carte

> Trouver une Carte `<PASS_ID>`. Résumez son état actuel et les derniers événements importants du cycle de vie, puis montrez-moi à quoi elle ressemble.

### Enquête sur l'avantage

> Listez les modèles d'avantage pour ce tenant. Pour le modèle `<TEMPLATE_ID>`, affichez sa configuration complète et trouvez toutes les Cartes qui détiennent actuellement un avantage actif issu de ce modèle.

### Automatisation planifiée

> Listez les automatisations pour ce tenant. Pour celles qui semblent incorrectes, affichez la configuration et les exécutions récentes, et dites-moi si elles se sont réellement exécutées et ont réussi.

### Triage de l'import SFTP

> Vérifiez si SFTP est activé pour ce tenant. Listez les fichiers récents, puis pour le fichier `<FILE_NAME>` expliquez ce qui s'est passé pendant l'import, y compris quelles Cartes ont échoué et pourquoi.

### Dépannage des permissions

> Utilisateur `<EMAIL>` obtient un 403 sur `<OPERATION>`. Trouvez son rôle, résolvez ses portées et dites-moi précisément quelle portée manque ou est mal orthographiée.

### Audit du thème

> Listez les thèmes de Carte et combien de Cartes portent chacun. Signalez les thèmes sans Cartes et les thèmes modifiés au cours des 30 derniers jours.

### Revue des accès

> Examiner les utilisateurs du back-office et les clés API. Signaler les accès obsolètes et les autorisations qui nécessitent un examen.

### Test de changement sur QA

> Sur QA, émettre une carte de test de type carte `<PASS_TYPE>` avec le thème `<THEME_ID>`, puis montrez-moi l’aperçu et le lien d’installation.

## Pratiques d’exploitation sûres

Utilisez le MCP de documentation pour les connaissances produit avant d’examiner les données opérationnelles. Commencez par le plus petit périmètre capable de répondre à la question.

N'incluez pas de données clients, de jetons, de clés API ou d'identifiants OAuth dans les invites IA. Relisez les résultats avant de les partager en dehors de l'équipe autorisée.

Utilisez l'environnement de QA pour les tests et les répétitions. N'utilisez la production que lorsque des preuves de production sont requises, et lisez chaque aperçu d'écriture avant de le confirmer.

Les outils SFTP peuvent renvoyer des données clients brutes. Utilisez la fenêtre la plus étroite qui permette de répondre à la question.

## FAQ

<details>

<summary><strong>Le MCP de documentation nécessite-t-il une authentification ?</strong></summary>

Non. Le MCP de documentation est accessible publiquement et ne renvoie que du contenu de documentation.

</details>

<details>

<summary><strong>Quels identifiants authentifient les serveurs MCP de QA et de production ?</strong></summary>

Les deux serveurs utilisent OAuth avec les mêmes identifiants que ceux utilisés pour leur environnement Back-office respectif. Les autorisations Back-office existantes contrôlent l’accès disponible aux tenants.

</details>

<details>

<summary><strong>QA et la production doivent-elles utiliser la même connexion MCP ?</strong></summary>

Non. Chaque environnement dispose d’un point de terminaison distinct. Créez des connexions clairement nommées pour éviter qu’une enquête n’utilise le mauvais environnement.

</details>

<details>

<summary><strong>Un assistant IA peut-il modifier des données via le serveur MCP ?</strong></summary>

Uniquement via des outils d'écriture, et seulement lorsque le locataire autorise les écritures MCP et que le compte a autorisé les écritures sur ce locataire, pendant une durée limitée, depuis **Paramètres → Contrôle d'accès → Accès MCP** dans le Back-office. Chaque écriture affiche d'abord un aperçu ou un formulaire de confirmation, et rien ne change tant que ce n'est pas confirmé.

</details>

<details>

<summary><strong>Le serveur MCP peut-il renvoyer les secrets de clé API ?</strong></summary>

Non. Les outils de clé API renvoient les autorisations et les informations d'état. Ils ne renvoient pas de secrets.

</details>

<details>

<summary><strong>Pourquoi un outil échoue-t-il alors que le locataire apparaît dans <code>twc_tenants_list</code>?</strong></summary>

La connexion et l'appel sont des vérifications distinctes. `twc_tenants_list` renvoie les locataires pour lesquels le compte dispose d'au moins une autorisation. Chaque outil nécessite aussi son propre périmètre d'autorisation sur ce locataire. Utilisez `twc_security_roles_list` et `twc_security_permissions_list` pour trouver le périmètre manquant.

</details>

<details>

<summary><strong>Où sont passées les offres, les privilèges et les modèles de Carte ?</strong></summary>

Ils sont désormais appelés modèles d’avantages, avantages et types de Carte, conformément à la console. Utilisez `twc_benefit_templates_list`, `twc_benefits_list` et `twc_carte_types_list`. L’historique des événements de Carte est lu via `twc_insights_query`, et les détails de la carte de tampons font partie de `twc_passes_get`.

</details>

<details>

<summary><strong>Y a-t-il des limites de débit ?</strong></summary>

Oui. Les appels sont limités par locataire et par outil, avec 60 appels par minute par défaut. Un locataire peut remplacer la valeur par défaut ou définir une limite par outil dans sa configuration de sécurité.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.thewalletcrew.io/connectors/fr/model-context-protocol-mcp.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
