Zum Hauptinhalt springen

MCP — Model Context Protocol

msg.ZenTestAI wird mit einem integrierten MCP-Server ausgeliefert, der es externen KI-Clients — Claude Code, Claude Desktop, Cursor, Windsurf, GitHub Copilot und anderen — ermöglicht, sich direkt mit Ihrem Mandanten zu verbinden und die Plattform direkt aus Ihrem Editor zu steuern. Sobald die Verbindung hergestellt ist, kann der KI-Client Tests durchsuchen, ausführen, Ergebnisse prüfen und sogar in Ihrem Namen neue Tests erstellen, wobei dieselben Berechtigungen verwendet werden wie bei dem Benutzer (oder dem API-Schlüssel), mit dem die Authentifizierung erfolgt.

MCP ist ein offener Standard für die Verbindung von KI-Assistenten mit externen Tools und Daten. msg.ZenTestAI stellt seine Funktionen als MCP-Tools bereit; jeder MCP-fähige Client kann diese aufrufen.

Es gibt keinen mandantenspezifischen Einrichtungsbildschirm für MCP — der Server ist immer verfügbar (ein Administrator kann ihn pro Mandant über ein Feature-Flag deaktivieren). Die Konfiguration erfolgt vollständig auf der Client-Seite: Geben Sie dem KI-Tool den Endpunkt und die Zugangsdaten.

Verbindungsdetails

FeldWert
Endpunkthttps://<your-msg-zentestai-backend>/mcp
TransportStreamable HTTP (kein SSE-Fallback).
Auth — Option 1HTTP-Header x-zen-test-api-key: <tenant API key> (Legacy zen-test-api-key weiterhin akzeptiert) — siehe API-Key Connectivity.
Auth — Option 2HTTP-Header Authorization: Bearer <OIDC access token> — dasselbe Token, das auch das Frontend verwendet.

Der API-Schlüssel-Flow ist am einfachsten und eignet sich für Headless- / CI-Szenarien; der Schlüssel ist fest an genau einen Mandanten gebunden. Der Bearer-Token-Flow sorgt dafür, dass die Sitzung im Namen eines spezifischen menschlichen Benutzers agiert und somit dessen mandantenspezifische Zuweisungen und Rollen erbt.

Integration in Ihren Editor

Die folgenden Beispiele bewirken alle das Gleiche: Registrierung eines Servers namens zentestai, der auf /mcp zeigt, mit einem Auth-Header. Ersetzen Sie <backend-host> und die Zugangsdaten durch Ihre eigenen.

Claude Code

Fügen Sie den Server über das Terminal hinzu:

claude mcp add --transport http zentestai https://<backend-host>/mcp \
--header "x-zen-test-api-key: <your tenant API key>"

…oder fügen Sie ihn Ihrer .mcp.json / Ihren Einstellungen hinzu:

{
"mcpServers": {
"zentestai": {
"type": "http",
"url": "https://<backend-host>/mcp",
"headers": { "x-zen-test-api-key": "<your tenant API key>" }
}
}
}

Führen Sie anschließend /mcp innerhalb von Claude Code aus, um zu bestätigen, dass der zentestai-Server verbunden ist.

Cursor / Windsurf

Fügen Sie Folgendes zur MCP-Konfigurationsdatei des Clients hinzu (Cursor: ~/.cursor/mcp.json oder die projektbezogene .cursor/mcp.json; Windsurf verwendet die äquivalente mcp_config.json):

{
"mcpServers": {
"zentestai": {
"url": "https://<backend-host>/mcp",
"headers": { "x-zen-test-api-key": "<your tenant API key>" }
}
}
}

Um anstelle eines API-Schlüssels als spezifischer Benutzer zu agieren, ersetzen Sie den Header durch "Authorization": "Bearer <oidc-access-token>".

VS Code (GitHub Copilot)

Fügen Sie in VS Code einen MCP-Server zur .vscode/mcp.json hinzu (oder über MCP: Add Server in der Befehlspalette):

{
"servers": {
"zentestai": {
"type": "http",
"url": "https://<backend-host>/mcp",
"headers": { "x-zen-test-api-key": "<your tenant API key>" }
}
}
}

Aktivieren Sie anschließend den Server in der Tool-Auswahl von Copilot Chat.

Claude Desktop

Claude Desktop unterstützt derzeit nur stdio MCP. Überbrücken Sie daher die Verbindung zum HTTP-Server mit mcp-remote in der claude_desktop_config.json:

