Introduzione a MCP Apps e al loro valore per le imprese
Gli assistenti aziendali tradizionali rispondono quasi sempre con testo, il che si rivela poco efficace per compiti visivi o multi‑step dove ogni modifica richiede un nuovo turno di conversazione. Il Model Context Protocol (MCP), definito nella specifica SEP‑1865, risolve questo problema associando ogni strumento a un’interfaccia utente viva.
In Gemini Enterprise l’interfaccia viene visualizzata all’interno del flusso di chat tramite un iframe sandboxed, che può espandersi a schermo intero o a un pannello laterale. Le modifiche avvengono localmente, mentre il workspace e l’assistente rimangono sincronizzati.
Utilizzando MCP Apps non è necessario ricostruire le fondamenta della piattaforma: Gemini fornisce l’accesso tramite workforce sign‑in, la gestione dei dati governata e l’assistente predefinito, mentre lo sviluppatore ospita il proprio server MCP su un servizio privato Cloud Run.
Evoluzione degli assistenti aziendali e i tre benefici chiave delle app MCP
Gli assistenti aziendali sono passati attraverso tre generazioni:
- Generazione 1 (chatbot di testo): restituiscono markdown statico senza controlli interattivi.
- Generazione 2 (strumenti MCP standard): invocano API live, ma producono solo testo statico; ogni cambiamento richiede un nuovo turno del modello.
- Generazione 3 (app MCP interattive): abbinano ogni strumento a un workspace vivo; le regolazioni avvengono nel widget senza turno di modello, mantenendo l’assistente in sync.
Implementare le app MCP su Gemini porta sei vantaggi fondamentali:
- Esperienza reattiva: azioni a click unico vengono eseguite direttamente nel pannello senza round‑trip di chat.
- Flussi di lavoro dedicati: visualizzazioni di redazione per revisione legale, viewer 3D per CAD, modelli di sensibilità per finanza.
- Sicurezza aziendale: OAuth per il workforce, ingress privato su Cloud Run e iframe sandboxed proteggono tutti gli strati.
- Governance human‑in‑the‑loop: esperti ispezionano e approvano azioni critiche prima dell’esecuzione.
- Standard aperto: portabilità su host compatibili con fallback testuale automatico.
- Connettività estesa: integrazione con BigQuery, Agent Platform, Cloud Storage o sistemi ERP/CRM interni.
Architettura ad alto livello
Il sistema è suddiviso in tre livelli decoupled, ciascuno comunicante solo con il vicino:
- Browser client: mostra la chat e il widget MCP nel pannello laterale.
- Gemini Enterprise: l’assistente predefinito chiama gli strumenti, il proxy AppBridge inoltra i messaggi del widget e il connettore gestisce OAuth.
- Google Cloud (progetto dell’utente): l’app MCP è distribuita su Cloud Run, espone un endpoint JSON‑RPC (/mcp), gestisce job in background e serve il widget HTML monofile.
Questa separazione consente a Gemini Enterprise di applicare politiche di sicurezza e routing in modo centralizzato.
Autenticazione a due livelli indipendenti
Ogni utente effettua l’accesso tramite OAuth 2.0. Per ogni chiamata, Gemini Enterprise invia due token: il token dell’agente di servizio e il token OAuth dell’utente.
Layer 1 – Cloud Run IAM: implementato al bordo di Google, risponde alla domanda “qual è il servizio autorizzato a chiamare?”. L’accesso pubblico è disabilitato; le richieste non autorizzate ricevono HTTP 403.
Layer 2 – OAuth interno all’app: gestito dentro l’applicazione, risponde alla domanda “qual è l’utente che chiama?”. Un fallimento di verifica restituisce HTTP 401, costringendo l’utente a rieffettuare il login.
Poiché Cloud Run IAM non può distinguere gli utenti finali, entrambi gli strati sono necessari. Le chiamate outbound utilizzano un service account con privilegi minimi.
Procedura completa di build, deploy e registrazione
Segue una checklist dettagliata per creare e collegare la tua app MCP a Gemini Enterprise.
- Costruisci il server MCP: espone
POST /mcpe un widget HTMLui://. Puoi usare l’MCP Apps SDK o Google Antigravity per generare uno starter con il comandocreate‑mcp‑app(vedi repository GitHub). - Definisci il flusso di lavoro: descrivi i dati di input, i controlli UI nel pannello laterale e le azioni di approvazione o esportazione.
- Genera il widget: file HTML monofile, backend HTTP streamable (risposte async <2 s, polling
getappstate). - Distribuisci su Cloud Run: usa
gcloud run deploy.--source . --no-allow-unauthenticated --no-cpu-throttling --min-instances=1 - Abilita le API necessarie: Cloud Run, Discovery Engine, Agent Platform e Organization Policy.
- Concedi il ruolo invoker:
roles/run.invokerall’agente di servizio Discovery Engine (Layer 1). - Crea un client OAuth 2.0 Web: redirect URI
https://vertexaisearch.cloud.google.com/oauth-redirect(Layer 2). - Override del vincolo:
discoveryengine.managed.disableCustomMcpServerConnectore completa i prerequisiti (ruoloroles/discoveryengine.editor,allowedEgressFqdns,custom_mcpinallowedDataSources). - Registra il connettore: in Google Cloud Console, Gemini Enterprise → Data stores → Crea data store → scegli “Custom MCP Server”. Compila i campi:
Campo Valore MCP Server URL https://<tuo‑cloud‑run‑service>.run.app/mcp Authorization URL https://accounts.google.com/o/oauth2/v2/auth Token URL https://oauth2.googleapis.com/token Client ID e Secret Il tuo client OAuth web Scopes openid email profile Enable PKCE Support Checked (raccomandato) Use HTTP Basic Auth Unchecked (evita errori invalid_client) - Abilita le azioni: Gemini Enterprise importa gli strumenti del server MCP come azioni; per default sono disabilitate. Vai su Data stores → [Il tuo store] → Actions, clicca “Reload custom actions” (chiama
tools/list), seleziona gli strumenti visibili al modello e premi “Enable actions”. - Collega il data store all’app: Gemini Enterprise → Apps → [La tua app] → Connected data stores → Add existing data stores, scegli il tuo MCP data store. Non usare “Add Agent”, riservato a sub‑agent esterni.
Best practice e ottimizzazioni operative
Per garantire performance e affidabilità, segui queste raccomandazioni:
- Tempo di risposta: mantieni le risposte degli strumenti sotto i 2 secondi; usa operazioni asincrone e polling efficiente.
- Scaling: imposta
--min-instances=1per ridurre latenza di cold start; considera--max-instancesin base al carico previsto. - Logging e monitoring: collega Cloud Run a Cloud Logging e Cloud Monitoring; imposta alert su errori 401/403 e latenza > 3 s.
- Sicurezza dei dati: utilizza VPC‑Connector per accedere a risorse private; verifica le policy di egress per limitare le chiamate verso internet.
- Versionamento del widget: mantieni il file HTML in Cloud Storage con versioning attivo; così il widget può essere aggiornato senza downtime.
Esempio pratico: revisione legale con visualizzazione di redazione
Immagina un tool MCP che carica documenti PDF sensibili e offre un’interfaccia di redazione visuale. L’utente apre il documento nel pannello laterale, evidenzia le parti da censurare e, grazie al workflow human‑in‑the‑loop, un legale approva le modifiche prima che il modello le accetti. Tutto avviene senza lasciare la chat, riducendo i turni di modello da 5 a 1.
Conclusioni e prossimi passi
Le MCP Apps rappresentano il salto di qualità per gli assistenti aziendali, combinando interattività, sicurezza e governance in un’unica soluzione integrata con Gemini Enterprise. Seguendo la procedura descritta – dalla costruzione del server MCP, al deployment su Cloud Run, fino alla registrazione e attivazione delle azioni – è possibile portare rapidamente al mercato soluzioni personalizzate per legal, design, finanza e altri settori.
Per sperimentare subito, prova Gemini Enterprise, co‑costruisci con Google Antigravity o consulta la specifica MCP (SEP‑1865). L’ecosistema è pronto a supportare la tua innovazione.
