View a markdown version of this page

Integration mit dem MCP Server - Verteilte Lasttests auf AWS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Integration mit dem MCP Server

Wenn Sie die optionale MCP Server-Komponente während der Lösungsbereitstellung bereitgestellt haben, können Sie die Distributed Load Testing-Lösung in KI-Entwicklungstools integrieren, die das Model Context Protocol unterstützen. Der MCP Server bietet programmgesteuerten Zugriff zum Abrufen, Verwalten und Analysieren von Lasttests mithilfe von KI-Assistenten.

Sie können mit dem Client Ihrer Wahl (Kiro CLI, Claude usw.), der jeweils leicht unterschiedliche Konfigurationsanweisungen hat, eine Verbindung zum DLT MCP Server herstellen. Dieser Abschnitt enthält Anweisungen zur Einrichtung von MCP Inspector, Kiro CLI, Cline und Amazon Quick.

Schritt 1: Holen Sie sich den MCP-Endpunkt und das Zugriffstoken

Bevor Sie einen MCP-Client konfigurieren, müssen Sie Ihren MCP-Server-Endpunkt und Ihr Zugriffstoken von der DLT-Webkonsole abrufen.

  1. Navigieren Sie in der Distributed Load Testing-Webkonsole zur MCP-Server-Seite.

  2. Suchen Sie den Abschnitt MCP Server Endpoint.

  3. Kopieren Sie die Endpunkt-URL mithilfe der Schaltfläche „Endpunkt-URL kopieren“. Die Endpunkt-URL folgt dem Format: https://{gateway-id}.gateway.bedrock-agentcore.{region}.amazonaws.com/mcp

  4. Suchen Sie den Abschnitt Zugriffstoken.

  5. Kopieren Sie das Zugriffstoken mithilfe der Schaltfläche Zugriffstoken kopieren.

Wichtig

Bewahren Sie Ihr Zugriffstoken sicher auf. Teile es nicht öffentlich. Standardmäßig bietet das Token nur Lesezugriff auf Ihre Distributed Load Testing-Lösung über die MCP-Schnittstelle. Wenn der MCP-Server im ReadWrite Zugriffsmodus bereitgestellt wird, ermöglicht das Token auch Erstellungs-, Aktualisierungs- und Löschvorgänge. Weitere Informationen finden Sie in der MCP-Tools-Spezifikation im Entwicklerhandbuch.

Seite mit den Anmeldeinformationen für den MCP Server mit Endpunkt und Zugriffstoken

Schritt 2: Testen Sie mit MCP Inspector

Das Model Context Protocol bietet MCP Inspector, ein Tool, mit dem Sie direkt eine Verbindung zu MCP-Servern herstellen und Tools aufrufen können. Dies bietet eine praktische Benutzeroberfläche und Beispielnetzwerkanforderungen zum Testen Ihrer MCP-Serververbindung vor der Konfiguration von AI-Clients.

Anmerkung

MCP Inspector benötigt Version 0.17 oder höher. Alle Anfragen können auch direkt mit JSON RPC gestellt werden, MCP Inspector bietet jedoch eine benutzerfreundlichere Oberfläche.

Installieren und starten Sie MCP Inspector

  1. Installieren Sie npm, falls erforderlich.

  2. Führen Sie den folgenden Befehl aus, um MCP Inspector zu starten:

    npx @modelcontextprotocol/inspector

Konfigurieren Sie die Verbindung

  1. Geben Sie in der MCP Inspector-Oberfläche Ihre MCP Server-Endpunkt-URL ein.

  2. Fügen Sie einen Autorisierungs-Header mit Ihrem Zugriffstoken hinzu.

  3. Wählen Sie Verbinden, um die Verbindung herzustellen.

Der Konfigurationsbildschirm von MCP Inspector

Werkzeuge aufrufen

Sobald die Verbindung hergestellt ist, können Sie die verfügbaren MCP-Tools testen:

  1. Durchsuchen Sie die Liste der verfügbaren Tools im linken Bereich.

  2. Wählen Sie ein Tool aus (z. B.list_scenarios).

  3. Geben Sie alle erforderlichen Parameter an.

  4. Wählen Sie Aufrufen, um das Tool auszuführen und die Antwort anzuzeigen.

