Skip to main content
Le serveur Kameleoon Model Context Protocol (MCP) connecte les assistants de code IA directement à votre projet Kameleoon, permettant des workflows agentiques pour les expériences et les feature flags. Au-delà de la lecture des configurations et de l’extraction du code des variations, votre assistant IA peut créer et gérer des expériences, feature flags, objectifs, segments, déclencheurs et règles de ciblage, et exécuter le cycle de vie complet du rollout, le tout depuis votre environnement de développement. Enregistrez et authentifiez le serveur pour automatiser votre cycle de vie d’implémentation, depuis une variation gagnante jusqu’à un rollout en production sécurisé par feature flag.

Configurer le serveur là où vous développez

Sélectionnez votre assistant de code IA pour obtenir une invite de configuration prête à coller.
Kai, l’assistant IA de Kameleoon intégré à l’application, inclut nativement ces mêmes outils, sans étape de connexion distincte. Utilisez les invites de configuration de votre assistant de code IA lorsque vous souhaitez qu’il agisse sur votre projet Kameleoon depuis votre IDE à la place.
Si vous souhaitez utiliser ces outils depuis le chat Claude ou ChatGPT (web ou desktop) plutôt que depuis un IDE, consultez Connecter Kameleoon à Claude et ChatGPT.

Fonctionnalités

Une fois le serveur connecté, votre agent IA peut interagir avec Kameleoon pour :
  • Découvrir et inspecter les expériences, feature flags, objectifs, segments, déclencheurs et règles de ciblage.
  • Construire des expériences de bout en bout : créer, dupliquer, modifier leurs paramètres et leur répartition du trafic, ajouter des variations avec leur propre code et exécuter le cycle de vie complet (démarrer, mettre en pause, reprendre, arrêter, supprimer).
  • Gérer les feature flags : créer, dupliquer, supprimer, activer/désactiver par environnement et consulter l’historique des modifications.
  • Configurer la livraison des flags : ajouter des règles ciblées et d’expérimentation, des variations personnalisées et des variables typées.
  • Créer et maintenir des objectifs, des segments d’audience et des déclencheurs, et définir le segment et le déclencheur d’une expérience.
  • Analyser les résultats des expériences et des feature-flag-experiments, et extraire le code brut des variations (JavaScript et CSS).
  • Automatiser le cycle de vie complet de l’implémentation, depuis une variation gagnante jusqu’à un rollout en production sécurisé par feature flag.

Créer des variations avec leur propre code

Votre assistant IA peut configurer un test avec plusieurs variations, chacune avec son propre code, sans appels API directs. Donnez à l’assistant l’URL de la page et les sélecteurs des éléments à modifier, et demandez-lui de suivre ces étapes :
  1. Créez l’expérience avec experiment_create, par exemple en tant qu’expérience DEVELOPER.
  2. Utilisez l’ID de la Variation 1 créée automatiquement, présent dans la réponse de experiment_create, puis définissez son code avec experiment_variation_update. N’ajoutez pas de deuxième variation pour elle.
  3. Ajoutez chaque variation supplémentaire avec experiment_variation_create, en passant son name ainsi que les jsCode, cssCode, customJson ou redirection dont elle a besoin.
  4. Pour limiter les personnes qui voient l’expérience, définissez son segment ou son déclencheur avec targeting_rule_update. L’expérience dispose déjà d’une règle de ciblage, n’en créez donc pas une autre.
  5. Relisez le code de chaque variation avec experiment_code_get pour vérifier ce qui a été enregistré.
Kameleoon ne peut pas restaurer le code précédent d’une variation depuis le serveur. Copiez le code existant dans un endroit sûr avant de le mettre à jour.
Les outils enregistrent le code que vous fournissez. Ils ne le génèrent pas. Le résultat n’est donc qu’aussi précis que les détails de la page sur lesquels votre assistant IA s’appuie, comme l’URL et les sélecteurs d’éléments. Un assistant capable de lire votre base de code ou la page en direct peut utiliser ce contexte lorsqu’il écrit le code. Dans une expérience draft, Kameleoon répartit le trafic de façon égale entre la page d’origine et toutes les variations. Avec deux variations, chacune des trois versions reçoit 33 % du trafic. Une variation ajoutée à une expérience running démarre avec 0 % de trafic. Définissez sa part avec experiment_traffic_allocation_set lorsque l’expérience est paused ou scheduled, ou dans l’application Kameleoon lorsqu’elle est running. Les deux outils de variation vérifient d’abord l’expérience. Si elle n’est pas draft, par exemple si elle est running, l’outil renvoie un aperçu des modifications et ne les applique qu’après votre confirmation. Par exemple, vous pouvez utiliser ce prompt : « On site d1alzzxd7k, create a developer experiment for https://www.example.com/pricing with two variations. Make the #buy-now button red in the first variation and green in the second. »

