Passer au contenu principal
Le serveur Kameleoon Model Context Protocol (MCP) connecte les assistants de code IA directement à votre projet Kameleoon, permettant des workflows agentiques pour les feature flags et les expériences. Ce guide vous aide à automatiser le “dernier kilomètre” du développement en demandant à vos outils IA de rechercher des configurations, d’analyser les résultats et d’importer le code des variations directement dans votre environnement de développement. Enregistrez et authentifiez le serveur pour automatiser votre cycle de vie d’implémentation, de la création du flag au rollout.

Fonctionnalités

Une fois le serveur connecté, votre agent IA peut interagir avec Kameleoon pour effectuer les tâches suivantes :
  • Rechercher, récupérer, activer/désactiver et gérer les configurations de feature flags.
  • Analyser les variations gagnantes des expériences et récupérer des résumés statistiques.
  • Extraire le code brut des variations (JavaScript ou CSS) directement depuis les expériences.
  • Automatiser le cycle de vie complet de l’implémentation, de la création du flag jusqu’au rollout.

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

Le serveur MCP Kameleoon automatise le “dernier kilomètre” de l’implémentation. Sans quitter l’IDE, vous pouvez demander à votre assistant IA d’exécuter le workflow suivant :
  1. Récupérer les résultats de l’expérience et identifier la variation gagnante.
  2. Extraire le code brut de la variation depuis Kameleoon.
  3. Convertir le code en code natif prêt pour la production (comme des composants React) aligné sur la base de code existante.
  4. Créer un feature flag dans Kameleoon.
  5. Encapsuler la nouvelle implémentation derrière le feature flag.
  6. Activer et valider la fonctionnalité en production.

Outils disponibles

OutilObjectifExemple de prompt
feature_flag_listLister tous les flags pour un site.”List all feature flags for site d1alzzxd7k.”
feature_flag_getObtenir la configuration détaillée d’un flag.”Show configuration for flag snake_game.”
feature_flag_enableActiver un flag.”Enable the new_search flag in production.”
feature_flag_createCréer un nouveau flag de base.”Create a flag ui_refresh for site d1alzzxd7k.”
experiment_listLister les expériences actives.”List all active experiments.”
experiment_results_getObtenir les résultats et les données du gagnant.”Show winner summary for experiment 149640.”
experiment_code_getExtraire le code JavaScript ou CSS d’une variation.”Pull variation code for experiment 149640.”

Intégration Claude

Prérequis

  • Claude Code installé (claude --version)
  • Node.js v18 ou plus récent installé (node --version)
  • Un compte Kameleoon

É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 :
claude mcp add --scope user kameleoon -- npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ "scope": "openid" }'
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 :
claude mcp add kameleoon -- npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ "scope": "openid" }'
Vérifiez que Claude a ajouté le serveur :
claude mcp list
Sortie attendue : kameleoon: ... - ✗ Failed to connect (Ceci 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 :
npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ "scope": "openid" }'
  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 :
claude mcp list
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 my Kameleoon feature flags.”
  • “What experiments are active on site X?”
  • “Show me the status of experiment Y.”
  • “Show me the code for variation 1 of experiment Z.”

Dépannage Claude

SymptômeCauseSolution
Le navigateur ne s’ouvre pas.Échec du lancement automatique.Copiez l’URL depuis le terminal et ouvrez-la manuellement.
Connexion refusée sur le port 35535.Le port est utilisé.Exécutez `netstat -anofindstr :35535`, terminez le processus et réessayez.
Échec de la connexion après OAuth.Le jeton n’a pas persisté.Réexécutez la commande de l’étape 2 pour rafraîchir votre jeton.
Les outils ne sont pas visibles dans Claude.La session a commencé avant l’ajout du serveur.Démarrez une nouvelle conversation Claude Code.
Clé mcpServers rejetée dans settings.json.Mauvais fichier ; Claude Code n’utilise pas cette clé.Utilisez plutôt la commande claude mcp add.
Erreur d’authentification après une longue période.Jeton OAuth expiré.Réexécutez la commande de l’étape 2.

Intégration Antigravity

Configuration rapide

