メインコンテンツへスキップ
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. 本番環境で機能を有効化して検証する。

利用可能なツール

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

実験

A/B テスト (Web Experiments) を構築、確認、実行します。
ツール説明プロンプト例
experiment_list実験を名前または ID で検索します。ページネーションされたサマリー (id、name、status、tags) を返します。“List active experiments on site d1alzzxd7k.”
experiment_get実験の完全な構成 (バリエーション、トラフィック分割、ゴール、ターゲティング) を取得します。“Show the configuration for experiment 149640.”
experiment_code_getバリエーションの生の JavaScript、CSS、カスタム JSON に加えて、実験の共通 JS と CSS を取得します。“Pull the code for variation 1 of experiment 149640.”
experiment_results_get統計結果を取得します: バリエーションごとのコンバージョン率、有意性、信頼区間、勝者。“Summarize results for experiment 149640.”
experiment_createドラフト実験を作成します (タイプ、ベース URL、ゴール、任意の共通コード)。“Create a CLASSIC experiment Homepage hero on site d1alzzxd7k.”
experiment_duplicate実験を新しいドラフトに複製し、バリエーション、コード、配分、ターゲティングをコピーします。“Duplicate experiment 149640.”
experiment_lifecycle_updateライフサイクルを操作します: 開始、一時停止、再開、停止、削除 (停止と削除には確認が必要)。“Start experiment 149640.”

フィーチャーフラグ

フィーチャーフラグの作成と運用、環境ごとの切り替え、履歴と結果の読み取りを行います。
ツール説明プロンプト例
feature_flag_listフィーチャーフラグをキー、名前、または ID で検索します。“List all feature flags for site d1alzzxd7k.”
feature_flag_get環境におけるフラグの完全な構成 (バリエーション、変数、主要ゴール、ルールチェーン) を取得します。“Show configuration for flag snake_game.”
feature_flag_createデフォルトの onoff のバリエーションを持つフラグを作成します。“Create a flag ui_refresh for site d1alzzxd7k.”
feature_flag_duplicate既存のフラグを複製します (コピーはすべての環境で無効状態で始まります)。“Duplicate the new_search flag.”
feature_flag_deleteフラグとそのすべての構成を完全に削除します。“Delete the flag ui_refresh.”
feature_flag_enable環境ごとのマスタースイッチを ON にして、SDK がルールを評価できるようにします。“Enable new_search in production.”
feature_flag_disable環境ごとのマスタースイッチを OFF にします (ルールは保持されます)。“Disable new_search in staging.”
feature_flag_activity_logs_getフラグ変更の監査証跡 (誰が何をいつ変更したか) を読み取ります。“Show the recent change history for our feature flags.”
feature_flag_experiment_results_getフラグの実験ルールの統計結果を取得します。“Get the experiment results for the rule on new_search.”

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

フラグの配信方法を形成し、提供されるバリエーションと型付き変数を定義します。
ツール説明プロンプト例
feature_flag_rule_targeted_createターゲット配信ルールを追加します: 1 つのバリエーションを一定の割合のトラフィックに配信し、任意でスケジュール設定が可能。“Roll new_search out to 20% in production.”
feature_flag_rule_experimentation_create統計的トラッキングでバリエーション間にトラフィックを分割する A/B 実験ルールを追加します。“A/B test off vs on 50/50 on new_search.”
feature_flag_variation_createカスタムバリエーション (機能の名前付きの状態) をフラグに追加します。“Add a variant_a variation to new_search.”
feature_flag_variable_createデフォルト値付きの型付き変数 (BOOLEAN、NUMBER、STRING、JSON、JS、CSS、ENUM) を定義します。“Add a STRING variable label defaulting to Search.”
feature_flag_variation_variable_set特定のバリエーションに対して変数の値をオーバーライドします。“Set label to Find on variant_a.”

ゴール

実験とフラグで使用されるコンバージョンゴールを作成・保守します。
ツール説明プロンプト例
goal_listサイト上のゴールを参照し、実験、フラグ、パーソナライゼーション全体での使用回数を表示します。“List goals for site d1alzzxd7k.”
goal_getゴールのタイプ構成、タグ、使用回数を確認します。“Show goal 271552.”
goal_search名前の部分文字列でゴールを検索します。“Search goals for checkout.”
goal_create任意のタイプ (URL、CLICK、SCROLL、PAGE_VIEWS、TIME_SPENT、CUSTOM など) のゴールを作成します。“Create a URL goal that matches /thank-you.”
goal_updateゴールの名前、説明、タグ、トラッキングツール、または複数回コンバージョン設定を編集します。“Rename goal 271552 to Signup complete.”
goal_update_typeゴールのタイプを切り替え、そのタイプ固有の構成を置き換えます (タグは保持されます)。“Change goal 271552 to a CLICK goal.”
goal_deleteゴールを完全に削除します。“Delete goal 271552.”

セグメント

