Skip to main content
Kameleoon Model Context Protocol (MCP) サーバーは、AI コーディングアシスタントを Kameleoon プロジェクトに直接接続し、実験とフィーチャーフラグのためのエージェント型ワークフローを可能にします。AI アシスタントは、構成の読み取りやバリエーションコードの取得にとどまらず、実験、フィーチャーフラグ、ゴール、セグメント、ターゲティングルールの構築と管理、そしてロールアウトのライフサイクル全体の実行を、すべて開発環境から行うことができます。サーバーを登録・認証して、勝ったバリエーションからゲートされた本番ロールアウトまで、実装ライフサイクルを自動化しましょう。

機能

サーバーを接続すると、AI エージェントは Kameleoon と連携して次のタスクを実行できます。
  • 実験、フィーチャーフラグ、ゴール、セグメント、ターゲティングルールを検索および確認する。
  • 実験をエンドツーエンドで構築する: 作成、複製、ライフサイクル全体 (開始、一時停止、再開、停止、削除) の実行。
  • フィーチャーフラグを管理する: 作成、複製、削除、環境ごとの切り替え、変更履歴の確認。
  • フラグの配信を構成する: ターゲット配信ルールや実験ルール、カスタムバリエーション、型付き変数の追加。
  • ゴールとオーディエンスセグメントを作成・保守し、セグメントを実験に紐付ける。
  • 実験およびフィーチャーフラグ実験の結果を分析し、バリエーションの生コード (JavaScript および CSS) を取得する。
  • 勝ったバリエーションからゲートされた本番ロールアウトまで、実装ライフサイクル全体を自動化する。

主要ワークフロー: 勝った実験から本番環境へ

Kameleoon MCP サーバーは、実装の「ラストマイル」を自動化します。IDE を離れることなく、AI アシスタントに次のワークフローを実行するよう指示できます。
  1. 実験結果を取得し、勝ったバリエーションを特定する。
  2. Kameleoon からそのバリエーションの生コードを抽出する。
  3. コードを既存のコードベースに整合したネイティブで本番対応のコード (React コンポーネントなど) に変換する。
  4. Kameleoon でフィーチャーフラグを作成する。
  5. 新しい実装をフィーチャーフラグの背後にラップする。
  6. 本番環境で機能を有効化して検証する。

トークン使用量とプランの検討事項

Kameleoon MCP サーバーを AI アシスタントに接続すると、利用可能なアクションを記述するツールスキーマ分の、わずかで一定のオーバーヘッドが発生します。このオーバーヘッドは、アシスタントがどのプランで動作していても一定に保たれます。 ワークフローのトークンコストは、接続そのものではなく、実行する作業そのものから生じます。使用量を左右する要因は次のとおりです。
  • ワークフローが取得するデータの量。完全な実験構成、バリエーションコード、変更履歴など。
  • アシスタントが生成または変換するコードの量。勝ったバリエーションをネイティブのアプリケーションコードに変換する場合など。
  • 単一のワークフローが対象とするサイトまたはブランドの数。3つのサイトにまたがる実験の複製と監査は、1つのサイトで同じ操作を実行する場合に比べて、トークンを比例して多く消費する。
  • 単一のプロンプトの対象範囲の広さ。1つのサイトに限定した簡単な確認は、すべてのサイトのすべての実験を確認するような際限のない依頼に比べて、消費量がはるかに少ない。
チームで特定の AI アシスタントプランを決定する前に、想定するワークフローの範囲を見積もりましょう。対象となるサイトやブランドの数、実行頻度、大量のデータ取得やコード生成を伴うかどうかを確認します。繰り返し実行する複数サイト向けのワークフローには、単発かつ単一サイトのプロンプトを想定したプランよりも、大きな利用枠またはコンテキストウィンドウを持つプランが必要です。具体的な利用上限とコンテキストウィンドウのサイズについては、AI アシスタント提供元のプランに関するドキュメントを確認してください。

利用可能なツール

サーバーは以下のツールを領域別にグループ化して公開しています。各ツールは単一かつ明確に範囲が定められたアクションに対応しているため、より大きなワークフローに組み合わせることができます (例: 結果を読み取り、コードを取得し、フラグを作成し、ルールを追加し、有効化する)。

実験

A/B テスト (Web Experiments) を構築、確認、実行します。

フィーチャーフラグ

フィーチャーフラグの作成と運用、環境ごとの切り替え、履歴と結果の読み取りを行います。

フラグの配信、バリエーション、および変数