MCP Inspector zeigt die verfügbaren Tools und den Aufruf

Schritt 3: Konfigurieren Sie KI-Entwicklungsclients

Nachdem Sie Ihre MCP Server-Verbindung mit MCP Inspector überprüft haben, können Sie Ihren bevorzugten AI-Entwicklungsclient konfigurieren.

Kiro CLI

Kiro CLI (ehemals Amazon Q Developer CLI) bietet Befehlszeilenzugriff auf die AI-assisted Entwicklung mit MCP Server-Integration.

Schritte zur Konfiguration

  1. Bearbeiten Sie die mcp.json Konfigurationsdatei. Weitere Informationen zum Speicherort der Konfigurationsdatei finden Sie unter Model Context Protocol (MCP) in der Kiro CLI-Dokumentation.

  2. Fügen Sie Ihre DLT MCP Server-Konfiguration hinzu:

    { "mcpServers": { "dlt-mcp": { "type": "http", "url": "https://<gateway-id>.gateway.bedrock-agentcore.<region>.amazonaws.com/mcp", "headers": { "Authorization": "Bearer <access-token>" } } } }

Ersetzen Sie <gateway-id> und <region> durch die Werte aus Ihrer MCP Server-Endpunkt-URL und durch den Wert, <access-token> den Sie in Schritt 1 kopiert haben.

Überprüfen Sie die Konfiguration

  1. Geben Sie in einem Terminal ein, kiro-cli um Kiro CLI zu starten.

  2. Geben Sie /mcp ein, um alle verfügbaren MCP-Server anzuzeigen.

  3. Geben Sie ein/tools, um die verfügbaren Tools anzuzeigen, die von dlt-mcp und anderen konfigurierten MCP-Servern bereitgestellt werden.

  4. Stellen Sie sicher, dass die Initialisierung dlt-mcp erfolgreich ist.

Cline

Cline ist ein KI-Codierungsassistent, der die MCP Server-Integration unterstützt.

Schritte zur Konfiguration

  1. Navigieren Sie in Cline zu MCP-Server verwalten > Konfigurieren > MCP-Server konfigurieren.

  2. Aktualisieren Sie die Datei: cline_mcp_settings.json

    { "mcpServers": { "dlt-mcp": { "type": "streamableHttp", "url": "https://<gateway-id>.gateway.bedrock-agentcore.<region>.amazonaws.com/mcp", "headers": { "Authorization": "Bearer <access-token>" } } } }

    Ersetzen Sie <gateway-id> und <region> durch die Werte aus Ihrer MCP Server-Endpunkt-URL und <access-token> durch den Wert, den Sie in Schritt 1 kopiert haben.

  3. Speichern Sie die Konfigurationsdatei.

  4. Starten Sie Cline neu, um die Änderungen zu übernehmen.

Amazon Quick

Amazon Quick (ehemals Amazon Quick Suite) bietet eine umfassende KI-Assistentenplattform mit Unterstützung für MCP-Serveraktionen.

Voraussetzungen

Bevor Sie den MCP-Server in Amazon Quick konfigurieren, müssen Sie die OAuth-Anmeldeinformationen aus dem Cognito-Benutzerpool Ihrer DLT-Bereitstellung abrufen:

  1. Navigieren Sie zur AWS-Konsole. CloudFormation

  2. Wählen Sie den Distributed Load Testing-Stack aus.

  3. Suchen Sie auf der Registerkarte Ausgaben die Cognito-Benutzerpool-ID, die Ihrer DLT-Bereitstellung zugeordnet ist, und kopieren Sie sie.

  4. Navigieren Sie zur Amazon-Cognito-Konsole.

  5. Wählen Sie den Benutzerpool anhand der Benutzerpool-ID aus den CloudFormation Ausgaben aus.

  6. Wählen Sie in der linken Navigationsleiste App-Integration > App-Clients aus.

  7. Suchen Sie den App-Client, dessen Name auf m2m (Machine-to-Machine) endet, und wählen Sie ihn aus.

  8. Kopieren Sie auf der Seite mit den App-Client-Details die Client-ID. Um das Client-Geheimnis anzuzeigen, wählen Sie „Client-Geheimnis anzeigen“ und kopieren Sie dann den Wert.

  9. Kehren Sie zum Benutzerpool zurück und rufen Sie die Benutzerpool-Domain von der Registerkarte Domain ab.

  10. Erstellen Sie die Token-Endpunkt-URL, indem /oauth2/token Sie sie an das Ende der Domäne anhängen.

