Vai al contenuto principale

Tutorial sui server MCP di Google: distribuzione dell’AI agentica su GCP

Esplora l’architettura dei server MCP gestiti di Google e scopri come trasformare gli LLM in operatori proattivi per BigQuery, Maps, GCE e Kubernetes.
· 15 min leggi

Scopri con l'IA

I large language model (LLM) hanno rivoluzionato il modo in cui interagiamo con l’AI, ma sono ancora in gran parte confinati nelle interfacce di chat. Chiedere a un’AI di analizzare i tuoi ultimi dati di vendita in BigQuery o di controllare lo stato di salute di un cluster in GKE richiede in genere di scrivere codice “collante” per ogni strumento, ogni modello e ogni flusso di lavoro.

Entra in gioco i server MCP gestiti di Google: la soluzione enterprise che collega gli agenti AI a una potente infrastruttura Google Cloud come BigQuery, Google Maps, Compute Engine (GCE) e Kubernetes Engine (GKE) senza connettori personalizzati.

Basati sullo standard aperto Model Context Protocol (MCP) di Anthropic, questi server remoti completamente gestiti offrono accesso sicuro e standardizzato, consentendo a qualsiasi client compatibile con MCP (come Gemini CLI o Claude Desktop) di trasformare l’AI in un operatore proattivo.

In questa guida ti mostrerò l’architettura pratica di MCP e del portafoglio di server di Google, e ti accompagnerò passo dopo passo nel distribuire un server MCP pronto per la produzione. Che tu stia ancorando l’AI ai dati aziendali o automatizzando attività DevOps, sarai operativo in pochi minuti.

Nuovo su Google Cloud? Ti consiglio di iniziare con il corso gratuito Introduction to GCP per coprire fatturazione, progetti e servizi di base.

Che cos’è il Model Context Protocol?

Il Model Context Protocol (MCP) è uno standard open-source introdotto da Anthropic a novembre 2024. Funziona come un’interfaccia universale—spesso definita la “USB-C per l’AI”—che standardizza il modo in cui modelli e agenti AI si connettono a fonti dati, strumenti e sistemi esterni.

Prima di MCP, integrare un agente AI con strumenti come database, API o servizi cloud richiedeva la creazione di connettori personalizzati per ogni modello AI (ad esempio, codice separato per Claude, Gemini o GPT). Questo creava un’esplosione di integrazioni frammentate.

MCP risolve il problema definendo un protocollo unico e coerente: gli sviluppatori implementano uno strumento o una fonte dati una sola volta come server MCP, e qualsiasi client AI compatibile con MCP (come Claude Desktop, Gemini CLI o agenti personalizzati) può scoprirlo e usarlo senza soluzione di continuità.

Il vantaggio principale è l’interoperabilità e la riduzione della duplicazione. Scrivi un server MCP per BigQuery una volta, e funzionerà con tutti i modelli AI supportati senza adattatori aggiuntivi. Questo accelera lo sviluppo di sistemi di AI agentica, in cui gli agenti non si limitano a rispondere alle domande, ma ragionano attivamente, interrogano i dati ed eseguono azioni nel mondo reale.

Diagramma architetturale di alto livello MCP

Il client scopre gli strumenti disponibili dai server connessi, l’LLM decide quali chiamare e i risultati tornano per ulteriore ragionamento, il tutto standardizzato tramite il protocollo basato su JSON-RPC di MCP.

Questo design da “traduttore universale” è il motivo per cui Google (e altri) hanno adottato rapidamente MCP: i loro server gestiti si inseriscono direttamente in questo ecosistema, rendendo i servizi Google Cloud immediatamente accessibili a qualsiasi client MCP.

Che cos’è un server MCP di Google?

I server MCP di Google sono implementazioni remote e completamente gestite del Model Context Protocol (MCP). Lanciati a dicembre 2025, questi server di livello enterprise espongono potenti servizi Google Cloud, a partire da BigQuery, Google Maps, GCE e GKE, come strumenti standardizzati e rilevabili che qualsiasi client AI compatibile con MCP può usare immediatamente.