ターゲットとするオーディエンスを定義し、確認します。
ツール説明プロンプト例
segment_listサイト上のセグメントを参照し、使用回数を表示します。“List segments for site d1alzzxd7k.”
segment_getセグメントの条件ツリー (生の JSON と人間が読めるサマリー) を確認します。“Show segment 200604.”
segment_create条件ツリー (地理位置、デバイス、ブラウザ、カスタムデータなど) からオーディエンスセグメントを作成します。“Create a segment for desktop visitors in France.”
segment_deleteセグメントを削除します。セグメントが使用中の場合はデフォルトでブロックされます (force でオーバーライド可能)。“Delete segment 200604.”

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

プロジェクトを検索し、セグメントを実験に紐付けます。
ツール説明プロンプト例
site_listアクセス可能なサイト (プロジェクト) を、各サイトのコード、名前、トラッキングステータスとともに一覧表示します。“List my Kameleoon sites.”
targeting_rule_listサイト上のターゲティングルールを一覧表示します。“List targeting rules for site d1alzzxd7k.”
targeting_rule_get単一のターゲティングルール (セグメント、構成、トリガー、所属する実験) を確認します。“Show targeting rule 118605.”
targeting_rule_createセグメントを実験に紐付けて、参加者を制御します。“Target experiment 149640 to segment 200604.”

Claude Code 連携

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

サーバーをユーザープロファイル用に登録 (すべてのプロジェクトで利用可能) するには、ターミナルを開いて次のコマンドを実行します。
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" }'
サーバーを現在のプロジェクトに対してのみ登録 (チーム共有用に .mcp.json ファイルがリポジトリに追加されます) する場合は、次を実行します。
claude mcp add kameleoon -- npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ "scope": "openid" }'
Claude がサーバーを追加したことを確認します。
claude mcp list
期待される出力: kameleoon: ... - ✗ Failed to connect (まだ認証を完了していないため、これは正常です)。

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

同じターミナルで、ログインフローをトリガーします。
npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ "scope": "openid" }'
  1. コマンドは自動的にブラウザタブを開きます。開かない場合は、ターミナルに表示された URL をコピーして手動で開きます。
  2. Kameleoon アカウントにサインインします。
  3. Authorize をクリックします。
  4. ブラウザに成功メッセージが表示されたら、ターミナルで Ctrl+C を押します。
接続を確認します。
claude mcp list
期待される出力: 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 のトラブルシューティング

症状原因対処方法
ブラウザが開かない。自動起動に失敗した。ターミナルから URL をコピーして手動で開きます。
ポート 35535 で接続拒否。ポートが使用中。`netstat -anofindstr :35535` を実行し、プロセスを終了して再試行します。
OAuth 後に接続に失敗。トークンが保持されていない。ステップ 2 のコマンドを再実行してトークンを更新します。
Claude でツールが表示されない。サーバー追加前にセッションが開始された。新しい Claude Code 会話を開始します。
settings.jsonmcpServers キーが拒否される。間違ったファイル。Claude Code はそのキーを使用しません。代わりに claude mcp add コマンドを使用します。
長時間経過後の認証エラー。OAuth トークンが期限切れ。ステップ 2 のコマンドを再実行します。

Antigravity 連携

クイックセットアップ

次のセルフスタータープロンプトを Antigravity チャットに直接貼り付けると、自動的に接続できます。
“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.”

手動構成

~/.gemini/antigravity/mcp_config.json の構成ファイルを編集し、次の JSON ブロックを追加します。
"kameleoon": {
  "command": "npx",
  "args": [
    "-y",
    "mcp-remote@0.1.37",
    "https://mcp.kameleoon.com/mcp",
    "35535",
    "--static-oauth-client-metadata",
    "{ \"scope\": \"openid\" }"
  ]
}

Codex 連携

クイックセットアップ

次のセルフスタータープロンプトを 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.”

手動構成

次のブロックを ~/.codex/config.toml に追加します。ファイルが存在しない場合は作成してください。
[mcp_servers.kameleoon]
command = "npx"
args = ["-y", "mcp-remote@0.1.37", "https://mcp.kameleoon.com/mcp",
        "35535", "--static-oauth-client-metadata",
        "{ \"scope\": \"openid\" }"]

接続の認証

Kameleoon MCP サーバーは OAuth を使用します。ターミナルで次のコマンドを実行して、認可フローを開始します。
npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 \
  --static-oauth-client-metadata '{ "scope": "openid" }'
期待される動作:
  1. ブラウザが自動的にウィンドウを開きます。
  2. Kameleoon ログインページで Authorize をクリックします。
  3. Kameleoon がポート 35535 でローカルコールバックを完了します。
  4. ターミナルでプロキシが正常に接続されたことが確認されます。
接続が成功すると、次のようなテキストが出力されます。
Connected to remote server using StreamableHTTPClientTransport
Local STDIO server running
Proxy established successfully between local STDIO and remote StreamableHTTPClientTransport

