Unleash

официальный

MCP-сервер для управления функциональными флагами Unleash и автоматизации лучших практик.

Что можно делать с Unleash MCP?

  • Найти флаги и связанные ресурсы — Узнайте, какие флаги в проекте помечены определённым образом, или найдите сегменты, поля контекста, теги и окружения по имени с помощью search.
  • Изучить флаг или проект — Просмотрите проект, флаг, поле контекста или сегмент целиком, включая метрики экспонирования флага в окружении, с помощью inspect.
  • Проверить вычисление флага — Узнайте с помощью evaluate, включён ли флаг, выключен или его состояние неизвестно для заданного контекста в окружении.
  • Включить или выключить флаги — Включите флаг для аудиторий, распределив их по процентам или шаблону, либо выключите его с помощью release. При необходимости будет создан запрос на изменение.
  • Проводить A/B-тесты — Назначьте аудиториям контрольные и тестовые значения, распределив их по долям или поровну, либо остановите тест с помощью experiment.
  • Просмотреть недавние изменения — Узнайте с помощью audit, что изменилось, кто и когда внёс изменения за последние 31 день.

Документация

MCP-сервер Unleash

MCP-сервер, который позволяет ИИ-агентам работать с Unleash так же, как вы работали бы в интерфейсе Unleash: находить флаги, запускать их, проверять, кому они доступны, и смотреть, что изменилось. Сервер находится в альфа-версии и не опубликован в npm, поэтому его нужно запускать из исходного кода.

Инструменты

ИнструментОписаниеПример запроса
searchНаходит проекты, флаги, сегменты, поля контекста, теги, типы тегов, создателей флагов, шаблоны релизов, типы событий и окружения по названию."Какие флаги в проекте checkout помечены тегом team:payments?"
inspectПоказывает полную информацию о проекте, флаге, поле контекста или сегменте, а также метрики использования флага в окружении."Покажи всё о флаге new-checkout."
evaluateОпределяет, включён ли флаг, выключен или его состояние неизвестно для контекста в окружении."Доступен ли new-checkout пользователю 42 в production?"
releaseВключает флаг для аудиторий, распределяет их по значениям или использует шаблон релиза, либо выключает флаг. Создаёт флаг, если он не существует. Открывает запрос на изменение, если этого требует окружение."Запусти new-checkout для 10% пользователей в production."
kill_switchВключает или выключает постоянный аварийный переключатель для всех или выбранных аудиторий. Создаёт переключатель, если он не существует. Открывает запрос на изменение, если этого требует окружение."Выключи payments в production."
experimentЗапускает A/B-тест: назначает аудиториям значения, например control и treatment, по долям или по одному варианту на аудиторию, либо останавливает тест. Создаёт отсутствующий флаг. Открывает запрос на изменение, если этого требует окружение."Раздели checkout 50/50 между control и новым потоком."
manage_flagСоздаёт флаги, задаёт родительскую зависимость, отмечает флаги как завершённые, архивирует и восстанавливает их. Не удаляет флаги."Архивируй old-banner."
configureИзменяет поля контекста и допустимые для них значения, сегменты, типы тегов и теги, шаблоны релизов и проекты."Создай сегмент beta-testers для userId 1, 2 и 3."
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
    

    Это добавит в Claude Code stdio-сервер с именем unleash. Для клиентов с настройкой через JSON, например Claude Desktop, Cursor или VS Code, добавьте это в список 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ДаURL вашего экземпляра Unleash, например https://sandbox.getunleash.io/enterprise.
UNLEASH_PATДаПерсональный токен доступа, с которым сервер обращается к Unleash.
UNLEASH_MCP_SEND_FEEDBACKНетtrue отправляет отчёты без запроса разрешения, false исключает send_feedback. Если переменная не задана, при первом отчёте вас спросят.
UNLEASH_FEEDBACK_URLНетЭкземпляр Unleash, который получает отчёты send_feedback. Если переменная не задана, используется экземпляр Unleash (https://eu.app.unleash-hosted.com/hosted/).
UNLEASH_MCP_CONFIG_DIRНетКаталог для хранения вашего ответа, feedback_consent.json. По умолчанию используется системный каталог конфигурации.

send_feedback отправляет анонимные отчёты в Unleash, когда сервер не справился: произошла ошибка инструмента, поступил запрос, который не поддерживает ни один инструмент, или был получен неверный результат. В отчёте указываются инструмент, ошибка и MCP-клиент, в котором работает агент. Согласитесь, чтобы помочь нам исправить то, что у вас не работает.

Ничего не отправляется, пока вы не дадите согласие. При отправке первого отчёта MCP-клиент задаст вам вопрос, а ваш ответ сохранится в feedback_consent.json, поэтому вас спросят только один раз. Файл находится в каталоге unleash-mcp внутри $XDG_CONFIG_HOME, если эта переменная задана; в противном случае — в ~/Library/Application Support на macOS, %APPDATA% на Windows и ~/.config на Linux. Удалите файл, чтобы вас спросили снова.

Если вы закроете вопрос или ваш клиент не сможет его показать, отправка отзывов останется выключенной до следующего сеанса. 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 получает токен из переменной окружения, указанной в его config.toml, как bearer_token_env_var в [mcp_servers.unleash].

Разработка