A differenza dei server MCP community o open-source che richiedono self-hosting, manutenzione, scaling e hardening della sicurezza personalizzati, i server gestiti di Google girano sull’infrastruttura di Google. Offrono:

  • Nessun overhead di distribuzione: Basta abilitare il servizio nel tuo progetto e puntare il client all’endpoint ufficiale (ad es., https://bigquery.googleapis.com/mcp).
  • Affidabilità enterprise: Alta disponibilità, scaling automatico ed endpoint globali.
  • Sicurezza integrata: Autenticazione basata su IAM, Model Armor (il firewall LLM di Google per protezione da prompt injection ed esfiltrazione), audit logging e controlli di minimo privilegio.
  • Governance: Abilitazione/disabilitazione centralizzata per progetto o organizzazione.

Questa tecnologia sblocca i flussi di lavoro agentici. Invece di limitarsi a spiegare come funziona una query SQL, l’AI può effettivamente eseguirla in BigQuery, analizzare i risultati e suggerire la prossima mossa di business.

Sebbene questi agenti possano agire in modo autonomo, l’implementazione di Google supporta configurazioni “human-in-the-loop”, assicurando che una persona possa rivedere e approvare modifiche critiche all’infrastruttura prima che avvengano.

Se ti interessa l’automazione del browser con l’AI, ti consiglio di dare un’occhiata al nostro tutorial su Chrome DevTools MCP.

Il portafoglio di server MCP di Google

Google offre un set in crescita di server MCP completamente gestiti che rendono i principali servizi cloud immediatamente disponibili come strumenti per gli agenti AI. Questi server sono categorizzati per funzione, consentendo agli agenti di gestire tutto, dall’analisi dei dati alla gestione dell’infrastruttura, senza codice personalizzato.

L’ecosistema raggruppa i server in due categorie principali:

  • Data intelligence: Incentrati su interrogazione, analisi e grounding su dati reali.
  • Operazioni di infrastruttura: Abilitano il controllo e il monitoraggio delle risorse di calcolo.

Mappa dell’ecosistema MCP di Google

Server di data intelligence

I server MCP per BigQuery e Maps offrono opportunità interessanti per includere i dati nel tuo flusso di lavoro.

BigQuery

Il server MCP di BigQuery consente agli agenti di:

  • Eseguire query SQL direttamente sui dataset
  • Elencare dataset e tabelle disponibili
  • Recuperare metadati di schema e dati di esempio
  • Eseguire job analitici, incluso inferencing ML tramite BigQuery ML

Questo permette agli agenti di eseguire analisi dati complesse, generare report o prevedere trend in autonomia.

Google Maps

Il server MCP di Google Maps è alimentato da Grounding Lite e Places API, e supporta:

  • Geocoding e reverse geocoding
  • Ricerca luoghi e recupero dettagli
  • Calcolo di percorsi e indicazioni
  • Calcolo di matrici delle distanze

Caso d’uso: Business intelligence in tempo reale e ottimizzazione logistica. Un agente può interrogare i dati di vendita in BigQuery, incrociarli con Maps per insight geografici e raccomandare ottimizzazioni dei percorsi di consegna, il tutto in un unico ciclo di ragionamento.

Server per operazioni di infrastruttura

Sul versante infrastrutturale, puoi usare i server MCP di Kubernetes Engine (GKE) e Compute Engine (GCE).

Google Kubernetes Engine

Il server MCP di GKE espone operazioni come:

  • Elencare cluster, nodi e pod
  • Verificare la salute del cluster e l’utilizzo delle risorse
  • Leggere log ed eventi
  • Scalare i deployment (con le opportune autorizzazioni IAM)

Google Compute Engine

Il server MCP di GCE consente di:

  • Elencare, avviare, arrestare e riavviare istanze VM
  • Elencare dischi o tipi di macchina
  • Interrogare metadati e stato delle istanze

Caso d’uso: Troubleshooting automatizzato e “ChatOps” per team DevOps. Un agente può rilevare un crash di un pod tramite gli strumenti GKE, correlare con metriche delle VM da GCE e avviare azioni correttive—riducendo il tempo medio di risoluzione da ore a minuti.

Google continua ad ampliare questo portafoglio (con servizi come Cloud Storage e AlloyDB in anteprima all’inizio del 2026), rendendo sempre più parti di Google Cloud nativamente accessibili agli agenti.

Architettura core dei server MCP di Google

La potenza di MCP risiede nei suoi livelli di comunicazione flessibili ma standardizzati, che permettono connessioni senza attriti sia in prototipazione locale che in esecuzione di agenti pronti per la produzione su larga scala. I server MCP gestiti di Google usano principalmente HTTP streamable remoto per distribuzioni enterprise, mentre lo sviluppo locale sfrutta stdio.

Comunicazione locale via stdio

Il trasporto stdio (standard input/output) è il modo più semplice per eseguire un server MCP. Qui, il client MCP (ad es., Claude Desktop o un agente personalizzato) avvia il server come sottoprocesso sulla stessa macchina, comunicando tramite pipe dirette e senza rete.

Pro:

  • Configurazione estremamente semplice per sviluppo e test
  • Sicurezza intrinseca (nessuna porta esposta o superficie di attacco di rete)
  • Bassa latenza

Contro:

  • Non condivisibile tra macchine o team
  • Scalabilità limitata (legata all’host del client)
  • Nessuna concorrenza integrata per sessioni multiple

Questa modalità è perfetta per sperimentare server MCP personalizzati o testare connessioni prima di passare al remoto.

Architettura del server MCP di Google: locale (stdio) vs remoto (SSE)

Comunicazione remota via HTTP streamable

Per l’uso in produzione e in ambito enterprise, i server gestiti di Google (e quelli personalizzati self-hosted) usano HTTP streamable su un unico endpoint persistente. Questo sostituisce l’approccio precedente con Server-Sent Events (SSE) con un design più robusto che supporta:

  • Richieste HTTP POST per tutte le interazioni
  • Streaming bidirezionale opzionale per risposte grandi o incrementali (ad es., streaming dei risultati BigQuery)
  • ID di sessione per conversazioni stateful
  • Connessioni concorrenti per chiamate parallele multi-strumento

Gli endpoint gestiti di Google seguono un pattern coerente, ad es.:

  • BigQuery: https://bigquery.googleapis.com/mcp
  • Maps: https://mapstools.googleapis.com/mcp
  • Compute: https://compute.googleapis.com/mcp

Tutto il traffico è protetto con ID token Google (OAuth2), assicurando che le chiamate siano autenticate e autorizzate tramite IAM.

Ecco come potrebbe apparire un flusso di sequenza:

  1. Il client invia discovery/richiesta strumenti via POST a /mcp.

  2. Il server valida l’identità e instrada verso il servizio backend.

  3. Il backend esegue (ad es., lancia SQL in BigQuery).

  4. La risposta torna in streaming a chunk (formato JSON-RPC) per gestire efficientemente output di grandi dimensioni.

HTTP streamable

Per iniziare con i server MCP di Google

Uno dei maggiori vantaggi dei server MCP di Google è la ridotta configurazione richiesta rispetto alle alternative self-hosted. Distingueremo chiaramente tra server gestiti e personalizzati man mano che percorriamo i passaggi.

  • Server MCP gestiti di Google: Sono destinati a servizi come BigQuery, Maps, GCE e GKE, e sono completamente ospitati da Google. Non distribuisci nulla—basta abilitare gli endpoint nel tuo progetto, concedere i permessi IAM e configurare il tuo client. Sono pronti all’uso fin da subito.
  • Server MCP personalizzati: Per strumenti interni, API di terze parti o estensioni avanzate, crei e distribuisci il tuo server (ad es., usando la MCP Toolbox di Google). In genere vengono distribuiti su Cloud Run per la scalabilità.

Configurare l’ambiente Google Cloud per i server gestiti

Segui questi passaggi (basati sul tutorial ufficiale) per abilitare e preparare i server MCP gestiti.

Prerequisiti

  • Un progetto Google Cloud con fatturazione abilitata

  • Accesso a Google Cloud Console e Cloud Shell (o gcloud CLI locale)

  • Il tuo account utente è autenticato tramite gcloud auth login

Impostazione del progetto e abilitazione API

  1. Crea o seleziona un progetto nella Google Cloud Console.
  2. Abilita la fatturazione se non l’hai già fatto.
  3. Abilita le API dei servizi core (in Cloud Shell o terminale locale):
gcloud auth list  # Verify you're logged in
gcloud config list project  # Check current project
gcloud config set project YOUR_PROJECT_ID  # If needed

gcloud services enable bigquery.googleapis.com \
  compute.googleapis.com \
  container.googleapis.com \
  mapstools.googleapis.com

Nota che Maps MCP richiede una propria API key per fatturazione e quote. Creane una con il seguente comando:

gcloud alpha services api-keys create --display-name="Maps-MCP-Key"

Copia il keyString mostrato—ti servirà per la configurazione del client.

Abilitare i server MCP gestiti (beta)

I servizi MCP richiedono un’abilitazione esplicita in beta:

export PROJECT_ID=$(gcloud config get-value project)
export USER_EMAIL=$(gcloud config get-value account)

gcloud beta services mcp enable bigquery.googleapis.com --project=$PROJECT_ID
gcloud beta services mcp enable mapstools.googleapis.com --project=$PROJECT_ID
gcloud beta services mcp enable compute.googleapis.com --project=$PROJECT_ID
gcloud beta services mcp enable container.googleapis.com --project=$PROJECT_ID

Configurazione IAM

Concedi al tool MCP un ruolo utente per il tuo account:

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="user:$USER_EMAIL" \
  --role="roles/mcp.toolUser"

Aggiungi ruoli specifici per servizio per l’accesso a minimo privilegio, ad es.:

  • BigQuery: roles/bigquery.jobUser e roles/bigquery.dataViewer

  • Compute/GKE: roles/compute.viewer o roles/container.viewer

I server gestiti sono ora pronti! Endpoint:

  • BigQuery: https://bigquery.googleapis.com/mcp
  • Maps: https://mapstools.googleapis.com/mcp
  • Compute (GCE & GKE): https://compute.googleapis.com/mcp

Distribuire server MCP remoti personalizzati su Cloud Run

Per strumenti personalizzati oltre al portafoglio gestito di Google, crea il tuo server MCP usando librerie come FastMCP (Python) e distribuiscilo su Cloud Run per scalabilità e condivisione tra team. Non entreremo troppo nei dettagli qui, ma daremo una panoramica ad alto livello del processo.

Passaggi ad alto livello:

  1. Crea un progetto Python e aggiungi FastMCP come dipendenza (usando strumenti come uv).

  2. Implementa il codice del tuo server (ad es., server.py) definendo strumenti personalizzati, usando transport="streamable-http".

  3. Scrivi un Dockerfile leggero (basato su python:slim) per installare le dipendenze ed eseguire il server su $PORT.

  4. Abilita le API richieste (Cloud Run, Artifact Registry, Cloud Build).

  5. Distribuisci direttamente dal sorgente o crea/pubblica un container.

  6. Metti in sicurezza il servizio: richiedi autenticazione IAM (--no-allow-unauthenticated), concedi roles/run.invoker ai principal autorizzati e usa identity token per le connessioni dei client.

gcloud run deploy your-mcp-server \
  --source . \
  --region=us-central1 \
  --no-allow-unauthenticated

Questo processo richiede meno di 10 minuti per server semplici e fornisce hosting di livello produzione con auto-scaling.

Configurazione client e integrazione dei server MCP di Google

Un server MCP distribuito (o abilitato) diventa davvero potente quando è connesso a un client AI. Questa sezione copre la configurazione dei client più diffusi per usare i server MCP gestiti da Google e la creazione di agenti programmabili.

Test con MCP Inspector

MCP Inspector offre un’interfaccia web pulita per esplorare qualsiasi server MCP, inclusi quelli gestiti da Google. È particolarmente utile per diagnosticare l’autenticazione, scoprire i nomi/parametri esatti degli strumenti e vedere risposte reali.

Il processo è questo:

  1. Avvia l’Inspector
  2. Connettiti a un server MCP gestito da Google
  3. Esplora e testa gli strumenti

Per avviare l’Inspector, esegui questo comando nel terminale:

npx @modelcontextprotocol/inspector

Questo avvia un server web locale e apre l’UI di Inspector nel tuo browser predefinito.

Ora ci connettiamo a un server MCP di Google. Partiamo da Google Maps come esempio.

Nell’UI di Inspector, a sinistra, configuriamo MCP Inspector per connettersi al nostro server MCP di Google Maps. Segui i passaggi e inserisci le istruzioni e i valori specifici:

  1. Tipo di trasporto: Seleziona Streamable HTTP

  2. URL: Inserisci https://mapstools.googleapis.com/mcp

  3. Tipo di connessione: Scegli via Proxy (gestisce l’autenticazione Google in modo sicuro usando le tue credenziali gcloud con login attivo).

  4. Header personalizzati: Aggiungi un header

    • Chiave: X-Goog-Api-Key

    • Valore: La tua Maps API key (il keyString creato in precedenza).

  5. Fai clic su Connect.

Se tutto va bene, vedrai MCP Inspector connettersi correttamente al server. Nel pannello di destra potrai ottenere gli strumenti supportati dal server MCP di Google Maps cliccando su List Tools.

Esploriamo e testiamo gli strumenti:

  • Seleziona uno strumento per visualizzare il suo schema JSON completo: descrizione, parametri (con tipi e campi obbligatori) ed esempi.
  • Compila i parametri (ad es., query: "best coffee in Pune, Maharashtra") e fai clic su Invoke.
  • I risultati reali appaiono istantaneamente, trasmessi a chunk per risposte di grandi dimensioni.

MCP Inspector

Per i server BigQuery e Compute, il processo è identico ma più semplice, poiché non serve alcun header con API key. L’autenticazione fluisce automaticamente tramite il proxy.

Configurare Gemini CLI

Gemini CLI è l’agente da terminale open-source ufficiale di Google con un’integrazione nativa e profonda per i server MCP. È il modo più fluido per iniziare a creare flussi di lavoro agentici.

Impostare Gemini CLI

Installa Gemini CLI usando il seguente comando:

npm install -g @google/gemini-cli@latest

Aggiungere server e testare la connessione

Useremo ancora Maps come esempio. Per aggiungere il server MCP di Google Maps, usa il seguente comando e ricorda di sostituire YOUR_MAPS_API_KEY con la tua Maps API key creata in precedenza.

gemini mcp add -s user -t http -H 'X-Goog-Api-Key: YOUR_MAPS_API_KEY' maps-grounding-lite-mcp https://mapstools.googleapis.com/mcp

In una nuova sessione Gemini, verifica la connessione con il comando /mcp list.

/mcp list

Nella prima interazione, poniamo una semplice domanda in linguaggio naturale:

“Quali sono alcuni posti economici per fare colazione a New York?”

Gemini seleziona automaticamente gli strumenti di Maps. Una volta che ne accetti l’esecuzione, li chiama e restituisce risultati formattati.

Test della Gemini CLI con il server MCP di Google Maps

Ha funzionato! Abbiamo ottenuto la seguente risposta:

Here are some economical breakfast places in New York:
Good Morning Breakfast is a breakfast restaurant located at 1216 Broadway, New York, NY 10001. It is open from 6:00 AM to 12:00 PM on weekdays and 6:30 AM to 12:30 PM on Saturdays. They serve breakfast and lunch and have vegetarian options. The price range is $1-$10.
Andrews NYC Diner is a diner located at 463 7th Ave, New York, NY 10018. They are open from 6:00 AM to 10:00 PM on weekdays, 6:00 AM to 11:00 PM on Fridays and Saturdays, and 7:00 AM to 11:00 PM on Sundays.
They serve breakfast, lunch, and dinner, and have outdoor seating and a children's menu.
The price range is $10-$20.
George's is an American restaurant located at 89 Greenwich St, New York, NY 10006. They are open from 7:00 AM to 6:00 PM daily. They serve breakfast, lunch, and dinner, and have outdoor seating and a children's menu. The price range is $10-$20.
New York Luncheonette is an American restaurant located at 135 E 50th St, New York, NY 10022. They are open from 7:00 AM to 10:00 PM daily. They serve breakfast, lunch, and dinner, and have a children's menu.
The price range is $10-$20.

Il classico momento “Hello World” in Gemini CLI: elenco pulito degli strumenti dopo aver aggiunto i server, seguito da query in linguaggio naturale che attivano vere chiamate agli strumenti di Maps.

Usare Gemini CLI con il server MCP di Google Maps

Per testare capacità di ragionamento più avanzate in combinazione con i dati di Maps, passiamo il seguente prompt:

"Pianifica un percorso in auto da Mumbai a Goa con una sosta panoramica per pranzo a metà strada. Suggerisci un buon ristorante lì."

Quando invii questo prompt, l’agente AI (Gemini o Claude) esegue un sofisticato ciclo di ragionamento multi-step usando solo gli strumenti MCP di Google Maps:

  1. Calcolo del percorso completo: L’agente chiama compute_routes con origine "Mumbai" e destinazione "Goa". Restituisce una distanza di ~566 km con una durata di ~11 ore e 41 minuti (sensibile al traffico).

  2. Ragionamento sul punto a metà: L’agente calcola che la metà (~280–300 km) cade nella regione del Konkan, in particolare vicino a Chiplun, famosa per le viste sul fiume, i ghati e la bellezza paesaggistica.

  3. Ricerca di ristoranti panoramici: Usa search_places con query orientate a Chiplun/Ratnagiri, filtrando per valutazioni alte, viste all’aperto/panoramiche e disponibilità per il pranzo.

  4. Selezione e descrizione della migliore opzione: Infine, sceglie un posto di spicco (nel tuo caso, The Riverview Restaurant a Chiplun) e ne evidenzia i tavoli all’aperto e l’atmosfera rilassante.

Questa risposta è generata in tempo reale. La durata del percorso proviene direttamente dalla chiamata allo strumento compute_routes che hai visto nell’output di debug, e la raccomandazione del ristorante è fondata su dati reali della Places API: niente fatti hardcoded, niente allucinazioni, solo uso sicuro e aggiornato degli strumenti.

Ecco come la Gemini CLI chiama lo strumento e produce la sua raccomandazione:

compute_routes (maps-grounding-lite-mcp MCP Server) {"destination": {"address": "Goa"}, "origin": {"address": "Mumbai" }}
{
  "routes": [
    {
      "distanceMeters": 566414,
      "duration": "42095s"
    }
  ]
}
* A great place to stop for a scenic lunch on your drive from Mumbai to Goa is Chiplun, which is roughly halfway. I recommend The Riverview Restaurant in Chiplun. It offers outdoor seating and is a great spot to relax and enjoy a meal with a view.
The drive from Mumbai to Goa is approximately 566 km and will take about 11 hours and 40 minutes without stops. Enjoy your trip

Integrazione programmatica con LangChain o LangGraph

Oltre ai client interattivi come Gemini CLI o Claude Desktop, la vera potenza dei server MCP gestiti di Google emerge quando costruisci agenti AI personalizzati e pronti per la produzione in codice. L’ecosistema open-source LangChain lo rende semplice con il pacchetto langchain-mcp-adapters, che trasforma qualsiasi server MCP remoto in strumenti standard LangChain.

Questo approccio ti offre completa visibilità su discovery degli strumenti, autenticazione e invocazione: perfetto per il debug, per creare router di strumenti personalizzati o per integrare in workflow asincroni esistenti.

Usare LangChain per connettersi al server MCP di BigQuery

Per rendere l’idea, vediamo un esempio. Il seguente script completo ed eseguibile dimostra come:

  • Autenticarsi con Google Cloud usando Application Default Credentials

  • Connettersi all’endpoint MCP gestito di BigQuery tramite HTTP streamable

  • Scoprire tutti gli strumenti disponibili

  • Invocare uno strumento specifico (list_dataset_ids) e stampare risultati reali

import asyncio
import google.auth
import google.auth.transport.requests
import httpx

from mcp import ClientSession
from mcp.client.streamable_http import streamable_http_client
from langchain_mcp_adapters.tools import load_mcp_tools

async def list_and_invoke_bigquery():
    # 1. Authenticate with Google Cloud (run: gcloud auth application-default login)
    credentials, project_id = google.auth.default(
        scopes=["https://www.googleapis.com/auth/cloud-platform"]
    )
    auth_request = google.auth.transport.requests.Request()
    credentials.refresh(auth_request)

    url = "https://bigquery.googleapis.com/mcp"
    print(f"Connecting to: {url}...")

    # 2. Setup authenticated HTTP client
    async with httpx.AsyncClient(headers={
        "Authorization": f"Bearer {credentials.token}",
        "x-goog-user-project": project_id,
        "Content-Type": "application/json"
    }) as http_client:
        
        # 3. Establish streamable HTTP transport and MCP session
        async with streamable_http_client(url, http_client=http_client) as (read, write, _):
            async with ClientSession(read, write) as session:
                await session.initialize()
                
                # 4. Discover all tools exposed by Google's BigQuery MCP server
                tools = await load_mcp_tools(session)
                
                print(f"\n--- DISCOVERY: Found {len(tools)} tools ---")
                for tool in tools:
                    print(f"Tool: {tool.name}")
                
                # 5. Invoke a specific tool: list_dataset_ids
                print(f"\n--- INVOCATION: Fetching datasets for project '{project_id}' ---")
                
                dataset_tool = next((t for t in tools if t.name == "list_dataset_ids"), None)
                if dataset_tool:
                    try:
                        result = await dataset_tool.ainvoke({"project_id": project_id})
                        print("SUCCESS! Datasets in your project:")
                        print(result)
                    except Exception as e:
                        print(f"Error invoking tool: {e}")
                else:
                    print("Tool 'list_dataset_ids' not found.")

if __name__ == "__main__":
    asyncio.run(list_and_invoke_bigquery())

Quando eseguito in un progetto GCP configurato correttamente, questo script produce un output simile a:

Connecting to: https://bigquery.googleapis.com/mcp…

--- DISCOVERY: Found 5 tools ---
Tool: list_dataset_ids
Tool: get_dataset_info
Tool: list_table_ids
Tool: get_table_info
Tool: execute_sql

--- INVOCATION: Fetching datasets for ‘project’ ---
SUCCESS! Output from BigQuery: (...)

Questo conferma:

  • Autenticazione sicura tramite ADC
  • Handshake riuscito con il server remoto gestito di Google
  • Discovery completa degli strumenti
  • Esecuzione live che restituisce i tuoi dataset BigQuery effettivi

Questo pattern a basso livello è prezioso quando:

  • Effettui il debug di problemi di connessione o permessi
  • Costruisci logiche personalizzate di selezione degli strumenti
  • Integri MCP in servizi FastAPI, worker in background o app di streaming
  • Hai bisogno di controllo preciso sui flussi asincroni

Una volta verificata così la connettività, puoi scalare con sicurezza verso framework di livello superiore come agenti LangGraph (come mostrato in esempi precedenti) o alimentare questi strumenti in qualsiasi sistema compatibile con LangChain.

Con queste basi, i server MCP di Google diventano un’estensione sicura e pronta per la produzione del tuo stack AI in Python, senza bisogno di codice collante personalizzato.

Best practice di sicurezza per i server MCP di Google

La sicurezza non è un ripensamento nei server MCP gestiti di Google: è integrata fin dalle fondamenta. Eseguendosi sull’infrastruttura di Google e integrandosi profondamente con l’identity e l’access management di Google Cloud, questi server forniscono protezioni di livello enterprise che superano di gran lunga quelle delle alternative self-hosted o sperimentali.

Identity and Access Management

Google Cloud usa il suo solido framework IAM (Identity and Access Management) per governare chi (o cosa) può chiamare i tuoi strumenti MCP.

Nel controllo degli accessi basato sui ruoli (RBAC), ogni agente AI dovrebbe avere il proprio service account dedicato. Questo controllo si basa su due livelli distinti di autorizzazione:

  • Ruolo gateway: Per usare qualsiasi strumento MCP di Google, l’identità deve avere il ruolo roles/mcp.toolUser.

  • Permessi specifici del servizio: Poiché mcp.toolUser consente solo la connessione, devi comunque concedere i permessi specifici per l’azione. Ad esempio, se l’AI deve interrogare i dati, serve roles/bigquery.jobUser. Al contrario, se deve solo vedere lo stato delle VM, dovresti darle roles/compute.viewer, non roles/compute.admin.

Model Armor

Model Armor è un servizio Google Cloud progettato per migliorare la sicurezza e l’affidabilità delle tue applicazioni AI. Funziona eseguendo proattivamente lo screening di prompt e risposte degli LLM, proteggendo da vari rischi e garantendo pratiche di AI responsabile.

Che tu distribuisca l’AI su Google Cloud o su altri provider, Model Armor può aiutarti a prevenire input malevoli, verificare la sicurezza dei contenuti, proteggere dati sensibili, mantenere la conformità e applicare in modo coerente le tue policy di sicurezza e sicurezza AI in tutte le applicazioni.

Model Armor agisce come un Web Application Firewall (WAF) specializzato per l’AI:

  • Sanitizzazione dei prompt: Analizza ogni prompt in ingresso per attacchi di injection e tentativi di jailbreak prima che la richiesta raggiunga il tuo server MCP.
  • Content safety: Filtra i contenuti dannosi e può essere configurato con template di Sensitive Data Protection (SDP) per mascherare PII (nomi, SSN, numeri di carta di credito) sia nei prompt che negli output degli strumenti.
  • Impostazioni minime: Google raccomanda un “pavimento di sicurezza” specifico per MCP, che include scansioni obbligatorie per URL malevoli e pattern di prompt injection.

Osservabilità e conformità

Ogni chiamata a uno strumento effettuata tramite un server MCP di Google è un evento documentato.

  • Cloud logging: Le azioni MCP vengono indirizzate automaticamente a Cloud Logging. Questo include l’ID dell’agente, l’ID della sessione, lo strumento specifico chiamato e il payload.
  • Audit trail: Abilitando i log di accesso ai dati per il servizio mcp.googleapis.com, puoi mantenere un archivio permanente per le revisioni di conformità, che ti consente di rispondere: “Chi (quale agente) ha accesso a quali dati e quando?”

Conclusione

Basta con connettori personalizzati fragili per ogni modello o strumento: i server MCP gestiti di Google segnano un punto di svolta per l’AI agentica su Google Cloud. Adottando lo standard aperto MCP e offrendo implementazioni completamente ospitate e di livello enterprise per BigQuery, Google Maps, Compute Engine e GKE, Google ha eliminato i maggiori ostacoli alla costruzione di agenti affidabili e capaci di agire.

Come abbiamo visto in questa guida, questa architettura standardizzata elimina l’incubo del “codice collante” e ti consente di scalare dai prototipi locali alle distribuzioni su Cloud Run senza riscrivere gli strumenti per ogni client. Inoltre, con Google Cloud IAM e Model Armor, i tuoi agenti sono nativamente protetti dalle minacce moderne all’AI.

La progressione da “Chatbot” ad “Agente” sta avvenendo ora. Padroneggiando i server MCP di Google, non stai solo costruendo un’AI che risponde alle domande—stai creando un compagno digitale capace di operare il tuo cloud alla velocità del pensiero.

Pronto a trasformare tutto ciò che hai imparato in questa guida in competenze spendibili in carriera? Iscriviti al nostro percorso Associate AI Engineer for Developers.

FAQ sui server MCP di Google

Posso usare i server MCP di Google con LLM diversi da Gemini (ad es., Claude, GPT o modelli open-source)?

Sì. Poiché MCP è uno standard aperto, funziona con qualsiasi client compatibile con MCP. Claude Desktop, Cursor, Windsurf e framework come LangGraph/LangChain supportano tutti i server MCP remoti, offrendoti accesso agli strumenti indipendente dal modello.

Quali sono i principali vantaggi dell’uso di MCP negli ambienti enterprise?

MCP funge da “traduttore universale”, consentendo alle aziende di creare uno strumento una volta e usarlo su più modelli AI senza codice collante personalizzato. Fornisce un modo standardizzato, scalabile e sicuro per dare agli agenti AI accesso in tempo reale a infrastrutture sensibili come BigQuery o GKE mantenendo il controllo centrale.

Qual è la differenza tra un server MCP “gestito” e uno “personalizzato”?

Gestito: Google ospita il codice, gestisce lo scaling e si occupa della sicurezza. Tu devi solo abilitarlo (come BigQuery o Maps). Personalizzato: scrivi tu il codice (usando Python/TypeScript), lo impacchetti in un container Docker e lo distribuisci su una piattaforma come Cloud Run.

Posso ospitare un mio server MCP su Google Cloud?

Sì. Per strumenti interni o di terze parti non coperti dal portafoglio gestito di Google, puoi creare un server personalizzato usando l’SDK MCP per Python o TypeScript e distribuirlo su Cloud Run. Questo offre ai tuoi agenti accesso alle tue API e ai tuoi database privati.

In cosa MCP è diverso dal function calling standard?

Il function calling è solitamente legato all’API di un fornitore LLM specifico (ad es., strumenti specifici di OpenAI). MCP è un protocollo universale: crei lo strumento una volta come server MCP e può essere usato da qualsiasi LLM (Claude, Gemini, GPT) che supporti lo standard MCP, senza riscrivere codice per ognuno.

Aryan Irani

Autore

Aryan Irani

Scrivo e creo su internet. Google Developer Expert per Google Workspace, laureato in Informatica alla NMIMS e appassionato di automazione e di tecnologie di IA generativa.

Argomenti

Correlato