{
"mcpServers": {
"zentestai": {
"command": "npx",
"args": [
"mcp-remote",
"https://<backend-host>/mcp",
"--header",
"x-zen-test-api-key:<your tenant API key>"
]
}
}
}

Auswahl des Mandanten

Tools arbeiten immer auf einem Mandanten ("Produkt"). Der aktive Mandant wird bei jedem Aufruf in dieser Reihenfolge ermittelt:

  1. Ein explizites product-Argument, das an das Tool übergeben wird — validiert gegen Ihre zugewiesenen Mandanten.
  2. Ihr einzelner zugewiesener Mandant — wird automatisch bei der API-Schlüssel-Authentifizierung angewendet (ein Schlüssel ist an einen Mandanten gebunden).
  3. Eine zuvor gespeicherte Auswahl, die mit dem select_product-Tool getroffen wurde — wird nur verwendet, wenn Sie Zugriff auf zwei oder mehr Mandanten haben.
  4. Andernfalls schlägt der Aufruf mit einer klaren Meldung fehl, die die Mandanten auflistet, aus denen Sie wählen können.

Die gespeicherte Auswahl bleibt auch nach Wiederverbindungen und Backend-Neustarts erhalten.

Was der KI-Client tun kann

Der Server stellt eine kuratierte Auswahl an Tools bereit, gruppiert nach Zweck:

GruppeWas die KI damit tun kann
Sitzung / MandantErmitteln, wer angemeldet ist, verfügbare Mandanten auflisten und einen Standard-Mandanten speichern.
Tests lesenDen Testkatalog durchsuchen und Tests, Parameter, Varianten, Ausführungspläne, Gruppen und Makros lesen.
Tests pflegenTests erstellen und bearbeiten — Schritte, Parameter, Ausführungsvarianten, Aktivitäten und Ordner.
Tests ausführenAusführungen triggern (optional interaktiv), auf deren Abschluss warten und sie abbrechen.
Ergebnisse prüfenVergangene Ausführungen finden, Header / Ergebnisse / Logs lesen und erfasste Screenshots abrufen.
Interaktive AufnahmeWährend ein Test interaktiv läuft, pausieren, die Live-Seite prüfen, Aktionen testen und neue Schritte aufnehmen.
ApplikationskonfigurationApplikationsprofile lesen und aktualisieren (keine geheimen Einstellungen) sowie ein verknüpftes Jira-Ticket lesen.
Knowledge BaseDie Knowledge Base der Applikation lesen und Artikel darin verfassen.

Die genaue Liste wird mit dem Backend ausgeliefert und kann mit der Zeit wachsen — Ihr Client sieht beim Verbinden immer den aktuellen Stand.

Sicherheitsmodell

  • MCP nutzt die bestehende Authentifizierung wieder. Was auch immer der API-Schlüssel oder das Bearer-Token in der REST-API darf, kann auch die MCP-Sitzung — nicht mehr und nicht weniger.
  • Der anfängliche initialize-Aufruf ist nicht authentifiziert, sodass ein Client die verfügbaren Tool-Schemata auflisten kann. Jeder Tool-Aufruf durchläuft jedoch die Authentifizierungsprüfung. Anonyme Clients können nichts ausführen.
  • Alle Mandantenbeschränkungen (maximale Ausführungen pro Tag, maximale KI-Kosten pro Tag, Host-Beschränkung, Bearbeitungssperre) gelten für MCP-Aufrufe genauso wie für die REST-API und das Frontend.
  • Tests, die an ein externes System (z. B. Jira/Xray) gebunden sind, lehnen Schrittbearbeitungen über MCP ab, damit die Sicht des Connectors auf den Test nicht unbemerkt überschrieben werden kann.
  • Ein Administrator kann MCP für einen Mandanten über ein Feature-Flag deaktivieren; Tool-Aufrufe für einen deaktivierten Mandanten werden abgelehnt.
tipp

Für gemeinsame CI/CD-Pipelines bevorzugen Sie den API-Schlüssel-Flow — er erfordert keine erneute menschliche Authentifizierung und der Schlüssel kann jederzeit in den Mandanteneinstellungen neu generiert werden. Für entwicklerbezogene Setups bevorzugen Sie den Bearer-Token-Flow, damit die Sitzung die Rollen dieses Entwicklers erbt.

vorsicht

Ein Client, der im Besitz des API-Schlüssels ist, kann Tests in Ihrem Mandanten ausführen, bearbeiten und erstellen. Behandeln Sie den Schlüssel wie jedes Produktions-Credential — speichern Sie ihn in einem Secret-Manager und übertragen Sie ihn niemals in die Versionsverwaltung.