ツール操作の確認

認証後、次のチェックを実行してツールが期待通りに動作することを確認します。
  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 として入力します。
    npx -y mcp-remote@0.1.37 https://mcp.kameleoon.com/mcp 35535 --static-oauth-client-metadata '{ "scope": "openid" }'
    
  6. 構成を保存します。

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

~/.cursor/mcp.json を開き (ファイルが存在しない場合は作成)、次のエントリを 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\" }'"
      ]
    }
  }
}
ファイルを手動で編集した後は、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 アシスタントに貼り付けます。
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. Use the Kameleoon MCP feature-flag tools to create and gate the flag.
  • Avoid DOM manipulation (no querySelector, MutationObserver, etc.).
  • Do not add new dependencies unless necessary.
  • Do not modify the source experiment’s lifecycle (do not stop or delete it) unless explicitly asked.
  • Be explicit if something is unclear.
Workflow steps
  1. Get experiment results (experiment_results_get).
  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 (experiment_code_get).
  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” (feature_flag_create). If the implementation needs more than a simple on/off, add variations and typed variables (feature_flag_variation_create, feature_flag_variable_create, feature_flag_variation_variable_set), then gate the converted code behind the flag.
  6. Roll out and validate: add a delivery rule (feature_flag_rule_targeted_create for a staged percentage rollout, or feature_flag_rule_experimentation_create to keep measuring), enable the flag in the target environment (feature_flag_enable), and confirm the final configuration with feature_flag_get.

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

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

実験

ツール必須パラメータオプションパラメータ
experiment_listなしsiteCodefilterQuerypageperPagesortFieldsortOrder
experiment_getexperimentIdなし
experiment_code_getexperimentIdvariationIdなし
experiment_results_getexperimentIdなし
experiment_createpayload (siteCodenametypebaseURL)payload: mainGoalIdgoalstagsdescriptioncommonJavaScriptCodecommonCssCodetrafficAllocationMethodcollectingDataEnabledmultipleTestingCorrectionexecuteCodeForReference
experiment_duplicateexperimentIdなし
experiment_lifecycle_updateexperimentIdstatusconfirm (stopped および deleted で必須)、reason

フィーチャーフラグ

ツール必須パラメータオプションパラメータ
feature_flag_listなしsiteCodefilterQuerypageperPagesortFieldsortOrder
feature_flag_getfeatureKeysiteCodeenvironmentKey (すべての環境を対象とする場合は *)
feature_flag_createsiteCodefeatureKeynamedescription
feature_flag_duplicatefeatureKeysiteCodeなし
feature_flag_deletefeatureKeysiteCodeなし
feature_flag_enablefeatureKeysiteCodeenvironmentKeyなし
feature_flag_disablefeatureKeysiteCodeenvironmentKeyなし
feature_flag_activity_logs_getなしtypesortKey (timestamp)、sortOrderpageperPage
feature_flag_experiment_results_getfeatureKeysiteCodeenvironmentKeyexperimentIdなし

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

ツール必須パラメータオプションパラメータ
feature_flag_rule_targeted_createsiteCodefeatureKeyenvironmentKeyvariationKeyexpositionreleaseDateTimetimeZoneruleName
feature_flag_rule_experimentation_createsiteCodefeatureKeyenvironmentKeycontrolVariationKeytrafficAllocationsexpositionreleaseDateTimetimeZoneruleName
feature_flag_variation_createsiteCodefeatureKeyvariationKeyvariationNameなし
feature_flag_variable_createsiteCodefeatureKeyvariableKeyvariableTypedefaultValueなし
feature_flag_variation_variable_setsiteCodefeatureKeyvariationKeyvariableKeyvalueなし

ゴール

ツール必須パラメータオプションパラメータ
goal_listなしsiteCodepageperPage
goal_getgoalIdなし
goal_searchquerysiteCodepageperPage
goal_createpayload (namesiteCodetypehasMultipleConversions)payload: タイプ固有のパラメータ (matchStringmatchTypescrollTypescrollValuetimeSecondspageViewsurljsCode)、tagsdescriptionstatustrackingTools
goal_updategoalIdnamedescriptiontagstrackingToolshasMultipleConversions
goal_update_typegoalIdtypeタイプ固有のパラメータ
goal_deletegoalIdなし

セグメント

ツール必須パラメータオプションパラメータ
segment_listなしsiteCodequerypageperPage
segment_getsegmentIdなし
segment_createnamesiteCodeconditionDataTreedescription
segment_deletesegmentIdforce

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

ツール必須パラメータオプションパラメータ
site_listなしなし
targeting_rule_listなしsiteCodepageperPage
targeting_rule_gettargetingRuleIdなし
targeting_rule_createsegmentConfigurationsiteCodeexperimentIdsegmentIdtriggerConfigurationtriggerIdtargetingConfigurationParam
受け入れられる列挙値: 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 バージョン 5.2 以降には、デフォルトで npx が含まれています。