Modifier les expériences, les segments et les déclencheurs

Votre assistant IA peut modifier les paramètres et le ciblage d’une expérience existante sans passer par l’application Kameleoon. Par exemple, une expérience draft a besoin d’un objectif et d’une répartition du trafic avant de pouvoir démarrer. L’assistant peut associer l’objectif, définir la répartition et diriger l’expérience vers le segment ou le déclencheur qui doit la cibler. Chaque expérience comporte une règle de ciblage. L’assistant modifie le segment ou le déclencheur de cette règle avec targeting_rule_update, vous n’avez donc pas besoin de créer une deuxième règle. Les modifications qui affectent le trafic en direct nécessitent votre confirmation. Lorsqu’une expérience n’est plus draft, ou lorsque vous modifiez les conditions d’un segment ou d’un déclencheur utilisé par autre chose qu’une expérience draft, l’assistant renvoie d’abord un aperçu des changements. Il n’applique la modification qu’après votre confirmation. Le serveur MCP ne peut pas modifier la répartition du trafic d’une expérience running, deviated ou stopped, ni d’une expérience used as personalization. Effectuez cette modification dans l’application Kameleoon. Par exemple, vous pouvez utiliser ce prompt : « On site d1alzzxd7k, for the draft experiment Pricing test: attach goal Purchase, split traffic 50/50 between the original and the variation, and target it to phone visitors on /pricing. » L’assistant trouve l’expérience et l’objectif, associe l’objectif, définit la répartition, crée un segment pour les visiteurs sur téléphone et un déclencheur pour /pricing, puis associe les deux à l’expérience. L’expérience est alors prête à démarrer.

Le workflow principal : de l’expérience gagnante à la production

Le serveur MCP Kameleoon automatise le « dernier kilomètre » de l’implémentation. transpose_winning_experiment récupère le code de la variation gagnante (ou choisie manuellement) et applique la logique de décision du gagnant en un seul appel, de sorte que votre assistant IA n’a pas besoin d’enchaîner séparément les étapes de récupération des résultats et du code. Sans quitter l’IDE, vous pouvez demander à votre assistant IA d’exécuter le workflow suivant :
  1. Exécuter transpose_winning_experiment pour obtenir le code de la variation gagnante et les instructions d’implémentation.
  2. Convertir le code en code natif prêt pour la production (comme des composants React) aligné sur la base de code existante.
  3. Créer un feature flag dans Kameleoon et encapsuler la nouvelle implémentation derrière celui-ci.
  4. Activer et valider la fonctionnalité en production.

Utilisation des tokens et choix du forfait

Connecter le serveur MCP Kameleoon à un assistant IA ajoute une surcharge faible et constante : les schémas d’outils qui décrivent les actions disponibles. Cette surcharge reste stable quel que soit le forfait sur lequel fonctionne l’assistant. Le coût en tokens d’un workflow provient du travail lui-même, pas de la connexion. Les facteurs suivants déterminent la consommation :
  • La quantité de données qu’un workflow récupère, comme des configurations d’expérience complètes, du code de variation ou des historiques de modifications.
  • La quantité de code que l’assistant génère ou convertit, par exemple lors de la transposition d’une variation gagnante en code natif d’application.
  • Le nombre de sites ou de marques qu’un même workflow couvre. Dupliquer et auditer des expériences sur trois sites consomme proportionnellement plus de tokens qu’exécuter la même opération sur un seul site.
  • L’ampleur avec laquelle vous délimitez un même prompt. Une vérification circonscrite à un seul site consomme bien moins qu’une demande ouverte visant à passer en revue toutes les expériences de tous les sites.
