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
Claude Code内で /mcp を実行する
登録直後に
/mcpを実行し、表示される手順に従います。Claude Codeがブラウザを開きます。 - 2
Statsigにサインインする
Statsigアカウントでサインインします。
- 3
MCPサーバーのアクセスを許可する
Statsigのプロジェクトへのアクセスを許可します。
- 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でツールの呼び方はどう変わるか
V1
Get_List_of_ExperimentsやGet_Gate_Details_by_IDのように、操作ごとにツールが1つあります。レビューの承認・却下・コミットやレイヤー、セグメントのツールも個別に並びます。
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
discover_tools で操作を探す
タスクが分かっているなら
resolveで探します。getならoperationIdを指定して契約を取り出します。 - 2
返ってきたレーンと入力スキーマを読む
実行ツール(
api_read/api_write/api_destructive)とconfirmationの要否が決まります。 - 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 MCP | LaunchDarkly 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を管理するが例になります。