User Manual

awaBerry | Testen: mcpservertest

Führen Sie Integrationstests für den awaBerry MCP-Server durch – validieren Sie den Serverstart, die Tool-Registrierung und die End-to-End-Ausführung von...

Testen: mcpservertest

Zusammenfassung

Diese Seite beschreibt den Prozess zum gründlichen Testen des awaBerry MCP-Servers über seine beiden primären Transportmechanismen: JSON/HTTP und Standard I/O (Stdio). Beide Testabläufe beinhalten die Konfiguration notwendiger Umgebungsvariablen wie mcpServerUrl, projectKey, projectSecret und deviceName. Für die JSON/HTTP-Version validieren Tests die Sitzungsinitialisierung, die Werkzeugauflistung, die Geräteverbindung und die Ausführung von Terminalbefehlen gegen einen HTTP-Endpunkt. Die Stdio-Version führt ähnliche Validierungen durch, indem sie direkt über Standardeingabe/-ausgabe kommuniziert und Client-Interaktionen von Anwendungen wie Claude Desktop simuliert. Die Tests stellen sicher, dass die Kernfunktionalitäten des Servers betriebsbereit und korrekt konfiguriert sind.

Beschreibung

Diese Anleitung erklärt, wie die verschiedenen Transportversionen des awaBerry MCP-Servers getestet werden.

Voraussetzungen

Bevor Sie beginnen, befolgen Sie bitte die Anweisungen im Ordner ../httpservertest, um sicherzustellen, dass die zugrunde liegenden API-Methoden mit Ihrer Projektkonfiguration korrekt funktionieren.

Testen der JSON/HTTP-Version

Dieser Test führt den MCP-Server über einen HTTP-Endpunkt aus, der über JSON kommuniziert.

1. Umgebung konfigurieren

Fügen Sie in der Datei .env im Stammverzeichnis dieses Projekts die folgende Zeile hinzu:

Hinweis: Wenn Ihr Server bereits in einer anderen Umgebung bereitgestellt ist (z. B. Cloudflare), ist es nicht notwendig, den lokalen Server zu starten.

mcpServerUrl="http://localhost:3000/mcp"

Stellen Sie sicher, dass die Datei .env auch die folgenden erforderlichen Umgebungsvariablen enthält, die vom Testskript verwendet werden:

  • projectKey: Der eindeutige Schlüssel Ihres Projekts.
  • projectSecret: Das Geheimnis Ihres Projekts zur Authentifizierung.
  • deviceName: Der Name des Geräts, mit dem eine Verbindung hergestellt werden soll.

2. Server starten

Führen Sie in Ihrem ersten Terminal im Stammverzeichnis des Projekts Folgendes aus:

npm run start:mcp:json

Sie sollten eine Ausgabe ähnlich der folgenden sehen, die anzeigt, dass der Server läuft:

> mcp_server_awaberry@1.0.0 start:mcp
> node mcpserver/awaBerryAgenticMcpServerHttpJson.js

awaberry-mcp-server läuft auf http://localhost:3000/mcp

3. Test ausführen

Führen Sie in einem zweiten Terminal im Stammverzeichnis des Projekts Folgendes aus:

npm run test:mcp:json

Dieser Befehl führt das Skript testMcpServerJson.js aus, das mit dem laufenden JSON-Server interagiert, indem es JSON-RPC 2.0-Anfragen sendet. Der Test führt die folgenden Schritte aus:

  • MCP-Sitzung initialisieren: Sendet eine initialize-Anfrage mit Protokollversion und Client-Informationen.
  • Verfügbare Werkzeuge auflisten: Sendet eine tools/list-Anfrage, um eine Liste der verfügbaren Werkzeuge vom Server abzurufen.
  • Verbindung zum Gerät herstellen: Ruft das Werkzeug connect_to_device mit projectKey, projectSecret und deviceName auf, um eine Geräteverbindung herzustellen und einen sessionToken sowie eine deviceuuid zu erhalten.
  • Terminalbefehl ausführen: Ruft das Werkzeug execute_terminal_command unter Verwendung des erhaltenen sessionToken und der deviceuuid auf, um einen Beispielbefehl (z. B. date) auf dem verbundenen Gerät auszuführen.

Testen der Stdio-Version

Dieser Test führt den MCP-Server über Standardeingabe/-ausgabe (stdio) aus, was der Modus ist, der von Clients wie Claude Desktop verwendet wird.

1. Umgebung konfigurieren

Stellen Sie sicher, dass Ihre Datei .env die folgenden erforderlichen Umgebungsvariablen enthält, ähnlich wie beim JSON/HTTP-Test, da diese für die Geräteverbindung entscheidend sind:

  • projectKey: Der eindeutige Schlüssel Ihres Projekts.
  • projectSecret: Das Geheimnis Ihres Projekts zur Authentifizierung.
  • deviceName: Der Name des Geräts, mit dem eine Verbindung hergestellt werden soll.

2. Server starten

Führen Sie in Ihrem ersten Terminal im Stammverzeichnis des Projekts Folgendes aus:

npm run start:mcp:stdio

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

> mcp_server_awaberry@1.0.0 start:mcp:stdio
> node mcpserver/awaBerryAgenticMcpServerStdio.js

awaberry-mcp-server läuft auf stdio

3. Test ausführen

Führen Sie in einem zweiten Terminal im Stammverzeichnis des Projekts Folgendes aus:

npm run test:mcp:stdio

Dieser Befehl führt das Skript testMcpServerLocalStdio.js aus. Dieses Skript startet den stdio MCP-Server als Kindprozess und kommuniziert mit ihm, indem es JSON-RPC 2.0-Anfragen an seine Standardeingabe schreibt und Antworten von seiner Standardausgabe liest. Der Test führt die folgenden Schritte aus:

  • MCP-Sitzung initialisieren: Sendet eine initialize-Anfrage, um eine Sitzung herzustellen.
  • Verfügbare Werkzeuge auflisten: Fordert eine Liste der verfügbaren Werkzeuge an.
  • Verbindung zum Gerät herstellen: Ruft das Werkzeug connect_to_device auf und stellt projectKey, projectSecret und deviceName bereit, um eine Geräteverbindung herzustellen und den erforderlichen sessionToken sowie die deviceuuid zu erhalten.
  • Terminalbefehl ausführen: Nutzt das Werkzeug execute_terminal_command mit dem erworbenen sessionToken und der deviceuuid, um einen Testbefehl (z. B. date) auszuführen.