Zum Hauptinhalt springen
Der Kameleoon Model Context Protocol (MCP) Server verbindet KI-Coding-Assistenten direkt mit Ihrem Kameleoon-Projekt und ermöglicht agentische Workflows für Feature Flags und Experimente. Diese Anleitung hilft Ihnen, die “letzte Meile” der Entwicklung zu automatisieren, indem Sie Ihre KI-Tools anweisen, Konfigurationen zu durchsuchen, Ergebnisse zu analysieren und Variationscode direkt in Ihre Entwicklungsumgebung zu ziehen. Registrieren und authentifizieren Sie den Server, um Ihren Implementierungslebenszyklus von der Flag-Erstellung bis zum Rollout zu automatisieren.

Funktionen

Nachdem Sie den Server verbunden haben, kann Ihr KI-Agent mit Kameleoon interagieren, um die folgenden Aufgaben auszuführen:
  • Konfigurationen von Feature Flags suchen, abrufen, umschalten und verwalten.
  • Gewinner von Experimenten analysieren und statistische Zusammenfassungen abrufen.
  • Rohcode von Variationen (JavaScript oder CSS) direkt aus Experimenten extrahieren.
  • Den gesamten Implementierungslebenszyklus von der Flag-Erstellung bis zum Rollout automatisieren.

Der primäre Workflow: Vom gewinnenden Experiment zur Produktion

Der Kameleoon MCP Server automatisiert die “letzte Meile” der Implementierung. Ohne die IDE zu verlassen, können Sie Ihren KI-Assistenten anweisen, den folgenden Workflow auszuführen:
  1. Experimentergebnisse abrufen und die gewinnende Variation identifizieren.
  2. Den Rohcode der Variation aus Kameleoon extrahieren.
  3. Den Code in nativen, produktionsreifen Code (z. B. React-Komponenten) umwandeln, der mit der vorhandenen Codebasis übereinstimmt.
  4. Ein Feature Flag in Kameleoon erstellen.
  5. Die neue Implementierung hinter dem Feature Flag kapseln.
  6. Die Funktion in der Produktion aktivieren und validieren.

Verfügbare Tools

ToolZweckBeispiel-Prompt
feature_flag_listAlle Flags für eine Website auflisten.”List all feature flags for site d1alzzxd7k.”
feature_flag_getDetaillierte Flag-Konfiguration abrufen.”Show configuration for flag snake_game.”
feature_flag_enableEin Flag einschalten.”Enable the new_search flag in production.”
feature_flag_createEin neues einfaches Flag erstellen.”Create a flag ui_refresh for site d1alzzxd7k.”
experiment_listAktive Experimente auflisten.”List all active experiments.”
experiment_results_getErgebnisse und Gewinnerdaten abrufen.”Show winner summary for experiment 149640.”
experiment_code_getJavaScript- oder CSS-Variationscode extrahieren.”Pull variation code for experiment 149640.”

Claude-Integration

Voraussetzungen

  • Claude Code installiert (claude --version)
  • Node.js v18 oder neuer installiert (node --version)
  • Ein Kameleoon-Konto

Schritt 1: Den Server registrieren

Um den Server für Ihr Benutzerprofil zu registrieren (sodass er in allen Projekten verfügbar ist), öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:
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" }'
Um den Server nur für das aktuelle Projekt zu registrieren (was Ihrem Repository eine .mcp.json-Datei für das Teilen im Team hinzufügt), führen Sie aus:
claude mcp add kameleoon -- npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ "scope": "openid" }'
Überprüfen Sie, ob Claude den Server hinzugefügt hat:
claude mcp list
Erwartete Ausgabe: kameleoon: ... - ✗ Failed to connect (Dies ist normal, da Sie die Authentifizierung noch nicht abgeschlossen haben.)

Schritt 2: OAuth-Authentifizierung abschliessen

Lösen Sie im selben Terminal den Anmeldevorgang aus:
npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ "scope": "openid" }'
  1. Der Befehl öffnet automatisch einen Browser-Tab. Falls nicht, kopieren Sie die im Terminal ausgegebene URL und öffnen Sie sie manuell.
  2. Melden Sie sich bei Ihrem Kameleoon-Konto an.
  3. Klicken Sie auf Authorize.
  4. Wenn der Browser eine Erfolgsmeldung anzeigt, drücken Sie Ctrl+C in Ihrem Terminal.
Überprüfen Sie die Verbindung:
claude mcp list
Erwartete Ausgabe: kameleoon: ... - ✓ Connected

Schritt 3: Eine neue Claude Code-Sitzung starten

Claude Code stellt Tools von neu hinzugefügten MCP-Servern nur in Sitzungen zur Verfügung, die Sie nach der Registrierung des Servers starten. Schliessen Sie Ihr aktuelles Claude Code-Chatfenster und öffnen Sie ein neues.

Schritt 4: Die Verbindung überprüfen

Probieren Sie in einer neuen Claude Code-Unterhaltung die folgenden Prompts aus:
  • “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.”