Collez le prompt d’auto-démarrage suivant directement dans votre chat Antigravity pour vous connecter automatiquement :
“Connect to the Kameleoon MCP production server. The endpoint is https://mcp.kameleoon.com/mcp, using mcp-remote@0.1.37 on port 35535 with the openid scope. Authenticate by running the npx mcp-remote command to trigger my browser, then verify the connection.”

Configuration manuelle

Modifiez le fichier de configuration à ~/.gemini/antigravity/mcp_config.json et ajoutez le bloc JSON suivant :
"kameleoon": {
  "command": "npx",
  "args": [
    "-y",
    "mcp-remote@0.1.37",
    "https://mcp.kameleoon.com/mcp",
    "35535",
    "--static-oauth-client-metadata",
    "{ \"scope\": \"openid\" }"
  ]
}

Intégration Codex

Configuration rapide

Collez le prompt d’auto-démarrage suivant dans votre chat Codex :
“Configure the Kameleoon MCP server at https://mcp.kameleoon.com/mcp. Use port 35535 for callback. Once configured, run the login command to trigger my browser and then list my feature flags.”

Configuration manuelle

Ajoutez le bloc suivant à ~/.codex/config.toml. Créez le fichier s’il n’existe pas :
[mcp_servers.kameleoon]
command = "npx"
args = ["-y", "mcp-remote@0.1.37", "https://mcp.kameleoon.com/mcp",
        "35535", "--static-oauth-client-metadata",
        "{ \"scope\": \"openid\" }"]

Authentifier la connexion

Le serveur MCP Kameleoon utilise OAuth. Exécutez la commande suivante dans votre terminal pour démarrer le flux d’autorisation :
npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 \
  --static-oauth-client-metadata '{ "scope": "openid" }'
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 :
Connected to remote server using StreamableHTTPClientTransport
Local STDIO server running
Proxy established successfully between local STDIO and remote StreamableHTTPClientTransport

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 :
    npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ "scope": "openid" }'
    
  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 :
{
  "mcpServers": {
    "kameleoon": {
      "command": "bash",
      "args": [
        "-lc",
        "npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ \"scope\": \"openid\" }'"
      ]
    }
  }
}
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 me 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 currently 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

Pour découvrir toutes les capacités du serveur MCP, utilisez un prompt système complet. L’exemple suivant montre comment transposer le code de la variation gagnante en composants React, ce qui est principalement destiné aux applications React. Il demande à l’agent IA de gérer l’ensemble du cycle de vie d’implémentation, depuis la récupération des résultats gagnants jusqu’à la génération de code natif prêt pour la production, encadré par un nouveau feature flag. Collez le prompt suivant dans votre assistant IA :
You are integrating a Kameleoon A/B experiment into a production codebase by converting a Kameleoon PBX variation into maintainable native React code. Context
  • Experiment ID: 373001
  • Mode: strict_winner_only (default) or manual_variation_conversion (Fallback variation: 1266752)
Rules
  • Inspect the repo first and follow existing conventions (structure, styling, routing, tests, feature flags).
  • Do not copy experiment code directly. Re-implement using idiomatic React (components, hooks, state).
  • Do not keep experiment-specific logic (IDs, Kameleoon APIs) in production code.
  • Prefer existing feature flag systems for rollout.
  • Avoid DOM manipulation (no querySelector, MutationObserver, etc.).
  • Do not add new dependencies unless necessary.
  • Be explicit if something is unclear.
Workflow steps
  1. Get experiment results.
  2. Decide integration:
    • Mode A (default: strict_winner_only): Proceed only if winner.status == "clear_winner".
    • Mode B (manual): Use the fallback variation provided in the context.
  3. Get the variation code and the prompt that was used.
  4. Convert the code to React (convert JS code to React components/hooks, and CSS code to the project styling system).
  5. Create a feature flag “pbx-winning-experiment-373001” and gate the converted code behind it.

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 :
OutilParamètres requisParamètres optionnels
feature_flag_listsiteCodeAucun
feature_flag_getfeatureKey, siteCodeenvironmentKey
feature_flag_enablefeatureKey, siteCodeenvironmentKey
feature_flag_createfeatureKey, siteCodeAucun
experiment_results_getexperimentIdAucun
experiment_code_getexperimentId, variationIdAucun
Pour des requêtes spécifiques à un environnement, passez environmentKey = "production" ou environmentKey = "staging" lorsque cela est pris 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.

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 5.2 et ultérieures incluent npx par défaut.