Citrix DaaS™ MCP Server locale
Il server MCP Citrix DaaS consente agli agenti AI compatibili con MCP di connettersi al vostro Citrix Virtual Apps and Desktops™ on-premise Delivery Controller™ (DDC). Una volta connessi, gli amministratori possono interrogare le informazioni del sito, analizzare i problemi di sessione e macchina e recuperare le metriche delle prestazioni utilizzando il linguaggio naturale tramite un client AI compatibile.
Il server espone 20 strumenti di sola lettura che coprono Gruppi di distribuzione, Cataloghi macchine, macchine VDA, sessioni, utenti, endpoint e riepiloghi a livello di sito. Tutti gli strumenti sono di sola lettura, nessuna operazione di scrittura viene eseguita sul DDC o sul sito.
Utilizzare query in linguaggio naturale come queste dopo che il Citrix DaaS MCP Server è connesso:
-
Elenca tutti i gruppi di distribuzione in questo sito
-
"Mostrami le macchine in modalità di manutenzione"
-
"Quali sessioni ha l'utente john.smith in questo momento?"
-
"Mostra gli errori di connessione per l'utente jane.doe nelle ultime 24 ore"
-
"Qual è l'utilizzo delle risorse e lo stato della macchina VDA-01?"
-
"Quali macchine multisessione hanno il carico più elevato?"
-
"Mostrami la ripartizione del logon per l'utente john.smith"
-
"Elenca tutti i criteri di gruppo e le loro impostazioni"
-
"Quali connessioni hypervisor sono configurate?"
-
"Mostra il riepilogo orario degli errori di connessione e del numero di sessioni"
Come funziona
Il Citrix DaaS MCP Server locale utilizza il Model Context Protocol (MCP), un protocollo aperto che definisce come gli agenti AI interagiscono con strumenti esterni e fonti di dati. Il protocollo segue un'architettura client-server:
-
Host - L'applicazione che esegue l'agente AI (ad esempio, Claude Code, VS Code con un'estensione MCP).
-
Client - Il componente all'interno dell'host che si connette ai server MCP e richiama gli strumenti.
-
Server - Il Citrix DaaS MCP Server Local, che espone strumenti per interrogare il Delivery Controller.
Il server viene generato all'interno di un container Podman/Docker su una macchina Windows e comunica con il DDC tramite la rete. Quando un amministratore emette una query in linguaggio naturale, il client AI la traduce in una chiamata a uno strumento, il Citrix DaaS MCP Server esegue la query rispetto alle origini dati nel DDC (Studio o Director) e i risultati vengono restituiti al client AI per la visualizzazione.
Sicurezza e autenticazione
Il Citrix DaaS MCP Server Local utilizza le credenziali dell'amministratore di dominio per autenticarsi con il Delivery Controller. Queste credenziali vengono fornite durante la configurazione iniziale e archiviate localmente sulla macchina in cui è installato il server.
Caratteristiche di sicurezza principali:
-
Archiviazione crittografata delle credenziali - Le credenziali dell'amministratore sono archiviate nel Gestore credenziali di Windows (catena di credenziali del sistema operativo), protette dall'account Windows dell'utente connesso. Solo l'utente che ha configurato il server può accedere alle credenziali archiviate.
-
Accesso in sola lettura - Tutti gli strumenti sono strumenti di sola lettura. Il server non crea, modifica o elimina alcuna risorsa sul Delivery Controller o all'interno del sito Citrix Virtual Apps and Desktops.
-
Esecuzione locale - Il server viene eseguito localmente sulla macchina dell'amministratore. Non espone alcun endpoint di rete né accetta connessioni in entrata.
-
Ambito delle credenziali - Il server utilizza le credenziali dell'amministratore DDC configurate per tutte le query. I risultati degli strumenti riflettono le autorizzazioni dell'account configurato.
-
Nessuna esfiltrazione di dati - I risultati delle query vengono restituiti solo al client AI locale. Il server MCP non trasmette dati a servizi esterni.
Nota:
Citrix DaaS MCP Server Local è destinato all'uso da parte dell'amministratore all'interno dell'organizzazione. Non utilizzarlo in ambienti in cui la macchina o il client AI sono accessibili a utenti non autorizzati.
Nota:
Si raccomanda vivamente di utilizzare Windows 11 su una macchina fisica o all'interno di una macchina virtuale con virtualizzazione nidificata abilitata.
Client AI supportati
I seguenti client AI sono stati convalidati con Citrix DaaS MCP Server Local:
| Client AI | Note |
|---|---|
| Claude Code | Agente AI basato su CLI. Aggiungere citrix-daas-mcp-local come server MCP nella configurazione di Claude Code. |
Per connettersi da un client non elencato sopra, il client deve supportare il Model Context Protocol (MCP) con trasporto stdio. Fare riferimento alla documentazione del client per istruzioni sull'aggiunta di un server MCP.
Prerequisiti
-
Sistema operativo Windows 11
-
Node.js 18 o versioni successive (consigliata la versione 20 LTS)
-
Un client AI compatibile con MCP installato sulla stessa macchina
-
Connettività di rete dalla macchina al Citrix® Delivery Controller
-
Un account utente di dominio con ruolo di amministratore Citrix sul sito
-
Citrix Virtual Apps and Desktops 2402 LTSR e versioni successive
Nota:
Citrix DaaS MCP Server Local recupera i dati dalle stesse origini sottostanti di Citrix Director e Studio. Eventuali requisiti minimi o prerequisiti che si applicano a una funzionalità in Director o Studio si applicano anche ai dati corrispondenti disponibili tramite il server MCP. Se una funzionalità richiede una versione VDA specifica, una versione di Citrix Virtual Apps and Desktops o una configurazione per visualizzare i dati in Director, lo stesso requisito deve essere soddisfatto affinché tali dati siano disponibili tramite MCP negli strumenti supportati.
Per iniziare
Installare Node.js
Saltare questa sezione se
node -v riporta già la v18 o superiore. Installare Node.js usando NVM per Windows. Eseguire tutti i comandi in PowerShell.
Fase 1: Verificare se NVM è installato
Eseguire il comando seguente:
nvm version
Se viene visualizzato un numero di versione, NVM è già installato, procedere alla Fase 2. Se il comando non viene riconosciuto, installare NVM per Windows:
winget install -e --id CoreyButler.NVMforWindows
Riavviare PowerShell dopo l'installazione in modo che
nvm sia disponibile nel PATH.
Fase 2: Installare e selezionare Node.js 20
nvm install 20
nvm use <exact_version>
Nota:
Sostituire
<exact_version> con la versione effettiva installata, ad esempio, 20.15.1.
Fase 3: Verificare l'installazione
Eseguire i seguenti comandi e verificare che ciascuno restituisca un numero di versione:
nvm version
node -v
npx -v
Nota:
node -v deve riportare la v18 o superiore.
Installare e configurare il Citrix DaaS MCP Server Local
Fase 1: Ottenere il file del bundle
Scaricare il file del bundle Citrix DaaS MCP Server Local dalla pagina di download di Citrix.
Fase 2: Eseguire il comando di configurazione
Aprire PowerShell come amministratore. Passare alla cartella contenente il file del bundle ed eseguire:
npx -y .\citrix-daas-mcp-local-bundle-<version>.tgz config
Sostituire
<version> con il numero di versione del file bundle scaricato.
Passaggio 3: Completare le richieste interattive
Il comando config richiede i seguenti dettagli dell'ambiente:
| Richiesta | Descrizione |
|---|---|
| Host DDC Citrix | Il nome host del Delivery Controller. |
| IP DDC Citrix | L'indirizzo IP del Delivery Controller. |
| Utente amministratore | Un account amministratore di dominio con autorizzazioni sul DDC (ad esempio, domain\username). |
| Password | La password per l'account amministratore. |
Nota:
Su una macchina senza un runtime di container installato, il comando config ne installa uno automaticamente. Se l'installazione richiede un riavvio, riavviare la macchina e rieseguire il comando config.
Passaggio 4: Verificare l'installazione
Il comando config esegue un self-test integrato al termine della configurazione. Se il self-test si conclude senza errori, il server è pronto per l'uso.
Connettere il server MCP al client AI
Dopo l'installazione, configurare il client AI compatibile con MCP per connettersi al server
citrix-daas-mcp-local. Fare riferimento alla documentazione del client AI per le istruzioni sull'aggiunta di un server MCP.
Nota:
Claude Code viene configurato automaticamente nel passaggio 3. Altri client AI potrebbero richiedere una configurazione manuale.
Per altri client AI (configurazione manuale)
Se si utilizza un client compatibile con MCP diverso, è necessario aggiungere manualmente la configurazione del server utilizzando l'output fornito dal programma di installazione:
-
Copiare il JSON - Lo script di configurazione genera automaticamente un frammento JSON personalizzato contenente i percorsi esatti dei file per la macchina. Copiare l'intero blocco JSON.
-
Aggiornare il client - Incollare il JSON copiato nel file di configurazione MCP del client AI (fare riferimento alla documentazione del client specifico per la posizione esatta del file).
-
Riavviare - Riavviare il client AI o avviare una nuova sessione di chat per caricare la nuova configurazione del server MCP.
Esempio del blocco di configurazione generato da copiare:
{
"citrix-daas-mcp-local": {
"command": "C:\\path\\to\\node.exe",
"args": [
"C:\\path\\to\\daas-mcp-local\\cli.js",
"run"
],
"env": {
"DAAS_MCP_LOCAL_CONFIG": "C:\\path\\to\\config.json"
}
}
}
Una volta connesso, verificare che il server sia caricato e che i suoi strumenti siano disponibili. È possibile eseguire un test inviando una query in linguaggio naturale come "Elenca i Delivery Group in questo sito".
Parametri comuni degli strumenti
Diversi strumenti condividono parametri di input comuni. Le seguenti tabelle descrivono i formati di input accettati dagli strumenti.
Formati dei nomi delle macchine
Gli strumenti che accettano un nome di macchina supportano i seguenti formati:
| Formato | Esempio |
|---|---|
| Canonico (DOMINIO\NOMEHOST) | CTXCO\TestVDA1 |
| Solo nome host | TestVDA1 |
| Nome di dominio completo (FQDN) | TestVDA1.ctxco.local |
Se il nome fornito non corrisponde esattamente a una singola macchina, lo strumento tenta una ricerca fuzzy. Quando più macchine corrispondono, una risposta di chiarimento elenca i candidati.
Formato nome utente
Gli strumenti che accettano un nome utente utilizzano il formato
domain\username (ad esempio, nkgdir\john.smith). La corrispondenza parziale è supportata negli strumenti di ricerca.
Parametri della finestra temporale
Diversi strumenti accettano una finestra temporale per controllare quanto indietro nel tempo recuperare i dati:
| Parametro | Predefinito | Massimo | Utilizzato da |
|---|---|---|---|
latest_hours |
2 ore | 2 ore | get_session_metrics, get_endpoint_metrics |
offset_hours |
2 ore | 7 giorni | get_connection_failures (per utente) |
Strumenti disponibili
Citrix DaaS MCP Server Local espone 20 strumenti organizzati per area. Tutti gli strumenti sono di sola lettura, interrogano il Delivery Controller e restituiscono dati senza modificare alcuna risorsa.
Panoramica del sito
| Strumento | Descrizione |
|---|---|
get_hourly_summaries |
Recupera il numero corrente di errori di connessione per tipo, il numero di macchine VDI e RDS non riuscite per tipo e l'attività delle sessioni connesse nell'ultima ora. |
get_hypervisors_info |
Elenca tutte le connessioni hypervisor o recupera la configurazione dettagliata per un hypervisor specifico. |
get_group_policy_list |
Recupera l'elenco dei criteri di gruppo del sito, inclusi nome del criterio, priorità, stato abilitato, impostazioni e filtri. |
Gruppi di consegna
| Strumento | Descrizione |
|---|---|
search_delivery_groups |
Cerca ed elenca i Delivery Group con filtri su nome, modalità di manutenzione, stato abilitato, tipo di condivisione e supporto sessione. |
get_delivery_group_details |
Recupera informazioni dettagliate su un Delivery Group specifico per nome o ID. |
Cataloghi macchine
| Strumento | Descrizione |
|---|---|
search_machine_catalogs |
Cerca ed elenca i cataloghi di macchine con filtri su nome, macchine fisiche, tipo di allocazione, tipo di provisioning e supporto sessione. |
get_machine_catalog_details |
Recupera informazioni dettagliate su un catalogo di macchine specifico per nome o ID. |
Macchine VDA
| Strumento | Descrizione |
|---|---|
search_vda_machines |
Cerca macchine con filtri su Gruppo di consegna, Catalogo macchine, versione agente, tipo di sistema operativo, tag, modalità di manutenzione, stato di alimentazione, stato di registrazione, stato della sessione e stato di errore. |
get_vda_machine_details |
Recupera informazioni dettagliate su una specifica macchina VDA per nome o ID. |
get_vda_machine_resource_usage |
Analizza le metriche di utilizzo delle risorse della macchina con valutazione dello stato di salute, inclusa la profilazione statistica (media, P95, max), per il rilevamento delle anomalie, il rilevamento dei modelli di saturazione e raccomandazioni attuabili. |
list_top_vda_machines_by_load_index |
Elenca le macchine VDA con sistema operativo multi-sessione più caricate, classificate per indice di carico effettivo. |
Sessioni
| Strumento | Descrizione |
|---|---|
search_sessions |
Cerca sessioni con filtri su utente, macchina, Gruppo di consegna, Catalogo macchine, versione agente, tipo di sistema operativo, stato della sessione, supporto sessione e applicazioni in uso. |
get_session_details |
Recupera i dettagli completi per una sessione specifica tramite ID sessione. |
get_session_metrics |
Recupera le metriche di prestazioni della sessione per un utente o una sessione nelle ultime 2 ore. Un'interruzione nelle metriche all'interno di un intervallo di tempo potrebbe indicare una disconnessione della sessione durante tale periodo. |
get_session_logon_breakdown_metrics |
Recupera le metriche di ripartizione della durata del logon per un utente, mostrando ogni fase del logon con la sua durata, ora di inizio e ora di fine. |
Utenti ed endpoint
| Strumento | Descrizione |
|---|---|
get_active_machines_by_user |
Elenca le macchine VDA su cui un utente ha sessioni attive, inclusi nome macchina, nome DNS, indirizzo IP e versione agente. |
get_active_users_by_machine |
Elenca gli utenti con sessioni attive su una macchina specifica, inclusi nome utente, UPN, nome completo e dominio. |
get_endpoint_metrics |
Recupera le metriche del dispositivo endpoint (client) per un utente o una sessione nelle ultime 2 ore. |
get_connection_failures |
Recupera i tentativi di connessione falliti per un utente (fino agli ultimi 7 giorni) o per ID transazione (fino a 90 giorni), inclusi il motivo del fallimento e lo stato della macchina al momento del fallimento. |
Query avanzate
| Strumento | Descrizione |
|---|---|
run_dynamic_odata |
Esegue query OData personalizzate sul servizio OData di CVAD Monitor. Supporta la paginazione automatica fino a 10.000 righe. |
get_odata_reference |
Istruisce il client AI a recuperare la documentazione OData di Citrix Monitor. Se la documentazione online non è disponibile, lo strumento ripiega sulla documentazione di riferimento inclusa nell'immagine. |
Aggiornare la configurazione
Per modificare qualsiasi impostazione (host DDC, credenziali amministratore e così via), eseguire nuovamente il comando config:
npx -y .\citrix-daas-mcp-local-bundle-<version>.tgz config
Limitazioni note
| Limitazione | Dettagli |
|---|---|
| Finestra delle metriche di sessione ed endpoint | get_session_metrics e get_endpoint_metrics restituiscono dati solo per le ultime 2 ore. |
| Ricerca errori di connessione | get_connection_failures supporta fino a 7 giorni per nome utente. |
| Limite di righe OData | run_dynamic_odata restituisce un massimo di 10.000 righe per query. |
| Limite dello strumento di orchestrazione | Gli strumenti che recuperano i dettagli di configurazione hanno un limite massimo di 500. Gli elenchi di macchine e sessioni potrebbero essere troncati. |
| Connessione a sito singolo | Il server si connette a un solo sito Citrix alla volta. Per interrogare un sito diverso, eseguire nuovamente il comando config e fornire un Delivery Controller da quel sito. |
| Solo esecuzione locale | Il server deve essere eseguito sulla stessa macchina del client AI. La distribuzione di server MCP remoti o ospitati non è supportata. |
Risoluzione dei problemi
Il server locale Citrix DaaS MCP include un comando doctor per la diagnosi dei problemi. Eseguirlo quando il server non si comporta come previsto:
npx -y .\citrix-daas-mcp-local-bundle-<version>.tgz doctor
Il comando doctor ispeziona ogni fase del funzionamento del server e segnala la fase in errore insieme ai passaggi di risoluzione.
Gli strumenti Citrix o il server MCP citrix-daas-mcp-local mancano o sono bloccati dopo il successo del comando config?
Soluzione:
-
Per i client AI diversi da Claude Code, configurare manualmente il server MCP. Per i dettagli, vedere Per altri client AI (configurazione manuale).
-
Se il client AI applica una lista consentita MCP, assicurarsi che
citrix-daas-mcp-localsia consentito. Per i dettagli, consultare la documentazione del client AI. -
Riavviare il client AI o avviare una nuova sessione.
NVM non viene riconosciuto dopo l'installazione?
Soluzione:
-
Chiudere e riaprire PowerShell.
-
Eseguire
nvm versionper confermare che NVM sia nel PATH. -
Se non viene ancora riconosciuto, riavviare la macchina e riprovare.
La versione di Node.js è inferiore alla 18?
Soluzione:
-
Eseguire
nvm install 20per installare Node.js 20. -
Eseguire
nvm use <exact_version>per passare alla versione installata. -
Verificare con
node -v.
L'installazione del runtime del container non riesce durante la configurazione?
Soluzione:
-
Installare Docker Desktop o Podman manualmente sulla macchina.
-
Eseguire nuovamente il comando di configurazione dopo che il runtime del container è disponibile.
Il runtime del container non è pronto dopo l'avvio del sistema?
Soluzione:
-
Riconnettersi al server MCP dopo che il runtime del container ha terminato l'avvio.
Sono in esecuzione più container?
Soluzione:
-
Chiudere tutte le sessioni client AI non più necessarie. I container corrispondenti verranno arrestati automaticamente.
Il server non risponde o restituisce errori?
Soluzione:
-
Eseguire il comando doctor e seguire la correzione segnalata.
-
Verificare la connettività di rete al DDC (confermare che il nome host e l'IP del DDC siano raggiungibili da questa macchina).
-
Verificare che le credenziali dell'amministratore siano corrette e dispongano delle autorizzazioni richieste.
Gli strumenti non vengono caricati nel client AI?
Soluzione:
-
Verificare che il server sia elencato come connesso nell'elenco dei server MCP del client AI.
-
Riavviare la sessione del client AI dopo aver aggiunto il server.
-
Eseguire il comando doctor per confermare che la configurazione del server sia valida.
-
Verificare che Node.js 18 o versione successiva sia installato e disponibile nel PATH.
Le query restituiscono risultati vuoti o errori imprevisti?
Soluzione:
-
Verificare che il DDC sia raggiungibile da questa macchina.
-
Confermare che l'account amministratore configurato disponga delle autorizzazioni richieste sul DDC.
-
Verificare che i servizi del Delivery Controller siano in esecuzione.
-
Eseguire il comando doctor per una diagnostica completa.
Riferimento comandi
| Comando | Scopo |
|---|---|
npx -y .\citrix-daas-mcp-local-bundle-<version>.tgz config |
Installa o riconfigura il runtime del server e del contenitore. Esegue un autotest alla prima installazione. |
npx -y .\citrix-daas-mcp-local-bundle-<version>.tgz doctor |
Diagnostica i problemi con la configurazione del server o la connettività. |