Avant d’engager votre équipe sur un forfait d’assistant IA spécifique, évaluez l’ampleur de vos workflows prévus : combien de sites ou de marques ils couvrent, à quelle fréquence vous les exécutez, et s’ils incluent des étapes de récupération massive de données ou de génération de code. Les workflows récurrents et multi-sites nécessitent un forfait offrant une capacité d’usage ou une fenêtre de contexte plus large qu’un forfait pensé pour des prompts occasionnels sur un seul site. Consultez la documentation du forfait de votre fournisseur d’assistant IA pour connaître ses limites d’usage précises et la taille de sa fenêtre de contexte.

Outils disponibles

Le serveur expose les outils ci-dessous, regroupés par domaine. Chaque outil correspond à une action unique et bien délimitée, vous permettant de les composer en workflows plus larges (par exemple : lire les résultats, extraire le code, créer un flag, ajouter une règle, l’activer).
Pour experiment_results_get, feature_flag_experiment_results_get et transpose_winning_experiment, le tableau goalResults couvre chaque objectif attaché à l’expérience, principal et secondaires. Kameleoon calcule un verdict de gagnant uniquement pour l’objectif principal ; les objectifs secondaires renvoient les mêmes chiffres statistiques que les métriques guardrail, sans verdict.
Les outils qui modifient le trafic en direct affichent un aperçu de ce qui va changer, et n’appliquent la modification qu’après votre confirmation :
  • feature_flag_enable, feature_flag_disable et feature_flag_delete : systématiquement.
  • feature_flag_rule_targeted_create, feature_flag_rule_progressive_create et feature_flag_rule_experimentation_create : lorsque le flag est déjà enabled dans l’environnement cible.
  • experiment_update, experiment_variation_create, experiment_variation_update et targeting_rule_update : lorsque l’expérience n’est pas draft.
  • experiment_traffic_allocation_set : lorsque l’expérience est scheduled ou paused.
  • segment_update et trigger_update : lorsque les conditions changent et qu’autre chose qu’une expérience draft utilise le segment ou le déclencheur. Renommer ne nécessite jamais de confirmation.
  • experiment_lifecycle_update : pour stopped et deleted.
segment_delete et trigger_delete refusent de supprimer un élément utilisé, sauf si vous définissez force. Vous ne pouvez pas modifier la répartition du trafic d’une expérience running via le serveur MCP. Effectuez cette modification dans l’application Kameleoon. Si un outil de règle de flag dépasse le délai d’attente ou renvoie une erreur de passerelle, la règle a peut-être été créée malgré tout. Vérifiez-la avec feature_flag_get avant de relancer l’appel, sinon la nouvelle tentative crée une règle en double.

Expériences

Créez, inspectez et exécutez des tests A/B (expériences Web).

Feature flags

Créez et opérez des feature flags, activez-les ou désactivez-les par environnement, et consultez leur historique et leurs résultats.

Règles, variations et variables

Façonnez la manière dont un flag est livré : ajoutez des règles de livraison et d’expérimentation, et définissez les variations et variables typées qu’il sert.

Objectifs

Créez et maintenez les objectifs de conversion utilisés par les expériences et les flags.

Sites

Découvrez les projets auxquels vous avez accès. La plupart des autres outils nécessitent un code de site : commencez donc par cet outil.

Segments

Définissez et inspectez les audiences que vous ciblez.
Les conditions d’un segment comportent au plus deux niveaux : des groupes de conditions reliés par un AND ou un OR de premier niveau. L’outil refuse un arbre de conditions plus profond avec une explication au lieu de l’aplatir, car l’aplatissement peut élargir l’audience. Demandez à votre assistant IA de réécrire l’arbre sur deux niveaux.

Déclencheurs

Définissez quand une campagne se déclenche. Un déclencheur indique le moment (un visiteur atteint une page, un événement se produit ou un nombre de visites dépasse un seuil défini), et un segment indique à qui. La règle de ciblage d’une expérience combine un de chaque.
Les conditions d’un déclencheur acceptent les types de page, de visite, de temps et d’événement, comme PAGE_URL, VISITS, TIME_RANGE et EVENT. Les attributs du visiteur, comme DEVICE_TYPE, GEOLOCATION et BROWSER, relèvent d’un segment, et les déclencheurs les refusent. Vous ne pouvez pas modifier avec ces outils les déclencheurs que Kameleoon crée pour la règle de ciblage d’une expérience. Utilisez targeting_rule_update pour ces derniers.