Claude-Fehlerbehebung

SymptomUrsacheLösung
Der Browser öffnet sich nicht.Auto-Start fehlgeschlagen.Kopieren Sie die URL aus dem Terminal und öffnen Sie sie manuell.
Verbindung auf Port 35535 verweigert.Port wird verwendet.Führen Sie `netstat -anofindstr :35535` aus, beenden Sie den Prozess und versuchen Sie es erneut.
Verbindung nach OAuth fehlgeschlagen.Token wurde nicht beibehalten.Führen Sie den Befehl aus Schritt 2 erneut aus, um Ihr Token zu aktualisieren.
Tools sind in Claude nicht sichtbar.Die Sitzung wurde vor dem Hinzufügen des Servers gestartet.Starten Sie eine neue Claude Code-Unterhaltung.
Schlüssel mcpServers in settings.json abgelehnt.Falsche Datei; Claude Code verwendet diesen Schlüssel nicht.Verwenden Sie stattdessen den Befehl claude mcp add.
Authentifizierungsfehler nach langer Zeit.OAuth-Token abgelaufen.Führen Sie den Befehl aus Schritt 2 erneut aus.

Antigravity-Integration

Schnellkonfiguration

Fügen Sie den folgenden Self-Starter-Prompt direkt in Ihren Antigravity-Chat ein, um sich automatisch zu verbinden:
“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.”

Manuelle Konfiguration

Bearbeiten Sie die Konfigurationsdatei unter ~/.gemini/antigravity/mcp_config.json und fügen Sie den folgenden JSON-Block hinzu:
"kameleoon": {
  "command": "npx",
  "args": [
    "-y",
    "mcp-remote@0.1.37",
    "https://mcp.kameleoon.com/mcp",
    "35535",
    "--static-oauth-client-metadata",
    "{ \"scope\": \"openid\" }"
  ]
}

Codex-Integration

Schnellkonfiguration

Fügen Sie den folgenden Self-Starter-Prompt in Ihren Codex-Chat ein:
“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.”

Manuelle Konfiguration

Fügen Sie den folgenden Block zu ~/.codex/config.toml hinzu. Erstellen Sie die Datei, falls sie nicht existiert:
[mcp_servers.kameleoon]
command = "npx"
args = ["-y", "mcp-remote@0.1.37", "https://mcp.kameleoon.com/mcp",
        "35535", "--static-oauth-client-metadata",
        "{ \"scope\": \"openid\" }"]

Die Verbindung authentifizieren

Der Kameleoon MCP Server verwendet OAuth. Führen Sie den folgenden Befehl in Ihrem Terminal aus, um den Autorisierungsfluss zu starten:
npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 \
  --static-oauth-client-metadata '{ "scope": "openid" }'
Erwartetes Verhalten:
  1. Der Browser öffnet automatisch ein Fenster.
  2. Klicken Sie auf der Kameleoon-Anmeldeseite auf Authorize.
  3. Kameleoon schliesst den lokalen Callback auf Port 35535 ab.
  4. Das Terminal bestätigt, dass der Proxy erfolgreich verbunden wurde.
Eine erfolgreiche Verbindung gibt Text wie den folgenden aus:
Connected to remote server using StreamableHTTPClientTransport
Local STDIO server running
Proxy established successfully between local STDIO and remote StreamableHTTPClientTransport

Tool-Operationen überprüfen

Nach der Authentifizierung führen Sie die folgenden Prüfungen aus, um zu bestätigen, dass die Tools wie erwartet funktionieren:
  1. Verfügbare Tools auflisten: Bestätigen Sie, dass tools/list erfolgreich ist und die Kameleoon-Tools zurückgibt. Stellen Sie sicher, dass die Ausgabe die in der Tool-Tabelle aufgeführten Tools enthält, z. B. experiment_code_get, feature_flag_list und feature_flag_create.
  2. Feature Flags abrufen: Führen Sie feature_flag_list(siteCode = "d1alzzxd7k") aus. Eine erfolgreiche Antwort gibt eine Liste der Feature Flags für die angegebene Website zurück.
  3. Experimentergebnisse abrufen: Führen Sie experiment_results_get(experimentId = 149640) aus. Eine erfolgreiche Antwort enthält den Experimentnamen, den Sitecode, den Typ und den Status.

Cursor-Integration

Cursor integriert MCP-Tools direkt in die IDE-Chat-Seitenleiste, wodurch sie während des Codierens verfügbar sind.

Option 1: Über die Cursor-UI konfigurieren (Empfohlen)

  1. Öffnen Sie die Cursor-Einstellungen (Cmd + Shift + J unter macOS, Ctrl + Shift + J unter Windows/Linux).
  2. Navigieren Sie zu Features > MCP Servers > + Add New MCP Server.
  3. Setzen Sie den Name auf kameleoon.
  4. Setzen Sie den Type auf command.
  5. Geben Sie die folgende Zeichenfolge als Command ein:
    npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ "scope": "openid" }'
    
  6. Speichern Sie die Konfiguration.