Schritte zur Konfiguration

  1. Erstellen Sie in Amazon Quick einen neuen Agenten oder wählen Sie einen vorhandenen Agenten aus.

  2. Fügen Sie eine Agentenaufforderung hinzu, die beschreibt, wie Sie mit dem DLT MCP Server interagieren.

  3. Fügen Sie eine neue Aktion hinzu und wählen Sie die MCP-Serveraktion aus.

  4. Konfigurieren Sie die MCP-Serverdetails:

    • MCP Server-URL: Ihr DLT MCP-Endpunkt

    • Authentifizierungstyp: Authentifizierung Service-based

    • Token-Endpunkt: Ihre Cognito-Token-Endpunkt-URL

    • Client-ID: Die Client-ID aus dem M2M-App-Client

    • Client Secret: Das Client-Geheimnis aus dem M2M-App-Client

  5. Speichern Sie die Aktionskonfiguration des MCP-Servers.

  6. Fügen Sie Ihrem Agenten die neue MCP-Serveraktion hinzu.

Starten und testen Sie den Agenten

  1. Starten Sie den Agenten in Amazon Quick.

  2. Starten Sie ein Gespräch mit dem Agenten mithilfe von Eingabeaufforderungen in natürlicher Sprache.

  3. Der Agent verwendet die MCP-Tools, um Ihre Lasttestdaten abzurufen und zu analysieren.

Rotieren Sie das MCP Server-Client-Geheimnis

Wenn Sie die dienstbasierte Authentifizierung (Maschine-zu-Maschine) verwenden, um einen MCP-Client mit der Lösung zu verbinden, sind Sie dafür verantwortlich, das vom Client verwendete Client-Geheimnis zu rotieren.

Für welche Anmeldeinformationen gilt das

Die Lösung stellt zwei verschiedene MCP-Anmeldeinformationen aus. Nur einer von ihnen erfordert eine manuelle Drehung.

Credential Verwendet von Rotation (Drehung)

Benutzerzugriffstoken — wurde von der MCP-Server-Seite der Webkonsole kopiert

MCP Inspector, Kiro CLI, Cline und andere Clients, die einen Header senden Authorization: Bearer

Keine erforderlich. Dies ist ein kurzlebiges Amazon Cognito-Zugriffstoken, das ungefähr eine Stunde nach seiner Ausstellung abläuft. Um ein neues Token zu erhalten, kehren Sie zur MCP-Serverseite zurück und kopieren Sie es erneut.

Machine-to-machine Client-ID und geheimer Client-Schlüssel — abgerufen aus dem Amazon Cognito-Benutzerpool

Amazon Quick und jeder andere Client, der für die dienstbasierte Authentifizierung konfiguriert ist

Manuelles Drehen erforderlich. Das Client-Geheimnis ist langlebig und läuft nicht von selbst ab.

Der Rest dieses Abschnitts bezieht sich auf das Client-Geheimnis von Maschine zu Maschine. Die Lösung erstellt diese Anmeldeinformationen als Amazon Cognito-App-Client, der <stack-name>-userpool-client-m2m bei der Bereitstellung mit der Einstellung Deploy Optional MCP Server auf benannt wird. Yes Anweisungen zum Abrufen finden Sie in den Voraussetzungen in Amazon Quick. Amazon Quick

Wichtig