Règles de ciblage

Associez à une expérience un segment (qui la voit) et un déclencheur (quand elle se déclenche).

Intégration Claude Code

Étape 1 : Enregistrer le serveur

Pour enregistrer le serveur pour votre profil utilisateur (le rendant disponible dans tous les projets), ouvrez un terminal et exécutez la commande suivante :
Pour enregistrer le serveur uniquement pour le projet en cours (ce qui ajoute un fichier .mcp.json à votre dépôt pour le partage en équipe), exécutez :
Vérifiez que Claude a ajouté le serveur :
Sortie attendue : kameleoon: ... - ✗ Failed to connect (Un échec de connexion ici est normal car vous n’avez pas encore terminé l’authentification).

Étape 2 : Terminer l’authentification OAuth

Dans le même terminal, déclenchez le flux de connexion :
  1. La commande ouvre automatiquement un onglet de navigateur. Si ce n’est pas le cas, copiez l’URL affichée dans le terminal et ouvrez-la manuellement.
  2. Connectez-vous à votre compte Kameleoon.
  3. Cliquez sur Authorize.
  4. Lorsque le navigateur affiche un message de succès, appuyez sur Ctrl+C dans votre terminal.
Vérifiez la connexion :
Sortie attendue : kameleoon: ... - ✓ Connected

Étape 3 : Démarrer une nouvelle session Claude Code

Claude Code rend les outils des serveurs MCP nouvellement ajoutés disponibles uniquement dans les sessions que vous démarrez après l’enregistrement du serveur. Fermez votre session de chat Claude Code en cours et ouvrez-en une nouvelle.

Étape 4 : Vérifier la connexion

Dans une nouvelle conversation Claude Code, essayez les prompts suivants :
  • « List the Kameleoon feature flags. »
  • « What experiments are running on site X? »
  • « Show the status of experiment Y. »
  • « Show the code for variation 1 of experiment Z. »

Dépannage Claude

Intégration Antigravity

Configuration rapide

Collez le prompt d’auto-démarrage suivant directement dans votre chat Antigravity pour vous connecter automatiquement :

Configuration manuelle

Modifiez le fichier de configuration à ~/.gemini/antigravity/mcp_config.json et ajoutez le bloc JSON suivant :

Intégration Codex

Configuration rapide

Collez le prompt d’auto-démarrage suivant dans votre chat Codex :

Configuration manuelle

Ajoutez le bloc suivant à ~/.codex/config.toml. Créez le fichier s’il n’existe pas :

Authentifier la connexion

Le serveur MCP Kameleoon utilise OAuth. Exécutez la commande suivante dans votre terminal pour démarrer le flux d’autorisation :
Comportement attendu :
  1. Le navigateur ouvre automatiquement une fenêtre.
  2. Cliquez sur Authorize sur la page de connexion Kameleoon.
  3. Kameleoon complète le callback local sur le port 35535.
  4. Le terminal confirme que le proxy s’est connecté avec succès.
Une connexion réussie produit un texte semblable au suivant :

Vérifier les opérations des outils

Après vous être authentifié, exécutez les vérifications suivantes pour confirmer que les outils fonctionnent comme prévu :
  1. Lister les outils disponibles : Confirmez que tools/list réussit et renvoie les outils Kameleoon. Assurez-vous que la sortie inclut les outils listés dans le tableau des outils, comme experiment_code_get, feature_flag_list et feature_flag_create.
  2. Récupérer les feature flags : Exécutez feature_flag_list(siteCode = "d1alzzxd7k"). Une réponse réussie renvoie une liste de feature flags pour le site spécifié.
  3. Récupérer les résultats d’expérience : Exécutez experiment_results_get(experimentId = 149640). Une réponse réussie inclut le nom de l’expérience, le code du site, le type et le statut.

Intégration Cursor

Cursor intègre les outils MCP directement dans la barre latérale Chat de l’IDE, ce qui les rend disponibles pendant que vous codez.

