Unleash

公式

Unleashのフィーチャーフラグを管理し、ベストプラクティスを自動化するためのMCPサーバー。

Unleash MCPで何ができますか?

  • フラグと関連リソースを検索する — プロジェクト内で特定のタグが付いたフラグを尋ねたり、search を使ってセグメント、コンテキストフィールド、タグ、環境を名前で検索したりできます。
  • フラグまたはプロジェクトを確認する — inspect を使って、プロジェクト、フラグ、コンテキストフィールド、セグメントの全情報を読み取れます。環境内におけるフラグの露出指標も確認できます。
  • フラグの評価を確認する — evaluate を使って、環境内の指定したコンテキストに対してフラグが有効、無効、または不明かを確認できます。
  • フラグを段階的に公開する、またはオフにする — release を使って、対象ユーザーにフラグを有効化し、割合またはテンプレートで振り分けたり、フラグをオフにしたりできます。必要に応じて変更リクエストが作成されます。
  • A/Bテストを実施する — experiment を使って、対象ユーザーに対照値と処置値を割合で割り当てるか、それぞれ1つずつ割り当てるか、テストを停止できます。
  • 最近の変更を確認する — audit を使って、過去31日間に何が、誰によって、いつ変更されたかを確認できます。

ドキュメント

Unleash MCP サーバー

AI エージェントが Unleash UI で操作するのと同じように Unleash を使える MCP サーバーです。フラグの検索、段階的なロールアウト、対象ユーザーの確認、変更内容の確認ができます。現在はアルファ版で、npm には公開されていないため、ソースから実行します。

ツール

ツール説明プロンプトの例
search名前でプロジェクト、フラグ、セグメント、コンテキストフィールド、タグ、タグタイプ、フラグ作成者、リリーステンプレート、イベントタイプ、環境を検索します。"checkout プロジェクトで team:payments タグが付いているフラグはどれですか?"
inspectプロジェクト、フラグ、コンテキストフィールド、セグメントの全情報、または環境内のフラグの露出メトリクスを読み取ります。"new-checkout フラグについてすべて表示してください。"
evaluate環境内のコンテキストに対して、フラグが有効、無効、または不明のいずれかを判定します。"本番環境でユーザー 42 に new-checkout は適用されますか?"
release対象ユーザーへの適用、値による分割、リリーステンプレートを使ってフラグを有効にするか、無効にします。フラグが存在しない場合は作成します。環境で変更リクエストが必要な場合は、それを開きます。"本番環境で new-checkout をユーザーの 10% にロールアウトしてください。"
kill_switch永続的なキルスイッチを、全員または選択した対象ユーザーに対して有効または無効にします。スイッチが存在しない場合は作成します。環境で変更リクエストが必要な場合は、それを開きます。"本番環境で payments を無効にしてください。"
experimentA/B テストを実行します。対象ユーザーに control や treatment などの値を割合で割り当てるか、各値を 1 つずつ割り当てるか、テストを停止します。フラグが存在しない場合は作成します。環境で変更リクエストが必要な場合は、それを開きます。"checkout を control と新しいフローに 50/50 で分けてください。"
manage_flagフラグを定義し、親依存関係を設定し、完了としてマークし、アーカイブまたは復元します。フラグは削除しません。"old-banner フラグをアーカイブしてください。"
configureコンテキストフィールドとその有効な値、セグメント、タグタイプとタグ、リリーステンプレート、プロジェクトを変更します。"userId が 1、2、3 の beta-testers セグメントを作成してください。"
audit最大 31 日間にわたる変更内容、変更者、変更日時を読み取ります。"昨日、本番環境で何が変更されましたか?"
docs現在の Unleash ドキュメントに基づいて、機能フラグの運用方法や Unleash 自体に関する質問に回答します。"古いフラグはどのように整理すればよいですか?"
send_feedbackサーバーが期待どおりに動作しなかった内容を Unleash に報告します。UNLEASH_MCP_SEND_FEEDBACK が判断しない限り、最初に確認を求めます。なし:エージェントが自動的に呼び出します。

ローカルにインストールする

