Claude Media
Statsig MCPサーバーでフラグと実験をClaude Codeから操作する

Statsig MCPサーバーでフラグと実験をClaude Codeから操作する

Statsig公式MCPサーバーのV3(18個の既定ツール+発見ツール)をOAuthまたはConsole APIキーでClaude Codeに接続し、confirmationの扱いとV1からの移行を設定ファイルの中身つきで解説します。

Statsigは、フィーチャーフラグ管理とA/Bテストの実験基盤を1つのコンソールにまとめたプラットフォームです。公式のMCPサーバーはhttps://api.statsig.com/v3/mcpのHTTPエンドポイント1つで、OAuthまたはConsole APIキーで認証します。

現行のV3は、V1で93個あったツールを18個の既定ツールと発見ツールにまとめ直した構成です。

Claude Codeへの接続

Claude CodeでのStatsig MCPサーバー接続は、OAuthを使うHTTPトランスポートが標準の経路です。

claude mcp add --transport http statsig https://api.statsig.com/v3/mcp

このコマンドは接続先を登録するだけで、認証はまだ済んでいません。

手順

OAuthの認証手順

  1. 1

    Claude Code内で /mcp を実行する

    登録直後に/mcpを実行し、表示される手順に従います。Claude Codeがブラウザを開きます。

  2. 2

    Statsigにサインインする

    Statsigアカウントでサインインします。

  3. 3

    MCPサーバーのアクセスを許可する

    Statsigのプロジェクトへのアクセスを許可します。

  4. 4

    認証が保存される

    Claude Codeが認証を保存するので、次回以降のセッションでも再認証は要りません。

MCP OAuthが対応するのはPersonal Console API Keyだけです。組織のオーナーが自分のロールにPersonal Console API Keyの作成を許可していないと、OAuthは使えません。Statsigのorganization settingsで事前に確かめておきます。

OAuthを使わず、Console APIキーで直接認証する方法もあります。

claude mcp add --transport http statsig-local https://api.statsig.com/v3/mcp \
  --header "statsig-api-key: console-YOUR-CONSOLE-API-KEY"

サーバー名のstatsig-localは公式ドキュメントの命名で、OAuth接続のstatsigと区別するためのものです。Console APIキーはconsole.statsig.com/api_keysで発行します。読み取り専用キーは閲覧だけ、書き込み権限のあるキーは変更まで実行できます。

登録後の設定ファイルの中身

--scope projectを付けて2本とも登録すると、作業ディレクトリに次の.mcp.jsonが書かれます。--scopeの既定はlocalです。

{
  "mcpServers": {
    "statsig": {
      "type": "http",
      "url": "https://api.statsig.com/v3/mcp"
    },
    "statsig-local": {
      "type": "http",
      "url": "https://api.statsig.com/v3/mcp",
      "headers": {
        "statsig-api-key": "console-DUMMY"
      }
    }
  }
}

注意したいのは、--headerに渡したキーが.mcp.jsonに平文で入る点です。コマンドの出力ではHeadersの値が[REDACTED]と伏せて表示されますが、ファイル側は伏せられません。projectスコープで登録したままコミットすると、書き込み権限のあるキーがリポジトリに入ります。APIキー接続は既定のlocalスコープで登録するか、.mcp.jsonをコミット対象から外します。

接続を確認する

Claude Codeを開き、「どのStatsigプロジェクトに接続していて、どんな権限があるか」と聞きます。V3のget_contextツールが、プロジェクト・権限・レビュー設定を返す窓口です。続けて「実験の一覧を見せて」「フィーチャーフラグの一覧を見せて」と聞き、Statsigのデータが返れば接続できています。

応答が返らないときは、Claude Codeを最新にして、APIキーの権限を見直します。URLがhttps://api.statsig.com/v3/mcpと一致しているかも見て、登録コマンドをやり直します。

V1から移すときに変わること