Behandeln Sie den Client Secret wie jeden anderen langlebigen Berechtigungsnachweis:

  • Übergeben Sie es nicht der Quellcodeverwaltung, betten Sie es nicht in den Anwendungscode ein und fügen Sie es nicht in Issue-Tracker, Chat oder Dokumentation ein.

  • Schreiben Sie es nicht in Logs, in die Build-Ausgabe oder in die CI/CD Job-Ausgabe.

  • Speichern Sie es in einem Secrets Manager wie AWS Secrets Manager oder im verschlüsselten Anmeldeinformationsspeicher des MCP-Clients, der es verwendet. Bewahren Sie es nicht in einer Klartextdatei auf.

  • Gewähren Sie nur denjenigen Zugriff auf das Geheimnis, die es benötigen, z. B. Ihnen und den Diensten, die das Geheimnis nutzen.

Empfohlene Schrittfrequenz

Rotieren Sie den geheimen Client-Schlüssel von Maschine zu Maschine mindestens alle 90 Tage. Rotieren Sie sofort, außerhalb des regulären Zeitplans, wenn einer der folgenden Fälle eintritt:

  • Sie vermuten oder bestätigen, dass das Geheimnis gelüftet wurde.

  • Ein Operator mit Zugriff auf das Geheimnis verlässt das Team oder wechselt die Rollen.

  • Sie schalten einen MCP-Client aus, der mit dem Secret konfiguriert wurde.

Rotieren Sie das Geheimnis

Ein Amazon Cognito-App-Client unterstützt bis zu zwei aktive Client-Geheimnisse gleichzeitig. Rotieren Sie, indem Sie ein zweites Geheimnis hinzufügen, Ihre MCP-Clients dorthin migrieren und dann das Original löschen — ohne Unterbrechung des MCP-Zugriffs.

Die Client-ID ändert sich während der Rotation nicht, sodass Sie den CloudFormation AWS-Stack der Lösung, den MCP Server-Endpunkt oder den Token-Endpunkt nicht aktualisieren müssen. Nur der in Ihrem MCP-Client gespeicherte geheime Wert ändert sich.

  1. Fügen Sie ein zweites Client-Geheimnis hinzu. Amazon Cognito generiert den Wert und gibt ihn in der Antwort zurück.

    aws cognito-idp add-user-pool-client-secret \ --user-pool-id <user-pool-id> \ --client-id <m2m-client-id> \ --region <region>
    Wichtig

    Kopieren Sie das ClientSecretValue aus der Antwort und speichern Sie es sicher, bevor Sie fortfahren. Amazon Cognito gibt den generierten geheimen Wert nur in dieser Antwort zurück und gibt ihn nie wieder preis — list-user-pool-client-secrets weder die Amazon Cognito-Konsole wird ihn anzeigen. Wenn Sie den Wert verlieren, löschen Sie das Geheimnis und fügen Sie ein neues hinzu.

    Das ursprüngliche Geheimnis bleibt zu diesem Zeitpunkt gültig, sodass jeder MCP-Client, der noch damit konfiguriert ist, weiterhin funktioniert.

  2. Aktualisieren Sie jeden MCP-Client, um das neue Geheimnis zu verwenden. Bearbeiten Sie für Amazon Quick die MCP-Serveraktion und ersetzen Sie den Wert Client Secret, wobei die MCP-Server-URL, der Token-Endpunkt und die Client-ID unverändert bleiben. Speichern Sie die Aktion.

  3. Vergewissern Sie sich, dass das neue Geheimnis Token ausgibt. Fordern Sie vom Token-Endpunkt Ihres Benutzerpools die Erteilung von Client-Anmeldeinformationen an.

    curl -X POST https://<user-pool-domain>/oauth2/token \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'grant_type=client_credentials' \ -d 'client_id=<m2m-client-id>' \ -d 'client_secret=<new-client-secret>' \ -d 'scope=dlt-mcp-gateway/read'

    Eine erfolgreiche Antwort enthält ein access_token Feld. Bestätigen Sie dann den durchgängigen Zugriff, indem Sie ein MCP-Tool von dem Client aus aufrufen, den Sie neu konfiguriert haben. Bitten Sie beispielsweise den Agenten, Ihre Testszenarien aufzulisten.

  4. Listen Sie die Geheimnisse des Clients auf, um das Original zu identifizieren. Jedes Geheimnis wird ClientSecretId im Format durch ein gekennzeichnet <client-id>--<epoch-create-time> . Verwenden Sie das ClientSecretCreateDate Feld, um das ursprüngliche Geheimnis von dem zu unterscheiden, das Sie gerade hinzugefügt haben.

    aws cognito-idp list-user-pool-client-secrets \ --user-pool-id <user-pool-id> \ --client-id <m2m-client-id> \ --region <region>
  5. Machen Sie das ursprüngliche Geheimnis ungültig. Nach diesem Aufruf gibt Amazon Cognito keine Token mehr an Kunden aus, die das alte Geheimnis präsentieren.

    aws cognito-idp delete-user-pool-client-secret \ --user-pool-id <user-pool-id> \ --client-id <m2m-client-id> \ --client-secret-id <old-client-secret-id> \ --region <region>
