Unleash
offiziellMCP-Server zur Verwaltung von Unleash-Feature-Flags und Automatisierung von Best Practices.
Was kann man mit Unleash MCP machen?
- Flags und zugehörige Ressourcen finden — Frage, welche Flags in einem Projekt auf bestimmte Weise gekennzeichnet sind, oder suche Segmente, Kontextfelder, Tags und Umgebungen anhand ihres Namens über
search. - Ein Flag oder Projekt prüfen — Lies ein Projekt, Flag, Kontextfeld oder Segment vollständig aus, einschließlich der Exposure-Metriken eines Flags in einer Umgebung, mit
inspect. - Flag-Auswertung prüfen — Frage mit
evaluate, ob ein Flag für einen bestimmten Kontext in einer Umgebung aktiviert, deaktiviert oder unbekannt ist. - Flags ausrollen oder deaktivieren — Aktiviere ein Flag für Zielgruppen, teile sie prozentual oder anhand einer Vorlage auf oder deaktiviere es mit
release. Dabei wird, sofern erforderlich, eine Änderungsanfrage geöffnet. - A/B-Tests durchführen — Weise Zielgruppen mit
experimentKontroll- und Testwerte anteilig oder jeweils einen Wert zu oder beende den Test. - Letzte Änderungen prüfen — Frage mit
audit, was sich in den vergangenen 31 Tagen geändert hat, wer die Änderungen vorgenommen hat und wann.
Dokumentation
Unleash MCP-Server
Ein MCP-Server, mit dem KI-Agenten mit Unleash so arbeiten können, wie du es in der Unleash-Benutzeroberfläche tun würdest: Flags finden, ausrollen, prüfen, wer sie erhält, und sehen, was sich geändert hat. Der Server befindet sich in der Alpha-Phase und ist nicht auf npm veröffentlicht. Daher führst du ihn aus dem Quellcode aus.
Tools
| Tool | Beschreibung | Beispiel-Prompt |
|---|---|---|
search | Projekte, Flags, Segmente, Kontextfelder, Tags, Tag-Typen, Flag-Ersteller, Release-Vorlagen, Ereignistypen und Umgebungen nach Namen suchen. | "Welche Flags im Checkout-Projekt sind mit team:payments getaggt?" |
inspect | Ein Projekt, Flag, Kontextfeld oder Segment vollständig lesen oder die Exposure-Metriken eines Flags in einer Umgebung abrufen. | "Zeig mir alles zum new-checkout-Flag." |
evaluate | Ermitteln, ob ein Flag für einen Kontext in einer Umgebung aktiviert, deaktiviert oder unbekannt ist. | "Erhält user 42 new-checkout in production?" |
release | Ein Flag für Zielgruppen aktivieren, nach Wert oder über eine Release-Vorlage aufteilen oder deaktivieren. Erstellt das Flag, falls es nicht existiert. Öffnet eine Änderungsanfrage, wenn die Umgebung eine erfordert. | "Rolle new-checkout für 10 % der Nutzer in production aus." |
kill_switch | Einen permanenten Kill-Switch für alle oder ausgewählte Zielgruppen aktivieren oder deaktivieren. Erstellt den Switch, falls er nicht existiert. Öffnet eine Änderungsanfrage, wenn die Umgebung eine erfordert. | "Schalte payments in production aus." |
experiment | Einen A/B-Test durchführen: Zielgruppen Werte wie control und treatment zuweisen, nach Anteil oder jeweils einen Wert, oder den Test beenden. Erstellt ein fehlendes Flag. Öffnet eine Änderungsanfrage, wenn die Umgebung eine erfordert. | "Teile checkout 50/50 zwischen control und dem neuen Ablauf auf." |
manage_flag | Flags definieren, eine übergeordnete Abhängigkeit festlegen, Flags als abgeschlossen markieren sowie archivieren und wiederherstellen. Löscht keine Flags. | "Archiviere das old-banner-Flag." |
configure | Kontextfelder und ihre zulässigen Werte, Segmente, Tag-Typen und Tags, Release-Vorlagen sowie Projekte ändern. | "Erstelle ein beta-testers-Segment für userId 1, 2 und 3." |
audit | Lesen, was sich geändert hat, wer es geändert hat und wann, für einen Zeitraum von höchstens 31 Tagen. | "Was hat sich gestern in production geändert?" |
docs | Fragen zu Best Practices für Feature Flags und zu Unleash selbst anhand der aktuellen Unleash-Dokumentation beantworten. | "Wie sollte ich alte Flags bereinigen?" |
send_feedback | Unleash melden, wo der Server nicht weitergekommen ist. Fragt dich zuerst, sofern UNLEASH_MCP_SEND_FEEDBACK nichts anderes festlegt. | Keine: Der Agent ruft das Tool selbstständig auf. |
Lokal installieren
Du benötigst Node 24 oder höher und pnpm.
-
Klone das Repository und wechsle zum Branch
v2:git clone https://github.com/Unleash/unleash-mcp.git cd unleash-mcp git checkout v2Dadurch erhältst du den v2-Quellcode.
-
Installiere die Abhängigkeiten:
pnpm installNode führt den TypeScript-Quellcode direkt aus, daher ist kein Build-Schritt erforderlich.
-
Erstelle in Unleash unter Profile > Personal API tokens ein persönliches Zugriffstoken. Der Server arbeitet mit den Berechtigungen dieses Benutzers.
-
Registriere den Server bei deinem MCP-Client. Für 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.tsDadurch wird Claude Code ein stdio-Server namens
unleashhinzugefügt. Für Clients, die mit JSON konfiguriert werden, etwa Claude Desktop, Cursor oder VS Code, füge dies zu ihren MCP-Servern hinzu:{ "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" } } } } -
Bitte deinen Agenten: „Liste meine Unleash-Projekte auf“. Wenn er deine Projekte auflistet, läuft der Server.
Lokalen Server konfigurieren
| Variable | Erforderlich | Beschreibung |
|---|---|---|
UNLEASH_BASE_URL | Ja | URL deiner Unleash-Instanz, zum Beispiel https://sandbox.getunleash.io/enterprise. |
UNLEASH_PAT | Ja | Persönliches Zugriffstoken, mit dem der Server Unleash aufruft. |
UNLEASH_MCP_SEND_FEEDBACK | Nein | true sendet Berichte ohne Nachfrage, false lässt send_feedback weg. Wenn nicht gesetzt, wirst du beim ersten Bericht gefragt. |
UNLEASH_FEEDBACK_URL | Nein | Unleash-Instanz, die send_feedback-Berichte empfängt. Wenn nicht gesetzt, wird die Unleash-Instanz verwendet (https://eu.app.unleash-hosted.com/hosted/). |
UNLEASH_MCP_CONFIG_DIR | Nein | Verzeichnis, in dem deine Antwort gespeichert wird: feedback_consent.json. Standardmäßig wird das Konfigurationsverzeichnis deiner Plattform verwendet. |
send_feedback sendet anonyme Berichte an Unleash, wenn der Server nicht weiterkommt: bei einem Tool-Fehler, einer Anfrage, die kein Tool unterstützt, oder einem falschen Ergebnis. Ein Bericht nennt das Tool, den Fehler und den MCP-Client, in dem der Agent ausgeführt wird. Stimme zu, damit wir beheben können, was bei dir nicht funktioniert.
Es wird nichts gesendet, bevor du zustimmst. Beim ersten Bericht wirst du über deinen MCP-Client gefragt. Deine Antwort wird in feedback_consent.json gespeichert, sodass du nur einmal gefragt wirst. Die Datei liegt in einem unleash-mcp-Verzeichnis unter $XDG_CONFIG_HOME, wenn dieser Wert gesetzt ist, andernfalls unter ~/Library/Application Support auf macOS, %APPDATA% auf Windows und ~/.config auf Linux. Lösche die Datei, wenn du erneut gefragt werden möchtest.
Wenn du die Frage schließt oder dein Client sie nicht anzeigen kann, bleibt Feedback bis zur nächsten Sitzung deaktiviert. OpenCode, Gemini und Antigravity zeigen die Frage nie an. Dort bleibt Feedback daher deaktiviert, sofern UNLEASH_MCP_SEND_FEEDBACK nicht auf true gesetzt ist.
Damit Geheimnisse nicht in deiner Client-Konfiguration stehen, kopiere .env.example nach .env, trage die Werte ein und starte den Server mit node --env-file=.env /absolute/path/to/unleash-mcp/src/index.ts.
Mit dem Remote-Server verbinden
Unleash Enterprise hostet diesen Server über Streamable HTTP, sodass auf deinem Rechner nichts ausgeführt wird. Ein Administrator aktiviert ihn unter Admin > Remote MCP Server; send_feedback-Berichte werden gesendet, sofern der Administrator sie dort nicht deaktiviert.
Registriere den Server bei deinem MCP-Client. Für Claude Code:
claude mcp add unleash https://your-instance.getunleash.io/api/admin/mcp --transport http
Füge den Server für Codex hinzu und melde dich anschließend an:
codex mcp add unleash --url https://your-instance.getunleash.io/api/admin/mcp
codex mcp login unleash
Beim Anmelden öffnet sich dein Browser, um dich bei Unleash anzumelden; Claude Code macht dasselbe bei der ersten Verwendung. Unleash erstellt dann ein persönliches Zugriffstoken für den Client, das 24 Stunden gültig ist. Der Server arbeitet mit deinen Berechtigungen.
Wenn eine Browser-Anmeldung nicht möglich ist, etwa in CI, kannst du stattdessen ein eigenes persönliches Zugriffstoken senden. Dann findet keine Anmeldung statt:
claude mcp add unleash https://your-instance.getunleash.io/api/admin/mcp \
--transport http \
--header "Authorization: Bearer user:your-personal-access-token"
Codex bezieht das Token aus einer Umgebungsvariable, die in seiner config.toml als bearer_token_env_var unter [mcp_servers.unleash] angegeben ist.
Entwicklung
- Entwicklungsumgebung einrichten: Tests und den Dev-Server in Claude Code ausführen.
- Entscheidungen: Warum der Server so funktioniert, wie er funktioniert.