V1(https://api.statsig.com/v1/mcp)の接続は引き続きサポートされています。Statsigが推奨するのはV3です。

くらべる

V1とV3でツールの呼び方はどう変わるか

個別ツール93個

V1

Get_List_of_ExperimentsやGet_Gate_Details_by_IDのように、操作ごとにツールが1つあります。レビューの承認・却下・コミットやレイヤー、セグメントのツールも個別に並びます。

既定ツール18個+発見

V3

experiment_readなどの読み取りツールにactionを渡します。レビューやレイヤーなど残りの操作はdiscover_toolsで探し、返ってきた実行ツールで呼びます。

移行時に引っかかる点は4つあります。

  • 読み取りツールの引数はV1の引数オブジェクトをarguments.paramsの下に入れる
  • Parameter Storeの取得・更新・削除はparams.path_nameでなくparams.path_idを使う
  • V3はstructuredContentをテキストと並べて返すので、応答を解析する自動化は見直す
  • 両方のバージョンを接続したまま試すなら、試さない側を無効にしないとツールが重複する

V3で使えるツール

既定の18ツールは、役割で5つに分かれます。

種類ツール内容
文脈と検索ツールget_context / search / fetch内容プロジェクト・権限・レビュー設定の取得、リソースの検索と取得
読み取りツールgate_read / experiment_read / dynamic_config_read / metric_read / log_read内容actionを指定して一覧・詳細・結果・監査ログ・Logs Explorerを読む
作成ツールgate_create / experiment_create / dynamic_config_create内容新規リソースの作成(書き込み権限が必要)
更新ツールgate_update / experiment_update / dynamic_config_update内容既存リソースの置き換え(書き込み権限とconfirmationが必要)
発見ツールdiscover_tools / api_read / api_write / api_destructive内容上記にない操作を探して実行する

拡張ツールの表示に対応するクライアントでは、さらに9個のツールが加わります。レイヤー・セグメント・Parameter Store・Autotuneを型付きで扱うツールです。既定のままなら、これらは発見ツール経由で呼びます。

実験の一覧や詳細を読むexperiment_readにはquery_fieldsがあり、返すフィールドを絞ってコンテキストの消費を減らせます。実験を何度も参照する運用では、先にここを指定します。

ツールごとのリクエストの形

呼び出しの形はツールの種類で違います。読み取りツールはactionとarguments.paramsを渡し、必須の項目がなくてもparamsは含めます。作成ツールは本文をparams["application/json"]に入れます。更新ツールはarguments.paramsとconfirmationの組です。

アクションごとに必須の引数も決まっています。get_gate_resultsはpath_idとpath_ruleID、get_experiment_overall_resultsはpath_idとquery_control・query_testが要ります。ツールの表示は権限とサーバー設定で変わるため、入れ子の項目と取りうる値は、実際に返るツールスキーマで確かめます。

書き込みはconfirmationと権限で守られる

読み取りツールは、読み取り専用のユーザーでも全て使えます。書き込みのツールにはAPIキーの書き込み権限が要り、プロジェクトの権限とレビューポリシーも引き続き効きます。

更新ツールとapi_destructive、拡張ツールのautotune_createは、confirmationを付けないと実行できません。形は次のとおりです。

{ "acknowledged": true, "reason": "Describe the intended change" }

公式は、confirmationを埋める前に変更内容を確かめるよう求めています。Claude Codeに任せきりにせず、reasonに書かれた内容と実際の変更が合っているかを人が見る場面です。

更新ツールの多くはリソースを丸ごと置き換えます。タグを1つ足すような部分更新は、先に現在の状態を読み、変えない項目を保ったまま送るか、discover_toolsで部分更新の操作を探します。

api_destructiveは削除だけの道具ではありません。機密性の高い更新や、レビューの承認・却下・コミットも通ります。プロジェクトの権限とレビューポリシーはその先でも効くので、レビューを承認しても、それだけで変更はコミットされません。

発見ツールで残りの操作を呼ぶ

レビューの作成、レイヤー、セグメント、Parameter Store、Autotune、holdout、タグ、ダッシュボードなどは、発見ツールを経由して呼びます。

手順

発見した操作を実行する流れ

  1. 1

    discover_tools で操作を探す

    タスクが分かっているならresolveで探します。getならoperationIdを指定して契約を取り出します。

  2. 2

    返ってきたレーンと入力スキーマを読む

    実行ツール(api_read / api_write / api_destructive)とconfirmationの要否が決まります。

  3. 3

    operationHandle を付けて実行ツールを呼ぶ

    引数はpath・query・bodyで渡します。直接ツールのparamsは使いません。

operationHandleには有効期限があるので、固定で埋め込まず、必要なときに取り直します。resolveでlaneを指定すると、更新やレビュー操作がapi_destructiveにあることを見落とすので、迷うときは絞り込みを外します。

使い方の例: 陳腐化したフラグのクリーンアップ

公式ドキュメントは代表的な使い方として、陳腐化した(stale)ゲートのコードベースからの除去を挙げています。流れは、type="STALE"・limit=10でゲートを一覧し、フラグ名をgrepで探して、呼び出しを固定値の挙動に書き換えるものです。

V3のプロンプト例では、一覧にgate_readのget_list_of_gatesアクションを使い、パラメータはquery_typeとquery_limitです。条件には、一度に1つのゲートだけを対象にする、単純なtrue/false置換でなく呼び出し元のロジックを追跡する、コメントやデバッグ文を残さない、があります。

Statsigの側にも、ゲートのコード整理を始める操作(feature_gates.start_cleanup.start_gate_code_cleanup)があります。ただしapi_destructiveの枠で、confirmationが要ります。

削除の前には、ゲートの参照元の洗い出しが要ります。公式の自動化例はLLMを使いません。PythonかJavaScriptのMCPクライアントからdiscover_toolsでfeature_gates.list.list_gate_referencesを取り、読み取り専用のapi_readで呼ぶ形です。実行にはコンソールAPIキーをSTATSIG_API_KEY、ゲートIDをSTATSIG_GATE_IDとして渡します。

応答の扱いにも決まりがあります。isErrorを先に見てからstructuredContentを読み、ページ送りは選んだ操作の仕様に従います。結果が空でも、そのゲートを消してよい根拠にはなりません。

LaunchDarklyのMCPサーバーとの違い

フラグ系のMCPサーバーはStatsigだけではありません。LaunchDarklyも公式のホスト型MCPサーバーを出しており、成り立ちが違います。

観点Statsig MCPLaunchDarkly MCP
守備範囲Statsig MCPフラグ・実験・設定・メトリクス・ログ。残りは発見ツールLaunchDarkly MCPフラグ・AgentControl設定・オブザーバビリティ(ログ/トレース/エラー)
ツールの出し方Statsig MCP既定18個+発見ツールLaunchDarkly MCP製品領域ごとのツール群
定型ワークフローStatsig MCP例示プロンプトとコード整理の操作LaunchDarkly MCPAgent Skillsを配布(npx skills add launchdarkly/agent-skills)
提供範囲Statsig MCPV3の接続先はapi.statsig.comの1つLaunchDarkly MCP連邦・EU環境ではホスト型を使えない(ローカル版を案内)

LaunchDarklyはフラグ削除の安全性をsafe/caution/not-readyで返す専用のツールと、手順を書いたAgent Skillsを組み合わせます。同じ手順を使い回したいならこの形が近く、一方でStatsigはツールの種類を絞り、必要な操作だけを発見ツールで引く設計です。

まとめ

常用する接続はOAuthとAPIキーのどちらにするかが最初の判断です。APIキー接続を選ぶなら、キーが平文で残るprojectスコープに置くかどうかが運用の分かれ目になります。

Claude CodeでのMCP登録の基本や認証方式の全体像はClaude Code MCP設定ガイドにあります。OAuthスコープの考え方はMCPセキュリティガイドです。同じくホスト型1系統にOAuthで繋ぐ構成はTurso MCPサーバーでOAuth接続のエッジSQLiteを管理するが例になります。

この記事を共有:XはてブLinkedIn