Unleash
officielServeur MCP pour gérer les feature flags Unleash et automatiser les bonnes pratiques.
Que pouvez-vous faire avec Unleash MCP ?
- Trouver des indicateurs et des ressources associées — Demandez quels indicateurs d’un projet sont associés à certaines étiquettes, ou recherchez des segments, des champs de contexte, des étiquettes et des environnements par nom avec
search. - Examiner un indicateur ou un projet — Consultez en détail un projet, un indicateur, un champ de contexte ou un segment, y compris les métriques d’exposition d’un indicateur dans un environnement, avec
inspect. - Vérifier l’évaluation d’un indicateur — Demandez si un indicateur est activé, désactivé ou inconnu pour un contexte donné dans un environnement avec
evaluate. - Déployer ou désactiver des indicateurs — Activez un indicateur pour des audiences, répartissez-les selon un pourcentage ou un modèle, ou désactivez-le avec
release, qui ouvre une demande de modification lorsque nécessaire. - Réaliser des tests A/B — Attribuez aux audiences des valeurs de contrôle et de traitement selon une proportion ou une valeur de chaque, ou arrêtez le test avec
experiment. - Examiner les modifications récentes — Demandez ce qui a changé, qui l’a changé et quand au cours des 31 derniers jours avec
audit.
Documentation
Serveur MCP Unleash
Un serveur MCP qui permet aux agents IA d’utiliser Unleash comme vous le feriez dans l’interface Unleash : rechercher des flags, les déployer progressivement, vérifier qui y a accès et voir ce qui a changé. Il est en alpha et n’est pas publié sur npm ; vous devez donc le lancer depuis les sources.
Outils
| Outil | Description | Exemple de prompt |
|---|---|---|
search | Rechercher des projets, des flags, des segments, des champs de contexte, des tags, des types de tags, des créateurs de flags, des modèles de release, des types d’événements et des environnements par nom. | « Quels flags du projet checkout portent le tag team:payments ? » |
inspect | Lire intégralement un projet, un flag, un champ de contexte ou un segment, ou consulter les métriques d’exposition d’un flag dans un environnement. | « Montre-moi tout ce qu’il y a à savoir sur le flag new-checkout. » |
evaluate | Indiquer si un flag est activé, désactivé ou dans un état inconnu pour un contexte dans un environnement. | « L’utilisateur 42 a-t-il accès à new-checkout en production ? » |
release | Activer un flag pour des audiences, répartir les utilisateurs selon une valeur ou utiliser un modèle de release, ou désactiver le flag. Crée le flag s’il n’existe pas. Ouvre une demande de modification si l’environnement l’exige. | « Déploie new-checkout auprès de 10 % des utilisateurs en production. » |
kill_switch | Activer ou désactiver un kill switch permanent, pour tout le monde ou pour des audiences choisies. Crée le switch s’il n’existe pas. Ouvre une demande de modification si l’environnement l’exige. | « Désactive payments en production. » |
experiment | Lancer un test A/B : attribuer des valeurs telles que control et treatment à des audiences, selon une proportion ou une valeur par audience, ou arrêter le test. Crée le flag s’il n’existe pas. Ouvre une demande de modification si l’environnement l’exige. | « Répartis checkout à 50/50 entre control et le nouveau parcours. » |
manage_flag | Définir des flags, définir une dépendance parente, marquer des flags comme terminés, les archiver et les réactiver. Ne supprime pas les flags. | « Archive le flag old-banner. » |
configure | Modifier les champs de contexte et leurs valeurs autorisées, les segments, les types de tags et les tags, les modèles de release et les projets. | « Crée un segment beta-testers pour les userId 1, 2 et 3. » |
audit | Consulter les changements, leurs auteurs et leur date, sur une période maximale de 31 jours. | « Qu’est-ce qui a changé en production hier ? » |
docs | Répondre aux questions sur les bonnes pratiques relatives aux feature flags et sur Unleash, à partir de la documentation Unleash actuelle. | « Comment nettoyer les anciens flags ? » |
send_feedback | Signaler à Unleash les difficultés rencontrées par le serveur. Vous demande d’abord votre accord, sauf si UNLEASH_MCP_SEND_FEEDBACK en décide autrement. | Aucun : l’agent l’appelle de lui-même. |
Installation locale
Vous avez besoin de Node 24 ou d’une version ultérieure, ainsi que de pnpm.
-
Clonez le dépôt et passez sur la branche
v2:git clone https://github.com/Unleash/unleash-mcp.git cd unleash-mcp git checkout v2Vous récupérez ainsi les sources de la v2.
-
Installez les dépendances :
pnpm installNode exécute directement les sources TypeScript ; aucune étape de build n’est donc nécessaire.
-
Dans Unleash, créez un jeton d’accès personnel sous Profile > Personal API tokens. Le serveur utilise les autorisations de cet utilisateur.
-
Enregistrez le serveur auprès de votre client MCP. Pour 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.tsCela ajoute à Claude Code un serveur stdio nommé
unleash. Pour les clients configurés avec du JSON, comme Claude Desktop, Cursor ou VS Code, ajoutez ceci à leurs serveurs 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" } } } } -
Demandez à votre agent : « Liste mes projets Unleash ». S’il répond en affichant vos projets, le serveur fonctionne.
Configurer le serveur local
| Variable | Obligatoire | Description |
|---|---|---|
UNLEASH_BASE_URL | Oui | URL de votre instance Unleash, par exemple https://sandbox.getunleash.io/enterprise. |
UNLEASH_PAT | Oui | Jeton d’accès personnel utilisé par le serveur pour appeler Unleash. |
UNLEASH_MCP_SEND_FEEDBACK | Non | true envoie les rapports sans demander votre accord ; false exclut send_feedback. Si la variable n’est pas définie, votre accord vous est demandé lors du premier rapport. |
UNLEASH_FEEDBACK_URL | Non | Instance Unleash qui reçoit les rapports send_feedback. Si la variable n’est pas définie, les rapports sont envoyés à l’instance Unleash (https://eu.app.unleash-hosted.com/hosted/). |
UNLEASH_MCP_CONFIG_DIR | Non | Répertoire où est conservée votre réponse, feedback_consent.json. Par défaut, il s’agit du répertoire de configuration de votre plateforme. |
send_feedback envoie des rapports anonymes à Unleash lorsque le serveur rencontre un problème : erreur d’outil, requête non prise en charge par un outil ou résultat incorrect. Un rapport indique l’outil, l’erreur et le client MCP utilisé par l’agent. Acceptez pour nous aider à corriger les problèmes que vous rencontrez.
Aucune donnée n’est envoyée avant votre accord. Le premier rapport vous demande votre accord via votre client MCP, et votre réponse est conservée dans feedback_consent.json afin que la question ne vous soit posée qu’une seule fois. Le fichier se trouve dans un répertoire unleash-mcp sous $XDG_CONFIG_HOME si cette variable est définie ; sinon, il se trouve sous ~/Library/Application Support sur macOS, %APPDATA% sur Windows et ~/.config sur Linux. Supprimez-le pour que la question vous soit posée à nouveau.
Si vous ignorez la question ou si votre client ne peut pas l’afficher, les retours restent désactivés jusqu’à la session suivante. OpenCode, Gemini et Antigravity ne l’affichent jamais ; les retours y restent donc désactivés, sauf si UNLEASH_MCP_SEND_FEEDBACK vaut true.
Pour éviter d’exposer des secrets dans la configuration de votre client, copiez .env.example vers .env, renseignez-le, puis démarrez le serveur avec node --env-file=.env /absolute/path/to/unleash-mcp/src/index.ts.
Se connecter au serveur distant
Unleash Enterprise héberge ce serveur via Streamable HTTP, sans rien exécuter sur votre machine. Un administrateur l’active sous Admin > Remote MCP Server ; les rapports send_feedback sont envoyés, sauf si l’administrateur les désactive à cet endroit.
Enregistrez le serveur auprès de votre client MCP. Pour Claude Code :
claude mcp add unleash https://your-instance.getunleash.io/api/admin/mcp --transport http
Pour Codex, ajoutez le serveur, puis connectez-vous :
codex mcp add unleash --url https://your-instance.getunleash.io/api/admin/mcp
codex mcp login unleash
La connexion ouvre votre navigateur pour vous connecter à Unleash ; Claude Code fait de même lors de la première utilisation. Unleash crée ensuite un jeton d’accès personnel pour le client, valable 24 heures, et le serveur utilise vos autorisations.
Lorsqu’une connexion via navigateur est impossible, par exemple dans un environnement CI, transmettez plutôt votre propre jeton d’accès personnel ; aucune connexion n’aura alors lieu :
claude mcp add unleash https://your-instance.getunleash.io/api/admin/mcp \
--transport http \
--header "Authorization: Bearer user:your-personal-access-token"
Codex récupère le jeton depuis une variable d’environnement indiquée dans son config.toml, sous bearer_token_env_var dans [mcp_servers.unleash].
Développement
- Configuration de développement : exécuter les tests et le serveur de développement dans Claude Code.
- Décisions : pourquoi le serveur fonctionne de cette manière.