Unleash

공식

Unleash 기능 플래그를 관리하고 모범 사례를 자동화하기 위한 MCP 서버입니다.

Unleash MCP(으)로 무엇을 할 수 있나요?

  • 플래그 및 프로젝트 찾기 — 프로젝트에서 특정 태그가 지정된 플래그를 묻거나, search를 통해 이름으로 프로젝트, 세그먼트, 컨텍스트 필드, 환경을 나열합니다.
  • 플래그 살펴보기 — inspect를 사용해 프로젝트, 플래그, 컨텍스트 필드 또는 세그먼트의 전체 내용을 확인합니다.
  • 플래그 평가 확인 — 특정 사용자가 특정 환경에서 플래그를 받는지 묻고, evaluate를 통해 활성화, 비활성화 또는 알 수 없음으로 답변을 받습니다.
  • 플래그 출시 또는 끄기 — release를 사용해 대상에게 플래그를 켜고, 비율이나 템플릿에 따라 분할하거나, 플래그를 끕니다. 플래그가 없으면 생성합니다.
  • A/B 테스트 실행 — experiment를 사용해 비율에 따라 또는 각 하나씩 대상을 대조군과 실험군으로 나누거나 테스트를 중단합니다.
  • 변경 사항 검토 — audit를 사용해 최대 31일 동안 무엇이, 누가, 언제 변경했는지 확인합니다.

문서

Unleash MCP 서버

AI 에이전트가 Unleash UI에서 작업하는 것처럼 Unleash를 사용할 수 있게 해 주는 MCP 서버입니다. 플래그를 찾고, 롤아웃하고, 어떤 사용자가 플래그를 받는지 확인하고, 변경 사항을 살펴볼 수 있습니다. 현재 알파 버전이며 npm에 게시되지 않았으므로 소스에서 실행해야 합니다.

도구

도구설명예시 프롬프트
search이름으로 프로젝트, 플래그, 세그먼트, 컨텍스트 필드, 태그, 태그 유형, 플래그 생성자, 릴리스 템플릿, 이벤트 유형 및 환경을 찾습니다."checkout 프로젝트에서 team:payments 태그가 지정된 플래그는 무엇인가요?"
inspect프로젝트, 플래그, 컨텍스트 필드 또는 세그먼트의 전체 정보를 읽습니다."new-checkout 플래그에 관한 모든 정보를 보여 주세요."
evaluate환경에서 특정 컨텍스트에 대해 플래그가 활성화, 비활성화 또는 알 수 없는 상태인지 알려줍니다."production에서 사용자 42에게 new-checkout이 제공되나요?"
release대상 사용자에게 플래그를 켜거나, 값별로 분할하거나, 릴리스 템플릿을 통해 켜거나, 끕니다. 플래그가 없으면 생성합니다. 환경에서 변경 요청이 필요한 경우 변경 요청을 엽니다."production에서 사용자 10%에게 new-checkout을 롤아웃해 주세요."
kill_switch영구 킬 스위치를 모든 사용자 또는 선택한 대상 사용자에 대해 켜거나 끕니다. 스위치가 없으면 생성합니다. 환경에서 변경 요청이 필요한 경우 변경 요청을 엽니다."production에서 payments를 꺼 주세요."
experimentA/B 테스트를 실행합니다. 점유율 기준 또는 각 대상에 하나씩 control 및 treatment 같은 값을 할당하거나 테스트를 중지합니다. 플래그가 없으면 생성합니다. 환경에서 변경 요청이 필요한 경우 변경 요청을 엽니다."checkout을 control과 새 흐름으로 50/50 분할해 주세요."
manage_flag플래그를 정의하고, 상위 종속성을 설정하고, 플래그를 완료로 표시하고, 보관하거나 복원합니다. 플래그를 삭제하지는 않습니다."old-banner 플래그를 보관해 주세요."
configure컨텍스트 필드와 허용 값, 세그먼트, 태그 유형 및 태그, 릴리스 템플릿과 프로젝트를 변경합니다."userId가 1, 2, 3인 beta-testers 세그먼트를 만들어 주세요."
audit최대 31일 동안 무엇이 언제, 누구에 의해 변경되었는지 읽습니다."어제 production에서 무엇이 변경되었나요?"
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] 아래의 config.toml에 지정된 환경 변수에서 토큰을 가져옵니다. bearer_token_env_var 형식으로 지정합니다.

개발