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 を無効にしてください。" |
experiment | A/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 が必要です。
-
リポジトリをクローンし、
v2ブランチに切り替えます。git clone https://github.com/Unleash/unleash-mcp.git cd unleash-mcp git checkout v2これにより v2 のソースを取得できます。
-
依存関係をインストールします。
pnpm installNode は TypeScript ソースを直接実行するため、ビルド手順はありません。
-
Unleash で、Profile > Personal API tokens から個人用アクセストークンを作成します。サーバーはそのユーザーの権限で動作します。
-
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" } } } } -
エージェントに「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 で指定された環境変数からトークンを取得します。
開発
- 開発環境のセットアップ:Claude Code でのテストと開発サーバーの実行方法。
- 設計上の決定:サーバーが現在のように動作する理由。