Anmerkung

Beim Rotieren gelten zwei Einschränkungen:

  • Ein App-Client kann maximal zwei Geheimnisse haben. Wenn zwei bereits vorhanden sind, löschen Sie das, was Sie nicht mehr benötigen, bevor Sie ein weiteres hinzufügen.

  • Sie können das letzte verbleibende Geheimnis auf einem App-Client nicht löschen.

Der add-user-pool-client-secret Befehl akzeptiert auch einen optionalen --client-secret Parameter für die Angabe Ihres eigenen Werts. Wenn Sie einen Wert angeben, gibt Amazon Cognito ihn nicht in der Antwort zurück. Sie müssen ihn also speichern, bevor Sie den Anruf tätigen. Wir empfehlen, Amazon Cognito das Geheimnis generieren zu lassen.

Wenn das Geheimnis gelüftet wurde

Führen Sie den Vorgang mithilfe der vorherigen Schritte durch und schließen Sie Schritt 5 (Löschen des alten Geheimnisses) so schnell wie möglich ab, anstatt auf ein Wartungsfenster zu warten. Ergreifen Sie dann die folgenden zusätzlichen Maßnahmen.

  • Konto für bereits ausgegebene Token. Das Löschen eines Geheimnisses verhindert, dass Amazon Cognito neue Token ausgibt, aber Zugriffstoken, die mit dem offengelegten Geheimnis erhalten wurden, bleiben gültig, bis sie ablaufen — bis zu etwa einer Stunde. Durch das Löschen des Geheimnisses werden sie nicht ungültig.

  • Beschränken Sie, was diese Token tun können. Wenn Ihre Bereitstellung ReadWrite den Zugriffsmodus verwendet, führen Sie ein CloudFormation AWS-Stack-Update durch, wobei der MCP Server Access Mode auf ReadOnly eingestellt ist. Dadurch werden die Schreibwerkzeuge entfernt und die IAM-Berechtigungen der MCP Server Lambda-Funktion auf GET Anfragen beschränkt, sodass ausstehende Token keine Testszenarien erstellen, ändern, löschen oder starten können. Informationen zum Verhalten der einzelnen Zugriffsmodi finden Sie in der MCP-Tools-Spezifikation im Entwicklerhandbuch.

  • Prüfen Sie, wofür die Anmeldeinformationen verwendet wurden. Überprüfen Sie den Testlaufverlauf der Lösung und die Amazon CloudWatch Logs für die MCP Server Lambda-Funktion auf unerwartete Aktivitäten. Wenn bei der Bereitstellung der ReadWrite Zugriffsmodus verwendet wurde, überprüfen Sie auch Ihre Testszenarien und den Inhalt des public/test-scenarios/ Präfixes des Szenario-Buckets auf unbefugte Änderungen.

Anmerkung

Um alle MCP-Anfragen unabhängig von der Token-Gültigkeit sofort abzulehnen, führen Sie ein Stack-Update durch, bei dem Deploy Optionalen MCP Server auf eingestellt ist. No Dadurch wird das Gateway gelöscht. AgentCore