Option 2: Über mcp.json konfigurieren (Fortgeschritten)

Öffnen Sie ~/.cursor/mcp.json (erstellen Sie die Datei, falls sie nicht existiert) und fügen Sie den folgenden Eintrag zum Objekt mcpServers hinzu:
{
  "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\" }'"
      ]
    }
  }
}
Starten Sie Cursor neu, nachdem Sie die Datei manuell bearbeitet haben.

Beispiel-Prompts für Entwickler-Workflows

Nachdem Sie den Kameleoon MCP Server verbunden haben, verwenden Sie Prompts wie die folgenden in Ihrer 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>.”
Für fortgeschrittenere Workflows versuchen Sie die folgenden Prompts:
  • “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.”

Fortgeschrittener Workflow: End-to-End-Automatisierung

Um die volle Leistungsfähigkeit des MCP-Servers zu erleben, verwenden Sie einen umfassenden System-Prompt. Das folgende Beispiel zeigt, wie der Code der gewinnenden Variation in React-Komponenten umgesetzt wird, was hauptsächlich für React-Anwendungen gedacht ist. Es weist den KI-Agenten an, den gesamten Implementierungslebenszyklus zu handhaben, vom Abrufen der gewinnenden Ergebnisse bis zur Generierung von produktionsreifem nativen Code, der hinter einem neuen Feature Flag liegt. Fügen Sie den folgenden Prompt in Ihren KI-Assistenten ein:
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.

Referenz der Tool-Parameter

Verwenden Sie die genauen Tool- und Parameternamen, die von tools/list zurückgegeben werden. Das aktive MCP-Schema unterstützt die folgenden Parameter:
ToolErforderliche ParameterOptionale Parameter
feature_flag_listsiteCodeKeine
feature_flag_getfeatureKey, siteCodeenvironmentKey
feature_flag_enablefeatureKey, siteCodeenvironmentKey
feature_flag_createfeatureKey, siteCodeKeine
experiment_results_getexperimentIdKeine
experiment_code_getexperimentId, variationIdKeine
Für umgebungsspezifische Abfragen übergeben Sie environmentKey = "production" oder environmentKey = "staging", wo dies unterstützt wird.

Tipps für Prompts

  • Geben Sie den Sitecode an, wenn Sie mit Feature Flags arbeiten.
  • Geben Sie die Experiment-ID an, wenn Sie Experimente oder Experimentergebnisse abfragen.
  • Geben Sie sowohl experimentId als auch variationId an, wenn Sie Variationscode anfordern.
  • Benennen Sie die Zielumgebung explizit, wenn Sie den Agenten bitten, ein Feature Flag zu aktivieren oder zu deaktivieren.
  • Fordern Sie eine Zusammenfassung in einfacher Sprache an, wenn Ihr KI-Agent die MCP-Antwort interpretieren soll, anstatt nur die Rohdaten abzurufen.

Allgemeine Fehlerbehebung

Port 35535 ist bereits belegt

Falls die Authentifizierung mit einem EADDRINUSE-Fehler fehlschlägt, lauscht bereits ein anderer Prozess auf dem OAuth-Callback-Port.
  • Ursache: Ein veralteter mcp-remote-Prozess bleibt von einem früheren Authentifizierungsversuch aktiv.
  • Lösung: Beenden Sie den veralteten Prozess, der Port 35535 verwendet, und führen Sie den OAuth-Befehl erneut aus.

Der MCP-Server erscheint nicht im Codex-Chat

Codex lädt neu hinzugefügte MCP-Server möglicherweise nicht im laufenden Thread neu.
  • Lösung: Aktualisieren Sie Codex oder starten Sie eine neue Sitzung, nachdem Sie config.toml aktualisiert haben.

Der Browser-Flow wird nicht abgeschlossen

Falls das OAuth-Browserfenster geöffnet wird, die Autorisierung jedoch nicht abgeschlossen wird:
  • Bestätigen Sie, dass Sie auf der Kameleoon-Anmeldeseite auf die Schaltfläche Authorize geklickt haben.
  • Überprüfen Sie, ob Ihre Browser- oder Systemeinstellungen localhost-Callbacks nicht blockieren.
  • Öffnen Sie die Callback-URL manuell, falls Ihr Browser sie nicht automatisch startet.

Headless- oder Remote-Agenten können sich nicht authentifizieren

Remote- oder Headless-Agenten (z. B. cloudgehostetes Codex) können den browserbasierten Autorisierungsschritt nicht abschliessen.
  • Lösung: Verwenden Sie stattdessen eine Desktop-Version Ihres Tools.

Befehl npx nicht gefunden

Falls der Befehl mit einem “not found”-Fehler fehlschlägt, stellen Sie sicher, dass npx in Ihrem System-PATH verfügbar ist. Node.js-Versionen 5.2 und neuer enthalten standardmässig npx.