Server di strumenti simulato

L'interfaccia della riga di comando di Agent 365 include un server di strumenti simulati per sviluppo e test. Questo server simula le interazioni con il server MCP (Model Context Protocol), permettendoti così di testare localmente le funzionalità degli strumenti del tuo agente senza la necessità di implementazioni server effettive. Non copre alcun altra funzionalità di Agent 365.

Vantaggi dell'utilizzo del server simulato

Il server simulato offre i seguenti vantaggi per lo sviluppo e i test in locale:

  • Sviluppo offline: puoi testare il tuo agente senza la connettività Internet o dipendenze esterne.
  • Test coerenti: ricevi risposte prevedibili per i test di casi limite.
  • Debug: puoi visualizzare tutte le richieste e le risposte in tempo reale
  • Iterazione veloce: nessun bisogno di attendere chiamate di API esterne o di configurare ambienti di test complessi.

Prerequisiti

Prima di usare il server di strumenti simulato, assicurati di soddisfare i prerequisiti seguenti:

  • Interfaccia della riga di comando di Agent 365 installata: usa il server di strumenti simulato insieme all'interfaccia della riga di comando. Per le istruzioni di installazione, vedi Interfaccia della riga di comando di Agent 365.
    • Per poter usare il server di strumenti simulato, devi avere almeno la versione 1.1.25-preview.
  • Progetto di agente di esempio: un progetto di agente locale che possa connettersi ai server MCP. Nel repository Agent365-Samples di Microsoft trovi alcuni esempi disponibili che puoi usare come punti di partenza.

Avviare il server di strumenti simulato

Usa il comando a365 develop start-mock-tooling-server per avviare il server di strumenti simulato.

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

# Short alias
a365 develop mts

Opzioni di comando

Il server di strumenti simulato supporta le opzioni seguenti:

Opzione Descrizione Default
-p, --port <port> Numero di porta per il server simulato 5309
-v, --verbose Abilita registrazione dettagliata false
-?, -h, --help Mostrare le informazioni della guida e sull'utilizzo -
-bg Eseguire il server in un nuovo terminale -

Esempi

Gli esempi seguenti mostrano modi comuni per avviare il server di strumenti simulato:

Inizia con le impostazioni predefinite:

a365 develop start-mock-tooling-server

Avvia su una porta personalizzata:

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

Inizia con la registrazione dettagliata:

a365 develop start-mock-tooling-server -v

Il comando che esegui:

  1. Avvia il server simulato sulla porta specificata (predefinita: localhost:5309).
  2. Visualizza i log del server e le richieste in arrivo nel terminale.

Usare un server simulato con agenti di esempio

Per connettere il tuo agente di esempio al server di strumenti simulato:

Passaggio 1: avviare il server simulato

a365 develop start-mock-tooling-server

Il server si avvia e mostra un output simile all'esempio seguente:

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

Passaggio 2: configurare l'agente

Imposta la variabile di ambiente MCP_PLATFORM_ENDPOINT nell'agente di esempio per puntare al server simulato:

MCP_PLATFORM_ENDPOINT=http://localhost:5309

Se usi una porta personalizzata, sostituisci 5309 con il numero di porta che hai scelto.

Passaggio 3: esecuzione dell'agente

Avvia il tuo agente di esempio normalmente. L'agente si connette ora al server simulato invece che ai server MCP effettivi.

Passaggio 4: monitorare l'attività del server

Il terminale del server simulato visualizza:

  • Le richieste in arrivo dal tuo agente
  • Risposte fittizie inviate indietro
  • Lo stato della connessione ed eventuali errori

Log del server di esempio:

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

Fermare il server simulato

Per fermare il server simulato, premi CTRL+C nel terminale su cui è in esecuzione il server oppure chiudi la finestra del terminale.

Risoluzione dei problemi

Questa sezione contiene informazioni su come risolvere i problemi comuni relativi al server di strumenti simulato.

Suggerimento

Guida alla risoluzione dei problemi di Agent 365 contiene raccomandazioni di alto livello per la risoluzione dei problemi, procedure consigliate e collegamenti a contenuti di risoluzione dei problemi per ogni fase del ciclo di vita dello sviluppo di Agent 365.

Il server simulato non si avvia

Sintomo:Error: Address already in use

Causa: un altro processo sta già usando la porta predefinita (5309) o la porta che hai specificato.

Soluzione:

  • Usa un'altra porta.

    a365 develop start-mock-tooling-server -p 8080
    
  • In alternativa, arresta il processo che sta usando la porta e riprova.

L'agente non riesce a connettersi al server simulato

Sintomo: i log dell'agente mostrano errori di connessione o timeout durante i tentativi di raggiungere il server simulato.

Causa:

  • Il server simulato non è in esecuzione.
  • La variabile di ambiente MCP_PLATFORM_ENDPOINT è errata.
  • Problemi di configurazione della rete o del firewall.

Soluzione:

  1. Verifica che il server simulato sia in esecuzione e che mostri "Now listening on: http://localhost:5309"".
  2. Controlla che la variabile di ambiente MCP_PLATFORM_ENDPOINT corrisponda all'indirizzo del server.
  3. Assicurati che nessun firewall blocchi la connessione sulla porta specificata.