フラグの配信方法を形成し、提供されるバリエーションと型付き変数を定義します。

ゴール

実験とフラグで使用されるコンバージョンゴールを作成・保守します。

セグメント

ターゲットとするオーディエンスを定義し、確認します。

サイトとターゲティングルール

プロジェクトを検索し、セグメントを実験に紐付けます。

Claude Code 連携

ステップ 1: サーバーの登録

サーバーをユーザープロファイル用に登録 (すべてのプロジェクトで利用可能) するには、ターミナルを開いて次のコマンドを実行します。
サーバーを現在のプロジェクトに対してのみ登録 (チーム共有用に .mcp.json ファイルがリポジトリに追加されます) する場合は、次を実行します。
Claude がサーバーを追加したことを確認します。
期待される出力: kameleoon: ... - ✗ Failed to connect (まだ認証を完了していないため、ここでの接続失敗は正常です)。

ステップ 2: OAuth 認証の完了

同じターミナルで、ログインフローをトリガーします。
  1. コマンドは自動的にブラウザタブを開きます。開かない場合は、ターミナルに表示された URL をコピーして手動で開きます。
  2. Kameleoon アカウントにサインインします。
  3. Authorize をクリックします。
  4. ブラウザに成功メッセージが表示されたら、ターミナルで Ctrl+C を押します。
接続を確認します。
期待される出力: kameleoon: ... - ✓ Connected

ステップ 3: 新しい Claude Code セッションを開始する

Claude Code は、サーバー登録後に開始したセッションでのみ、新しく追加された MCP サーバーのツールを利用可能にします。現在の Claude Code チャットを閉じて、新しいチャットを開きます。

ステップ 4: 接続の確認

新しい Claude Code 会話で、次のプロンプトを試します。
  • “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 のトラブルシューティング

Antigravity 連携

クイックセットアップ

次のセルフスタータープロンプトを Antigravity チャットに直接貼り付けると、自動的に接続できます。

手動構成

~/.gemini/antigravity/mcp_config.json の構成ファイルを編集し、次の JSON ブロックを追加します。

Codex 連携

クイックセットアップ

次のセルフスタータープロンプトを Codex チャットに貼り付けます。

手動構成

次のブロックを ~/.codex/config.toml に追加します。ファイルが存在しない場合は作成してください。

接続の認証

Kameleoon MCP サーバーは OAuth を使用します。ターミナルで次のコマンドを実行して、認可フローを開始します。
期待される動作:
  1. ブラウザが自動的にウィンドウを開きます。
  2. Kameleoon ログインページで Authorize をクリックします。
  3. Kameleoon がポート 35535 でローカルコールバックを完了します。
  4. ターミナルでプロキシが正常に接続されたことが確認されます。
接続が成功すると、次のようなテキストが出力されます。

ツール操作の確認

認証後、次のチェックを実行してツールが期待通りに動作することを確認します。
  1. 利用可能なツールを一覧表示する: tools/list が成功し、Kameleoon ツールを返すことを確認します。出力にツール表に記載されたツール (experiment_code_getfeature_flag_listfeature_flag_create など) が含まれていることを確認します。
  2. フィーチャーフラグの取得: feature_flag_list(siteCode = "d1alzzxd7k") を実行します。応答が成功すると、指定したサイトのフィーチャーフラグのリストが返されます。
  3. 実験結果の取得: experiment_results_get(experimentId = 149640) を実行します。応答が成功すると、実験名、サイトコード、タイプ、ステータスが含まれます。

Cursor 連携

Cursor は、MCP ツールを IDE のチャットサイドバーに直接統合するため、コーディング中に利用できます。

オプション 1: Cursor UI で構成 (推奨)

  1. Cursor の設定を開きます (macOS では Cmd+Shift+J、Windows/Linux では Ctrl+Shift+J)。
  2. Features > MCP Servers > + Add New MCP Server に移動します。
  3. Namekameleoon に設定します。
  4. Typecommand に設定します。
  5. 次の文字列を Command として入力します。
  6. 構成を保存します。

オプション 2: mcp.json で構成 (上級)

~/.cursor/mcp.json を開き (ファイルが存在しない場合は作成)、次のエントリを mcpServers オブジェクトに追加します。
ファイルを手動で編集した後は、Cursor を再起動してください。

開発者ワークフロー向けのサンプルプロンプト

Kameleoon MCP サーバーを接続したら、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>.”
より高度なワークフローには、次のプロンプトを試してください。
  • “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.”

