Mock-Tooling-Server

Die Agent 365 CLI enthält einen Mock-Tooling-Server für Test- und Entwicklungszwecke. Dieser Server simuliert Interaktionen mit einem MCP-Server (Model Context Protocol), sodass Sie die Tooling-Funktionen Ihres Agenten lokal testen können, ohne auf echte Serverimplementierungen angewiesen zu sein. Es deckt keine anderen Agent 365-Funktionen ab.

Vorteile der Nutzung des Simulationsservers

Der Simulationsserver bietet die folgenden Vorteile für die lokale Entwicklung und Tests:

  • Offline-Entwicklung: Testen Sie Ihren Agenten ohne Internetverbindung oder externe Abhängigkeiten.
  • Konsistente Tests: Erhalten Sie vorhersehbare Antworten zum Testen von Randfällen.
  • Debuggen: Alle Anfragen und Antworten in Echtzeit ansehen
  • Schnelle Iteration: Kein Warten auf externe API-Aufrufe oder das Einrichten komplexer Testumgebungen.

Voraussetzungen

Bevor Sie den Simulations-Tooling-Server nutzen, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:

  • Agent 365 CLI installiert – Verwenden Sie den Simulations-Tooling-Server zusammen mit der CLI. Siehe Agent 365 CLI für Installationshinweise.
    • Es wird mindestens Version 1.1.25-Vorschauversion benötigt, um den Installations-Tooling-Server zu verwenden.
  • Beispiel-Agentenprojekt – Ein lokales Agentenprojekt, das mit MCP-Servern verbinden kann. Siehe unser Agent365-Beispiel-Repository für verfügbare Einstiegspunkte.

Simulations-Tooling-Server starten

Verwenden Sie den Befehl a365 Simulations-Tooling-Server für Entwickler starten, um den Simulations-Tooling-Server zu starten.

# Full command
a365 develop start-mock-tooling-server

# Short alias
a365 develop mts

Befehlsoptionen

Der Simulations-Tooling-Server unterstützt die folgenden Optionen:

Option BESCHREIBUNG Standard
-p, --port <port> Portnummer für den Simulations-Tooling-Server 5309
-v, --verbose Aktivieren der ausführlichen Protokollierung FALSE
-?, -h, --help Hilfe und Gebrauchsinformationen anzeigen -
-bg Lassen Sie den Server auf einem neuen Terminal laufen -

Beispiele

Die folgenden Beispiele zeigen gängige Möglichkeiten, den Simulations-Tooling-Server zu starten:

Starten Sie mit den Standardeinstellungen:

a365 develop start-mock-tooling-server

Starten Sie mit einem benutzerdefinierten Port:

a365 develop start-mock-tooling-server -p 8080

Starten Sie mit ausführlicher Protokollierung:

a365 develop start-mock-tooling-server -v

Wenn Sie den Befehl ausführen, erfolgt Folgendes:

  1. Startet den Simulatons-Server auf dem angegebenen Port (Standard: localhost:5309).
  2. Zeigt Serverprotokolle und eingehende Anfragen im Terminal an.

Verwendung des Simulatons-Servers mit Beispielagenten

Um Ihren Beispielagenten mit dem Simulations-Tooling-Server zu verbinden:

Schritt 1: Starten des Simulations-Servers

a365 develop start-mock-tooling-server

Der Server startet und zeigt eine Ausgabe, die dem folgenden Beispiel ähnelt:

info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://localhost:5309
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.

Schritt 2: Konfigurieren Ihres Agents

Setzen Sie die MCP_PLATFORM_ENDPOINT Umgebungsvariable in Ihrem Beispielagenten so, dass sie auf den Simulations-Server verweist:

MCP_PLATFORM_ENDPOINT=http://localhost:5309

Wenn Sie einen benutzerdefinierten Port verwendem, ersetzen Sie 5309 durch Ihre gewählte Portnummer.

Schritt 3: Führen Sie Ihren Agent aus

Starten Sie Ihren Musteragenten wie üblich. Der Agent verbindet sich jetzt mit dem Simulations-Server statt mit den echten MCP-Servern.

Schritt 4: Überwachen Sie die Serveraktivität

Das Simulations-Server-Terminal zeigt an:

  • Eingehende Anfragen Ihres Agents
  • Simulierte Antworten werden zurückgeschickt
  • Verbindungsstatus und Fehler (falls vorhanden)

Beispiele für Server-Protokolle:

info: Microsoft.AspNetCore.Hosting.Diagnostics[1]
      Request starting HTTP/1.1 POST http://localhost:5309/agents/servers/mcp_CalendarTools - application/json 351
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
      Executing endpoint 'HTTP: POST /agents/servers/{mcpServerName}'
info: Microsoft.AspNetCore.Http.Result.JsonResult[3]
      Writing value of type '<>f__AnonymousType14`3' as Json.
info: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
      Executed endpoint 'HTTP: POST /agents/servers/{mcpServerName}'
info: Microsoft.AspNetCore.Hosting.Diagnostics[2]
      Request finished HTTP/1.1 POST http://localhost:5309/agents/servers/mcp_CalendarTools - 200 - application/json;+charset=utf-8 399.1814ms

Beenden des Simulations-Servers

Um den Simulations-Server zu stoppen, drücken Sie Strg+C im Terminal, in dem der Server läuft, oder schließen Sie das Terminalfenster.

Problembehandlung

Dieser Abschnitt enthält Informationen darüber, wie häufige Probleme mit dem Simulations-Tooling-Server behoben werden können.

Trinkgeld

Die Agent 365 Troubleshooting-Anleitung enthält übergeordnete Empfehlungen zur Fehlerbehebung, Best Practices und Links zu Inhalten zur Fehlerbehebung für jeden Abschnitt des Entwicklungszyklus von Agent 365.

Simulations-Server kann nicht gestartet werden

Symptom:Error: Address already in use

Ursache: Ein anderer Prozess verwendet bereits den Standardport (5309) oder den von Ihnen angegebenen Port.

Lösung:

  • Verwenden Sie einen anderen Port.

    a365 develop start-mock-tooling-server -p 8080
    
  • Oder beenden Sie den Prozess, der den Port belegt, und versuchen Sie es erneut.

Agent kann keine Verbindung zum Simulations-Server herstellen

Symptom: Agentenprotokolle zeigen Verbindungsfehler oder Timeouts beim Versuch, den Simulations-Server zu erreichen.

Ursache:

  • Der Simulations-Server läuft nicht.
  • Fehlerhafte MCP_PLATFORM_ENDPOINT Umgebungsvariable.
  • Probleme mit der Firewall- oder Netzwerkkonfiguration.

Lösung:

  1. Überprüfen Sie, ob der Simulationsserver läuft und zeigt „Jetzt hörend auf: http://localhost:5309"
  2. Überprüfen Sie, ob die MCP_PLATFORM_ENDPOINT Umgebungsvariable mit der Serveradresse übereinstimmt.
  3. Stellen Sie sicher, dass keine Firewall die Verbindung auf dem angegebenen Port blockiert.