Unleash

官方

用於管理 Unleash 功能開關並自動化最佳實踐的 MCP 伺服器。

你可以用 Unleash MCP 做什麼?

  • Find flags and related resources — Ask which flags in a project are tagged a certain way, or look up segments, context fields, tags, and environments by name via search.
  • Inspect a flag or project — Read a project, flag, context field, or segment in full, including a flag's exposure metrics in an environment, using inspect.
  • Check flag evaluation — Ask whether a flag is enabled, disabled, or unknown for a given context in an environment with evaluate.
  • Roll out or turn off flags — Turn a flag on for audiences, split by percentage or template, or turn it off via release, which opens a change request where required.
  • Run A/B tests — Assign audiences control and treatment values by share or one each, or stop the test, using experiment.
  • Review recent changes — Ask what changed, who changed it, and when over the past 31 days with audit.

文件

Unleash MCP server

An MCP server that lets AI agents work with Unleash the way you'd work in the Unleash UI: find flags, roll them out, check who gets them, and see what changed. It's in alpha and isn't published to npm, so you run it from source.

Tools

ToolDescriptionExample prompt
searchFind projects, flags, segments, context fields, tags, tag types, flag creators, release templates, event types and environments by name."Which flags in the checkout project are tagged team:payments?"
inspectRead a project, flag, context field or segment in full, or a flag's exposure metrics in an environment."Show me everything about the new-checkout flag."
evaluateTell whether a flag is enabled, disabled or unknown for a context in an environment."Does user 42 get new-checkout in production?"
releaseTurn a flag on for audiences, split by value or through a release template, or turn it off. Creates the flag if it doesn't exist. Opens a change request where the environment requires one."Roll out new-checkout to 10% of users in production."
kill_switchTurn a permanent kill switch on or off, for everyone or chosen audiences. Creates the switch if it doesn't exist. Opens a change request where the environment requires one."Turn off payments in production."
experimentRun an A/B test: give audiences values such as control and treatment, by share or one each, or stop it. Creates a missing flag. Opens a change request where the environment requires one."Split checkout 50/50 between control and the new flow."
manage_flagDefine flags, set a parent dependency, mark flags completed, archive and revive them. Doesn't delete flags."Archive the old-banner flag."
configureChange context fields and their legal values, segments, tag types and tags, release templates and projects."Create a beta-testers segment for userId 1, 2 and 3."
auditRead what changed, who changed it and when, over at most 31 days."What changed in production yesterday?"
docsAnswer questions about feature flag practices and Unleash itself from the current Unleash documentation."How should I clean up old flags?"
send_feedbackReport to Unleash where the server fell short. Asks you first, unless UNLEASH_MCP_SEND_FEEDBACK decides.None: the agent calls it on its own.

Install locally

You need Node 24 or later and pnpm.

  1. Clone the repository and switch to the v2 branch:

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

    This gets you the v2 source.

  2. Install the dependencies:

    pnpm install
    

    Node runs the TypeScript source directly, so there's no build step.

  3. In Unleash, create a personal access token under Profile > Personal API tokens. The server acts with that user's permissions.

  4. Register the server with your MCP client. For 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
    

    This adds a stdio server named unleash to Claude Code. For clients configured with JSON, such as Claude Desktop, Cursor or VS Code, add this to their MCP servers:

    {
      "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. Ask your agent "List my Unleash projects". If it answers with your projects, the server is running.

Configure the local server

VariableRequiredDescription
UNLEASH_BASE_URLYesURL of your Unleash instance, such as https://sandbox.getunleash.io/enterprise.
UNLEASH_PATYesPersonal access token the server calls Unleash with.
UNLEASH_MCP_SEND_FEEDBACKNotrue sends reports without asking, false leaves send_feedback out. Unset, you are asked on the first report.
UNLEASH_FEEDBACK_URLNoUnleash instance that receives send_feedback reports. Unset, Unleash's instance (https://eu.app.unleash-hosted.com/hosted/).
UNLEASH_MCP_CONFIG_DIRNoDirectory that keeps your answer, feedback_consent.json. Defaults to your platform config directory.

send_feedback sends anonymous reports to Unleash when the server fell short: a tool error, a request no tool supports, or a wrong result. A report names the tool, the error and the MCP client the agent runs in. Say yes to help us fix what doesn't work for you.

Nothing is sent until you agree. The first report asks you through your MCP client, and your answer is kept in feedback_consent.json, so you're asked once. The file sits in an unleash-mcp directory under $XDG_CONFIG_HOME when it's set, otherwise under ~/Library/Application Support on macOS, %APPDATA% on Windows and ~/.config on Linux. Delete it to be asked again.

If you dismiss the question, or your client can't show it, feedback stays off until the next session. OpenCode, Gemini and Antigravity never show it, so there feedback stays off unless UNLEASH_MCP_SEND_FEEDBACK is true.

To keep secrets out of your client config, copy .env.example to .env, fill it in, and start the server with node --env-file=.env /absolute/path/to/unleash-mcp/src/index.ts.

Connect to the remote server

Unleash Enterprise hosts this server, over Streamable HTTP, so nothing runs on your machine. An admin turns it on under Admin > Remote MCP Server; send_feedback reports are sent unless the admin turns them off there.

Register the server with your MCP client. For Claude Code:

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

For Codex, add the server and then log in:

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

The login opens your browser to log in to Unleash; Claude Code does the same on first use. Unleash then creates a personal access token for the client, valid for 24 hours, and the server acts with your permissions.

Where a browser login isn't possible, such as in CI, send a personal access token of your own instead and no login happens:

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

Codex takes the token from an environment variable named in its config.toml, as bearer_token_env_var under [mcp_servers.unleash].

Development