Verwenden Sie dies nur, wenn Sie sicherstellen müssen, dass kein ausstehendes Token den MCP-Server erreichen kann. Wenn Sie den Parameter auf setzen, wird No auch der App-Client von Maschine zu Maschine gelöscht. Wenn Sie ihn auf zurücksetzen, Yes wird ein neuer App-Client mit einer neuen Client-ID und einem neuen Schlüssel erstellt. Anschließend müssen Sie jeden MCP-Client sowohl mit der neuen Client-ID als auch mit dem neuen Geheimnis neu konfigurieren.

Beispiele für Prompts

Die folgenden Beispiele zeigen, wie Sie mit Ihrem KI-Assistenten interagieren, um Lasttestdaten über die MCP-Schnittstelle zu analysieren. Passen Sie die Test-IDs, Datumsbereiche und Kriterien an Ihre spezifischen Testanforderungen an.

Detaillierte Informationen zu den verfügbaren MCP-Tools und ihren Parametern finden Sie in der MCP-Tools-Spezifikation im Entwicklerhandbuch.

Einfache Abfrage der Testergebnisse

Die Interaktion mit dem MCP Server in natürlicher Sprache kann so einfach Show me the load tests that have completed in the last 24 hours with their associated completion status oder aussagekräftiger sein wie

Use list_scenarios to find my load tests. Then use get_latest_test_run to show me the basic execution data and performance metrics for the most recent test. If the results look concerning, also get the detailed performance metrics using get_test_run.

Interaktive Leistungsanalyse mit schrittweiser Offenlegung

I need to analyze my load test performance, but I'm not sure which specific tests to focus on. Please help me by: 1. First, use list_scenarios to show me available test scenarios 2. Ask me which tests I want to analyze based on the list you show me 3. For my selected tests, use list_test_runs to get the test run history 4. Then use get_test_run with the test_run_id to get detailed response times, throughput, and error rates 5. If I want to compare tests, use get_baseline_test_run to compare against the baseline 6. If there are any issues, use get_test_run_artifacts to help me understand what went wrong Please guide me through this step by step, asking for clarification whenever you need more specific information.

Validierung der Produktionsbereitschaft

Help me validate if my API is ready for production deployment: 1. Use list_scenarios to find recent test scenarios 2. For the most recent test scenario, use get_latest_test_run to get basic execution data 3. Use get_test_run with that test_run_id to get detailed response times, error rates, and throughput 4. Use get_scenario_details with the test_id to show me what load patterns and endpoints were tested 5. If I have a baseline, use get_baseline_test_run to compare current results with the baseline 6. Provide a clear go/no-go recommendation based on the performance data 7. If there are any concerns, use get_test_run_artifacts to help identify potential issues My SLA requirements are: response time under [X]ms, error rate under [Y]%.

Analyse des Leistungstrends

Analyze the performance trend for my load tests over the past [TIME_PERIOD]: 1. Use list_scenarios to get all test scenarios 2. For each scenario, use list_test_runs with start_date and end_date to get tests from that period 3. Use get_test_run for the key test runs to get detailed metrics 4. Use get_baseline_test_run to compare against the baseline 5. Identify any significant changes in response times, error rates, or throughput 6. If you detect performance degradation, use get_test_run_artifacts on the problematic tests to help identify causes 7. Present the trend analysis in a clear format showing whether performance is improving, stable, or degrading Focus on completed tests and limit results to [N] tests if there are too many.

Fehlerbehebung bei fehlgeschlagenen Tests

Help me troubleshoot my failed load tests: 1. Use list_scenarios to find test scenarios 2. For each scenario, use list_test_runs to find recent test runs 3. Use get_test_run with the test_run_id to get the basic execution data and failure information 4. Use get_test_run_artifacts to get detailed error messages and logs 5. Use get_scenario_details to understand what was being tested when it failed 6. If I have a similar test that passed, use get_baseline_test_run to identify differences 7. Summarize the causes of failure and suggest next steps for resolution Show me the most recent [N] failed tests from the past [TIME_PERIOD].