Option 1 : Configurer via l’UI Cursor (recommandé)

  1. Ouvrez les paramètres Cursor (Cmd+Shift+J sur macOS, Ctrl+Shift+J sur Windows/Linux).
  2. Naviguez vers Features > MCP Servers > + Add New MCP Server.
  3. Définissez le Name sur kameleoon.
  4. Définissez le Type sur command.
  5. Saisissez la chaîne suivante comme Command :
  6. Enregistrez la configuration.

Option 2 : Configurer via mcp.json (avancé)

Ouvrez ~/.cursor/mcp.json (créez le fichier s’il n’existe pas) et ajoutez l’entrée suivante à l’objet mcpServers :
Redémarrez Cursor après avoir modifié le fichier manuellement.

Exemples de prompts pour les workflows développeur

Une fois le serveur MCP Kameleoon connecté, utilisez des prompts comme les suivants dans votre IDE :
  • « List the Kameleoon MCP tools available in this session. »
  • « Show all feature flags for site code d1alzzxd7k. »
  • « Get the details for feature flag new_search on site d1alzzxd7k. »
  • « Fetch experiment results for experiment 149640 and summarize the current status. »
  • « Pull the variation code for experiment <experimentId> and variation <variationId>. »
Pour des workflows plus avancés, essayez les prompts suivants :
  • « Inspect feature flag new_search for site d1alzzxd7k and explain what environments and variations it has. »
  • « Summarize experiment 149640 for an engineer. Include status, site code, winner state, and whether any variation data is available. »
  • « List the active feature flags for site d1alzzxd7k and point out any flags that look like stale candidates. »
  • « Retrieve the code for variation <variationId> in experiment <experimentId> and explain what frontend behavior it changes. »
  • « Create a new feature flag named <name> with key <featureKey> for site d1alzzxd7k. »
  • « Turn on feature flag <featureKey> in the staging environment for site d1alzzxd7k. »
  • « Turn off feature flag <featureKey> in the production environment for site d1alzzxd7k. »

Workflow avancé : Automatisation de bout en bout

transpose_winning_experiment couvre la vérification du gagnant et la récupération du code en un seul appel, mais la conversion de ce code et son déploiement bénéficient encore d’un prompt système explicite. L’exemple suivant cible les applications React et demande à l’agent IA d’appeler l’outil, puis de terminer le cycle de vie d’implémentation : convertir le code, l’encapsuler derrière un nouveau feature flag et le déployer, le tout via les outils MCP. Collez le prompt suivant dans votre assistant IA :

Référence des paramètres des outils

Utilisez les noms exacts des outils et des paramètres retournés par tools/list. Le schéma MCP en direct prend en charge les paramètres suivants.

Expériences

experiment_create accepte MVT et SDK_HYBRID comme valeurs valides pour type, mais aucune des deux ne peut réellement être créée via cet outil. MVT échoue toujours car l’API exige mvtVariations (sections et variations) à la création, et aucun outil MCP n’expose ce champ. SDK_HYBRID échoue toujours avec une erreur « Incorrect Experiments type », quel que soit le contenu envoyé. AI, CLASSIC, DEVELOPER et PROMPT se créent tous correctement. Pour créer un test multivariate, appelez directement l’Automation API en suivant les étapes de Créer un test multivariate.
Les outils de variation ne prennent pas en charge les expériences stopped, les expériences MVT ni les expériences feature flag. Pour les variations de feature flags, utilisez feature_flag_variation_create. Vous ne pouvez pas modifier la répartition du trafic d’une expérience running, ni d’une expérience qui utilise une méthode d’allocation de type bandit, via le serveur MCP.

Feature flags

Règles, variations et variables

Objectifs

Sites

Segments

Déclencheurs

Pour associer un déclencheur enregistré à une expérience, appelez targeting_rule_update avec triggerConfiguration défini sur SAVED_TEMPLATE et targetingConfigurationParam défini sur l’ID du déclencheur.

Règles de ciblage