Node 24 以降と pnpm が必要です。

  1. リポジトリをクローンし、v2 ブランチに切り替えます。

    git clone https://github.com/Unleash/unleash-mcp.git
    cd unleash-mcp
    git checkout v2
    

    これにより v2 のソースを取得できます。

  2. 依存関係をインストールします。

    pnpm install
    

    Node は TypeScript ソースを直接実行するため、ビルド手順はありません。

  3. Unleash で、Profile > Personal API tokens から個人用アクセストークンを作成します。サーバーはそのユーザーの権限で動作します。

  4. MCP クライアントにサーバーを登録します。Claude Code の場合:

    claude mcp add unleash \
      -e UNLEASH_BASE_URL=https://your-instance.getunleash.io \
      -e UNLEASH_PAT=user:your-personal-access-token \
      -- node /absolute/path/to/unleash-mcp/src/index.ts
    

    これにより、unleash という名前の stdio サーバーが Claude Code に追加されます。Claude Desktop、Cursor、VS Code など、JSON で設定するクライアントでは、MCP サーバーに次の内容を追加します。

    {
      "mcpServers": {
        "unleash": {
          "command": "node",
          "args": ["/absolute/path/to/unleash-mcp/src/index.ts"],
          "env": {
            "UNLEASH_BASE_URL": "https://your-instance.getunleash.io",
            "UNLEASH_PAT": "user:your-personal-access-token"
          }
        }
      }
    }
    
  5. エージェントに「Unleash のプロジェクトを一覧表示して」と尋ねます。プロジェクトが返ってくれば、サーバーは動作しています。

ローカルサーバーを設定する

変数必須説明
UNLEASH_BASE_URLはいUnleash インスタンスの URL。例:https://sandbox.getunleash.io/enterprise。
UNLEASH_PATはいサーバーが Unleash への呼び出しに使用する個人用アクセストークン。
UNLEASH_MCP_SEND_FEEDBACKいいえtrue は確認なしでレポートを送信し、false は send_feedback を送信しません。未設定の場合、最初のレポート時に確認を求めます。
UNLEASH_FEEDBACK_URLいいえsend_feedback レポートの送信先となる Unleash インスタンス。未設定の場合は Unleash のインスタンス(https://eu.app.unleash-hosted.com/hosted/)を使用します。
UNLEASH_MCP_CONFIG_DIRいいえ回答を保存するディレクトリ(feedback_consent.json)。既定では、プラットフォームの設定ディレクトリを使用します。

send_feedback は、サーバーが期待どおりに動作しなかった場合(ツールエラー、どのツールも対応していないリクエスト、誤った結果)に、匿名レポートを Unleash に送信します。レポートには、ツール名、エラー、エージェントが実行されている MCP クライアントが記載されます。問題の解決に役立てるため、同意してください。

同意するまで何も送信されません。最初のレポート時に MCP クライアントを通じて確認を求め、回答は feedback_consent.json に保存されるため、確認は一度だけです。このファイルは、$XDG_CONFIG_HOME が設定されている場合はその下の unleash-mcp ディレクトリに、未設定の場合は macOS では ~/Library/Application Support、Windows では %APPDATA%、Linux では ~/.config に保存されます。もう一度確認を求めるには、このファイルを削除してください。

確認を閉じた場合、またはクライアントが確認を表示できない場合、フィードバックは次のセッションまで無効のままです。OpenCode、Gemini、Antigravity では確認が表示されないため、UNLEASH_MCP_SEND_FEEDBACK が true でない限り、フィードバックは無効のままです。

クライアント設定にシークレットを含めないようにするには、.env.example を .env にコピーして値を入力し、node --env-file=.env /absolute/path/to/unleash-mcp/src/index.ts でサーバーを起動します。

リモートサーバーに接続する

Unleash Enterprise はこのサーバーを Streamable HTTP 経由でホストするため、マシン上で何も実行する必要はありません。管理者が Admin > Remote MCP Server で有効にします。管理者がそこで無効にしない限り、send_feedback レポートが送信されます。

MCP クライアントにサーバーを登録します。Claude Code の場合:

claude mcp add unleash https://your-instance.getunleash.io/api/admin/mcp --transport http

Codex の場合は、サーバーを追加してからログインします。

codex mcp add unleash --url https://your-instance.getunleash.io/api/admin/mcp
codex mcp login unleash

ログインするとブラウザーが開き、Unleash にログインします。Claude Code でも初回使用時に同じ操作が行われます。その後、Unleash はクライアント用の個人用アクセストークンを作成します。このトークンの有効期間は 24 時間で、サーバーはユーザーの権限で動作します。

CI など、ブラウザーログインができない場合は、自分の個人用アクセストークンを代わりに渡します。この場合、ログインは行われません。

claude mcp add unleash https://your-instance.getunleash.io/api/admin/mcp \
  --transport http \
  --header "Authorization: Bearer user:your-personal-access-token"

Codex は、[mcp_servers.unleash] の下にある bearer_token_env_var として、config.toml で指定された環境変数からトークンを取得します。

開発