高度なワークフロー: エンドツーエンドの自動化

MCP サーバーの完全な機能を体験するために、包括的なシステムプロンプトを使用します。次の例は、勝ったバリエーションコードを React コンポーネントに変換する方法を示しており、主に React アプリケーション向けです。AI エージェントに、勝った結果の取得から、新しいフィーチャーフラグの背後にゲートされた本番対応のネイティブコードの生成、そしてロールアウトと検証まで、実装ライフサイクル全体を MCP ツールで処理するよう指示します。 次のプロンプトを AI アシスタントに貼り付けます。

ツールパラメータリファレンス

tools/list が返す正確なツール名とパラメータ名を使用してください。ライブ MCP スキーマは次のパラメータをサポートします。

実験

experiment_createtype の有効な値として MVTSDK_HYBRID を受け付けますが、どちらもこのツールでは実際には作成できません。MVT は、API が作成時に mvtVariations(セクションとバリエーション)を必須としているにもかかわらず、それを指定できる MCP ツールがないため、常に失敗します。SDK_HYBRID は、送信するペイロードの内容に関わらず、常に「Incorrect Experiments type」エラーで失敗します。AICLASSICDEVELOPERPROMPT はいずれも正常に作成できます。多変量テストの実験を作成するには、多変量テストの実験を作成する の手順に従って、Automation API を直接呼び出してください。

フィーチャーフラグ

フラグの配信、バリエーション、および変数

ゴール

セグメント

サイトとターゲティングルール

受け入れられる列挙値: experiment_lifecycle_update.statusstartedresumedpausedstopped、または deleted です。実験の typeAICLASSICDEVELOPERMVTPROMPT、または SDK_HYBRID です。ゴールの typeCLICKCUSTOMSCROLLPAGE_VIEWSURLTIME_SPENTRETENTION_RATEWAREHOUSE、または RATIO_METRICS です。variableTypeBOOLEANNUMBERSTRINGJSONJSCSS、または ENUM です。trafficAllocations は、合計が 100 になる variationKey:percentage のカンマ区切り文字列です (例: off:50,on:50)。releaseDateTime はオフセットなしの ISO-8601 ローカル日時 (例: 2026-07-01T09:00:00) で、timeZone は IANA ゾーン (例: Europe/Paris または UTC) です。
環境固有のクエリでは、サポートされている場所で environmentKey = "production" または environmentKey = "staging" を渡します。

プロンプトのヒント

  • フィーチャーフラグを操作する際は、サイトコードを含めてください。
  • 実験や実験結果を照会する際は、実験 ID を含めてください。
  • バリエーションコードをリクエストする際は、experimentIdvariationId の両方を含めてください。
  • エージェントにフィーチャーフラグの有効化または無効化を依頼する際は、対象環境を明示的に指定してください。
  • AI エージェントが生データを取得するだけでなく、MCP の応答を解釈することを希望する場合は、平易な英語のサマリーを要求してください。

一般的なトラブルシューティング

ポート 35535 がすでに使用中

認証が EADDRINUSE エラーで失敗する場合、別のプロセスがすでに OAuth コールバックポートをリスニングしています。
  • 原因: 以前の認証試行から残った古い mcp-remote プロセスがまだアクティブです。
  • 対処方法: ポート 35535 を使用している古いプロセスを停止して、OAuth コマンドを再実行します。

MCP サーバーが Codex チャットに表示されない

Codex は、新しく追加された MCP サーバーを既に実行中のスレッドへホットリロードしないことがあります。
  • 対処方法: config.toml を更新した後、Codex を更新するか、新しいセッションを開始します。

ブラウザフローが完了しない

OAuth ブラウザウィンドウは開くが認証が完了しない場合:
  • Kameleoon ログインページで Authorize ボタンをクリックしたことを確認します。
  • ブラウザまたはシステム設定が localhost コールバックをブロックしていないか確認します。
  • ブラウザが自動的に起動しない場合は、コールバック URL を手動で開きます。

ヘッドレスまたはリモートエージェントが認証に失敗する

リモートまたはヘッドレスエージェント (クラウドホスト型 Codex など) は、ブラウザベースの認可ステップを完了できません。
  • 対処方法: 代わりにツールのデスクトップ版を使用してください。

npx コマンドが見つからない

コマンドが「not found」エラーで失敗する場合、npx がシステムパス上で利用可能であることを確認してください。Node.js バージョン 8.2 以降には、デフォルトで npx が含まれています。