Valeurs d’énumération acceptées : experiment_lifecycle_update.status est started, resumed, paused, stopped ou deleted. Le type d’expérience est AI, CLASSIC, DEVELOPER, MVT, PROMPT ou SDK_HYBRID. Le type d’objectif est CLICK, CUSTOM, SCROLL, PAGE_VIEWS, URL, TIME_SPENT, RETENTION_RATE, WAREHOUSE ou RATIO_METRICS. variableType est BOOLEAN, NUMBER, STRING, JSON, JS, CSS ou ENUM. trafficAllocations est une chaîne variationKey:percentage séparée par des virgules dont la somme est 100 (par exemple off:50,on:50). releaseDateTime est une date-heure locale ISO-8601 sans décalage (par exemple 2026-07-01T09:00:00) et timeZone est une zone IANA (par exemple Europe/Paris ou UTC). trafficAllocationMethod est MANUAL (par défaut), MULTI_ARMED_BANDIT ou CONTEXTUAL_BANDIT. frequencyUnit est MINUTES, HOURS ou DAYS. audienceBasis est VISITORS (par défaut) ou VISITS. segmentConfiguration est ALL_VISITORS, AUTOPROMO_AUTODEFINED, GRAPHICAL_PAGES, HEAT_SLICE, PAGE, SAVED_TEMPLATE, SITE ou URL, et triggerConfiguration prend les mêmes valeurs, sauf ALL_VISITORS. Le paramètre targetingConfigurationParam est un ID de déclencheur enregistré pour SAVED_TEMPLATE, un ID de segment pour HEAT_SLICE, une URL complète pour PAGE ou un fragment d’URL pour URL.
Pour des requêtes spécifiques à un environnement, passez environmentKey = "production" ou environmentKey = "staging" quand ces valeurs sont prises en charge.

Conseils de prompting

  • Incluez le code du site lorsque vous travaillez avec des feature flags.
  • Incluez l’ID d’expérience lorsque vous interrogez des expériences ou leurs résultats.
  • Incluez à la fois experimentId et variationId lorsque vous demandez le code d’une variation.
  • Nommez explicitement l’environnement cible lorsque vous demandez à l’agent d’activer ou de désactiver un feature flag.
  • Demandez un résumé en langage clair si vous voulez que votre agent IA interprète la réponse MCP plutôt que de simplement récupérer les données brutes.

Dépannage général

Le port 35535 est déjà utilisé

Si l’authentification échoue avec une erreur EADDRINUSE, un autre processus écoute déjà sur le port de callback OAuth.
  • Cause : Un processus mcp-remote obsolète reste actif depuis une tentative d’authentification précédente.
  • Solution : Arrêtez le processus obsolète qui utilise le port 35535, puis relancez la commande OAuth.

Le serveur MCP n’apparaît pas dans le chat Codex

Codex peut ne pas recharger à chaud les serveurs MCP nouvellement ajoutés dans un thread déjà en cours d’exécution.
  • Solution : Rafraîchissez Codex ou démarrez une nouvelle session après avoir mis à jour config.toml.

Le flux du navigateur ne se termine pas

Si la fenêtre du navigateur OAuth s’ouvre mais que l’autorisation ne se termine pas :
  • Confirmez que vous avez cliqué sur le bouton Authorize sur la page de connexion Kameleoon.
  • Vérifiez que les paramètres de votre navigateur ou de votre système ne bloquent pas les callbacks localhost.
  • Ouvrez manuellement l’URL de callback si votre navigateur ne parvient pas à la lancer automatiquement.

Un outil renvoie BLOCKED au lieu d’appliquer la modification

Les outils qui modifient le trafic en direct renvoient un aperçu avec le statut BLOCKED tant que vous ne confirmez pas. Ce statut ne signifie pas une erreur.
  • Solution : Lisez l’aperçu et, si la modification vous convient, demandez à votre assistant IA de répéter l’appel avec confirm défini sur true. Pour segment_delete et trigger_delete, utilisez force à la place.

Les agents headless ou distants ne parviennent pas à s’authentifier

Les agents distants ou headless (comme Codex hébergé dans le cloud) ne peuvent pas effectuer l’étape d’autorisation basée sur le navigateur.
  • Solution : Utilisez à la place une version desktop de votre outil.

Commande npx introuvable

Si la commande échoue avec une erreur « not found », assurez-vous que npx est disponible sur le chemin de votre système. Les versions de Node.js 8.2 et ultérieures incluent npx par défaut.