Utilizzare il server MCP remoto di Spanner

Questo documento mostra come utilizzare il server Model Context Protocol (MCP) remoto di Spanner per connettersi ad applicazioni AI, tra cui Gemini CLI, ChatGPT, Claude e applicazioni personalizzate che stai sviluppando. Il server MCP Spanner ti consente di accedere ed eseguire gli strumenti Spanner per creare, gestire ed eseguire query sulle risorse Spanner dai tuoi ambienti di sviluppo basati sull'AI e dalle piattaforme di agenti AI. .

Il server MCP remoto Spanner viene abilitato quando abiliti l'API Spanner.

Il Model Context Protocol (MCP) standardizza il modo in cui i modelli linguistici di grandi dimensioni (LLM) e le applicazioni o gli agenti AI si connettono a origini dati esterne. I server MCP ti consentono di utilizzare i loro strumenti, risorse e prompt per eseguire azioni e ottenere dati aggiornati dal loro servizio di backend.

Qual è la differenza tra i server MCP locali e remoti?

Server MCP locali
In genere vengono eseguiti sulla macchina locale e utilizzano i flussi di input e output standard (stdio) per la comunicazione tra i servizi sullo stesso dispositivo.
Server MCP remoti
Viene eseguito sull'infrastruttura del servizio e offre un endpoint HTTP alle applicazioni di AI per la comunicazione tra il client AI MCP e il server MCP. Per maggiori informazioni sull'architettura MCP, consulta la sezione Architettura MCP.

Per informazioni sul server MCP locale di Spanner, consulta la pagina Server MCP di Spanner su GitHub.

Google e Google Cloud server MCP remoti

Google e i Google Cloud server MCP remoti hanno le seguenti funzionalità e vantaggi:

  • Rilevamento semplificato e centralizzato
  • Endpoint HTTP globali o regionali gestiti
  • Autorizzazione granulare
  • Sicurezza facoltativa di prompt e risposte con la protezione Model Armor
  • Audit logging centralizzato

Per informazioni su altri server MCP e sui controlli di sicurezza e governance disponibili per i server MCP di Google Cloud, consulta la panoramica dei server MCP di Google Cloud.

Prima di iniziare

  1. Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Attiva l'API Spanner.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin), che include l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    Abilitare l'API

    Per i nuovi progetti, l'API Spanner viene abilitata automaticamente.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per utilizzare il server Spanner MCP, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto in cui vuoi utilizzare il server Spanner MCP:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per utilizzare il server Spanner MCP. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per utilizzare il server Spanner MCP sono necessarie le seguenti autorizzazioni:

  • Effettua chiamate allo strumento MCP: mcp.tools.call
  • Utilizza gli strumenti MCP di Spanner:
    • spanner.instances.create
    • spanner.instances.get
    • spanner.databases.create
    • spanner.databases.update
    • spanner.sessions.create
    • spanner.instanceOperations.get
    • spanner.databases.getDdl
    • spanner.databases.select
    • spanner.databases.write

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Autenticazione e autorizzazione

I server Spanner MCP utilizzano il protocollo OAuth 2.0 con Identity and Access Management (IAM) per l'autenticazione e l'autorizzazione. Tutte le identitàGoogle Cloud sono supportate per l'autenticazione ai server MCP.

Il server MCP remoto Spanner non accetta chiavi API.

Consigliamo di creare un'identità separata per gli agenti che utilizzano gli strumenti MCP in modo che l'accesso alle risorse possa essere controllato e monitorato. Per saperne di più sull'autenticazione, consulta Autenticarsi sui server MCP.

Ambiti OAuth Spanner MCP

OAuth 2.0 utilizza ambiti e credenziali per determinare se un principal autenticato è autorizzato a eseguire un'azione specifica su una risorsa. Per saperne di più sugli ambiti OAuth 2.0 in Google, leggi Utilizzare OAuth 2.0 per accedere alle API di Google.

Spanner ha i seguenti ambiti OAuth dello strumento MCP:

URI dell'ambito per gcloud CLI Descrizione
https://www.googleapis.com/auth/spanner.admin Consente l'accesso per amministrare le istanze e i database Spanner.
https://www.googleapis.com/auth/spanner.data Consente l'accesso per visualizzare e gestire i dati in un database Spanner.

Per saperne di più su questi ambiti, consulta API Spanner.

Configura un client MCP per utilizzare il server MCP Spanner

I programmi host, come Claude o Gemini CLI, possono creare istanze di client MCP che si connettono a un singolo server MCP. Un programma host può avere più client che si connettono a server MCP diversi. Per connettersi a un server MCP remoto, il client MCP deve conoscere almeno l'URL del server MCP remoto.

Utilizza le seguenti istruzioni per configurare i client MCP in modo che si connettano al server Spanner MCP remoto.

Gemini CLI

Per aggiungere un server MCP remoto Spanner a Gemini CLI, configuralo come estensione.

  1. Crea un file di estensione nella seguente posizione: ~/.gemini/extensions/EXT_NAME/gemini-extension.json dove ~/ è la tua home directory e EXT_NAME è il nome che vuoi assegnare all'estensione.

  2. Aggiungi i seguenti contenuti al file dell'estensione:

            {
              "name": "EXT_NAME",
              "version": "1.0.0",
              "mcpServers": {
                "Spanner MCP Server": {
                  "httpUrl": "https://spanner.googleapis.com/mcp",
                  "authProviderType": "google_credentials",
                  "oauth": {
                    "scopes": ["https://www.googleapis.com/auth/cloud-platform"]
                  },
                  "timeout": 30000,
                  "headers": {
                    "x-goog-user-project": "PROJECT_ID"
                  }
                }
              }
            }
            
  3. Salva il file delle estensioni.

  4. Avvia Gemini CLI:

            gemini
            
  5. Esegui /mcp nell'interfaccia a riga di comando per visualizzare il server MCP configurato e i relativi strumenti.

    La risposta è simile alla seguente:

            Configured MCP servers:
            🟢 Spanner MCP Server (from spanner )
              - get_database_ddl
              - get_instance
              - get_operation
              - create_database
              - create_instance
              - create_session
              - commit
              - execute_sql
              - list_databases
              - list_instances
            

Il server MCP remoto è pronto per l'uso in Gemini CLI.

Claude.ai

Devi disporre del piano Claude Enterprise, Pro, Max o Team per configurare i server Google e Google Cloud MCP in Claude.ai. Per informazioni sui prezzi, consulta Prezzi di Claude.

Per aggiungere un server MCP remoto Spanner a Claude.ai, configura un connettore personalizzato con un ID client OAuth e un client secret OAuth:

Crea un ID client e un secret OAuth 2.0

  1. Nella console Google Cloud , vai a Google Auth Platform > Clients > Create client.

    Vai a Crea client

    Se non hai selezionato un progetto, ti viene chiesto di crearne uno.

  2. Nell'elenco Tipo di applicazione, seleziona Applicazione web.

  3. Nel campo Nome, inserisci un nome per l'applicazione.

  4. Nella sezione URI di reindirizzamento autorizzati, fai clic su + Aggiungi URI e poi aggiungi https://claude.ai/api/mcp/auth_callback nel campo URI.

  5. Fai clic su Crea. Il client è stato creato. Per accedere all'ID client, nella console Google Cloud , vai a Google Auth Platform > Client.

  6. Nell'elenco ID client OAuth 2.0, seleziona il nome del client.

  7. Nella sezione Client secret, copia il client secret e salvalo in un luogo sicuro. Puoi copiarlo una sola volta. Se lo perdi, elimina il secret e creane uno nuovo.

Creare un connettore personalizzato in Claude.ai

  1. In Claude.ai, vai alle impostazioni dei connettori per il tuo piano:

    • Per il piano Enterprise o Team, vai a Impostazioni di amministrazione > Connettori.
    • Per il piano Pro o Max, vai a Impostazioni > Connettori.
  2. Fai clic su Aggiungi connettore personalizzato.

  3. Nella finestra di dialogo Aggiungi connettore personalizzato, inserisci quanto segue:

    • Nome server: un nome leggibile per il server.
    • URL del server MCP remoto: https://spanner.googleapis.com/mcp
  4. Espandi il menu Impostazioni avanzate e inserisci quanto segue:

    • ID client OAuth: l'ID client OAuth 2.0 che hai creato.
    • Client secret OAuth (solo piani Pro e Max): il secret per il tuo client OAuth 2.0. Per recuperare il segreto, vai a Google Auth Platform > Clients e seleziona l'ID client OAuth che hai creato. Nella sezione Client secrets (Client secret), fai clic per copiare il Client secret.
  5. Fai clic su Aggiungi.

    Il connettore personalizzato è stato creato.

  6. Apri il menu Strumenti e attiva il connettore.

    Claude.ai può utilizzare il server MCP.

ChatGPT

Per utilizzare i server Google e Spanner MCP con ChatGPT, devi disporre di un abbonamento a ChatGPT Business.

Per aggiungere un server MCP remoto Spanner a ChatGPT, crea un ID client e un client secret Google OAuth 2.0, quindi aggiungi il server MCP come app in ChatGPT.

Crea un ID client e un secret OAuth 2.0

  1. Nella console Google Cloud , vai a Google Auth Platform > Clients > Create client.

    Vai a Crea client

    Se non hai selezionato un progetto, ti viene chiesto di crearne uno.

  2. Nell'elenco Tipo di applicazione, seleziona Applicazione web.

  3. Nel campo Nome, inserisci un nome per l'applicazione.

  4. Nella sezione Origini JavaScript autorizzate, fai clic su + Aggiungi URI e poi aggiungi https://chatgpt.com nel campo URI.

  5. Nella sezione URI di reindirizzamento autorizzati, fai clic su + Aggiungi URI e poi aggiungi https://chatgpt.com/connector_platform_oauth_redirect nel campo URI.

  6. Fai clic su Crea. Il client è stato creato. Per accedere all'ID client, nella console Google Cloud , vai a Google Auth Platform > Client.

  7. Nell'elenco ID client OAuth 2.0, seleziona il nome del client.

  8. Nella sezione Client secret, copia il client secret e salvalo in un luogo sicuro. Puoi copiarlo una sola volta. Se lo perdi, elimina il secret e creane uno nuovo.

Aggiungere il server MCP come app in ChatGPT

  1. Accedi a ChatGPT.
  2. Attiva la modalità sviluppatore:
    1. In ChatGPT, fai clic sul tuo nome utente per aprire il menu Profilo, quindi seleziona Impostazioni.
    2. Nel menu Impostazioni, seleziona App e poi fai clic su Impostazioni avanzate.
    3. In Impostazioni avanzate, fai clic sul pulsante di attivazione/disattivazione Modalità sviluppatore.
  3. In Impostazioni > App, fai clic sul pulsante Crea app.
  4. Nella finestra di dialogo Nuova app, inserisci le seguenti informazioni:
    • Nome: il nome del server MCP.
    • Descrizione: una descrizione facoltativa del server MCP.
    • URL del server MCP: https://spanner.googleapis.com/mcp
    • Autenticazione:
      • Nel menu Authentication (Autenticazione), seleziona OAuth.
      • Nel campo ID client OAuth, inserisci l'ID client OAuth di Google.
      • Nel campo Segreto OAuth, inserisci il client secret OAuth di Google.
    • Conferma di aver compreso il rischio associato all'utilizzo del server MCP, quindi fai clic su Crea.

Il server MCP viene visualizzato nel menu App ed è pronto per l'uso tramite prompt di chat.

Indicazioni generali per i clienti MCP

Se le istruzioni specifiche per il tuo client MCP non sono incluse in Configurare un client MCP per utilizzare il server MCP Spanner, utilizza le seguenti informazioni per connetterti a un server MCP remoto nel tuo programma host o nella tua applicazione AI. Ti viene chiesto di inserire i dettagli del server, come nome e URL.

Per il server MCP remoto Spanner, inserisci le seguenti informazioni:

  • Nome server: server MCP Spanner
  • URL server o endpoint: https://spanner.googleapis.com/mcp
  • Trasporto: HTTP
  • Dettagli di autenticazione: a seconda di come vuoi autenticarti, puoi inserire le tue Google Cloud credenziali, l'ID client OAuth e il segreto oppure l'identità e le credenziali di un agente.

Per indicazioni più generali, consulta le seguenti risorse:

Strumenti disponibili

Per visualizzare i dettagli degli strumenti MCP disponibili e le relative descrizioni per il server MCP Spanner, consulta il riferimento MCP Spanner.

Strumenti per le liste

Utilizza lo strumento di controllo MCP per elencare gli strumenti o invia una richiesta HTTP tools/list direttamente al server MCP remoto di Spanner. Il metodo tools/list non richiede l'autenticazione.

POST /mcp HTTP/1.1
Host: spanner.googleapis.com
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "method": "tools/list",
}

Osservabilità

Il server MCP Spanner supporta gli strumenti di introspezione e osservabilità di Spanner.

Tag di richiesta

Le query eseguite o le transazioni di cui è stato eseguito il commit utilizzando il server Spanner MCP vengono taggate automaticamente con tag di richiesta specifici. Puoi utilizzare questi tag per eseguire il debug di query e transazioni. Per saperne di più, consulta la sezione Risoluzione dei problemi relativi ai tag di richiesta e di transazione.

Nome strumento Tag di richiesta
execute_sql mcp_execute_sql
execute_sql_readonly mcp_execute_sql_readonly
commit mcp_commit

Esempi di casi d'uso

Di seguito sono riportati alcuni casi d'uso di esempio per il server MCP di Spanner.

Sviluppo di applicazioni con Spanner

Uno sviluppatore di applicazioni può utilizzare il server Spanner MCP per eseguire il provisioning delle risorse, creare database e popolare i dati di esempio.

Prompt di esempio: "Crea un'istanza Spanner regionale nel progetto PROJECT_ID nella configurazione dell'istanza regionale us-central1. Crea un database per monitorare l'inventario e compila 5 prodotti di esempio."

Sostituisci PROJECT_ID con l'ID progetto Google Cloud .

Workflow:

Il flusso di lavoro per lo sviluppo di un'applicazione potrebbe essere il seguente:

  • L'agente chiama lo strumento create_instance per eseguire il provisioning di una nuova istanza Spanner utilizzando la configurazione dell'istanza specificata. L'agente potrebbe richiamare lo strumento get_operation per verificare se l'istanza è pronta per l'uso.

  • L'agente chiama lo strumento create_database per creare un nuovo database con lo schema richiesto. L'agente potrebbe chiamare lo strumento get_operation per controllare lo stato dell'operazione di creazione del database.

  • L'agente può utilizzare una combinazione di create_session, execute_sql e degli strumenti commit per inserire dati di esempio.

  • Facoltativamente, l'agente può chiamare lo strumento execute_sql per eseguire query e convalidare la creazione di dati di esempio.

Insight operativi e gestione della configurazione del database

Gli amministratori di Spanner possono utilizzare il server MCP di Spanner per raccogliere informazioni su istanze e database Spanner utilizzando strumenti come list_instances, get_instance, list_databases e get_database_ddl.

Prompt di esempio:

  • "Elenca tutte le istanze Spanner nel progetto corrente."
  • "Elenca tutti i database nell'istanza Spanner corrente."
  • "Show the schema for the current Spanner database." (mostra lo schema del database Spanner corrente)

Configurazioni di sicurezza facoltative

MCP introduce nuovi rischi e considerazioni sulla sicurezza a causa dell'ampia varietà di azioni che puoi eseguire con gli strumenti MCP. Per ridurre al minimo e gestire questi rischi, Google Cloud offre impostazioni predefinite e policy personalizzabili per controllare l'utilizzo degli strumenti MCP nella tua organizzazione o nel tuo progetto Google Cloud.

Per saperne di più sulla sicurezza e sulla governance di MCP, consulta Sicurezza e protezione dell'AI.

Utilizzare Model Armor

Model Armor è un servizioGoogle Cloud progettato per migliorare la sicurezza delle tue applicazioni di AI. Funziona controllando in modo proattivo i prompt e le risposte degli LLM, proteggendo da vari rischi e supportando pratiche di AI responsabile. Che tu stia implementando l'AI nel tuo ambiente cloud o su provider cloud esterni, Model Armor può aiutarti a prevenire input dannosi, verificare la sicurezza dei contenuti, proteggere i dati sensibili, mantenere la conformità e applicare le tue norme di sicurezza dell'AI in modo coerente nel tuo panorama AI diversificato.

Quando Model Armor è abilitato con il logging abilitato, Model Armor registra l'intero payload. Ciò potrebbe esporre informazioni sensibili nei log.

Abilita Model Armor

Prima di poter utilizzare Model Armor, devi abilitare le API Model Armor.

Console

  1. Abilita l'API Model Armor.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin), che include l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    Abilitare l'API

  2. Seleziona il progetto in cui vuoi attivare Model Armor.

gcloud

Prima di iniziare, segui questi passaggi utilizzando Google Cloud CLI con l'API Model Armor:

  1. Nella console Google Cloud , attiva Cloud Shell.

    Attiva Cloud Shell

    Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.

  2. Esegui questo comando per impostare l'endpoint API per il servizio Model Armor.

    gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.LOCATION.rep.googleapis.com/"

    Sostituisci LOCATION con la regione in cui vuoi utilizzare Model Armor.

Configurare la protezione per i server MCP remoti di Google e Google Cloud

Per proteggere le chiamate e le risposte dello strumento MCP, puoi utilizzare le impostazioni di base di Model Armor. Un'impostazione di base definisce i filtri di sicurezza minimi che vengono applicati a tutto il progetto. Questa configurazione applica un insieme coerente di filtri a tutte le chiamate e le risposte degli strumenti MCP all'interno del progetto.

Configura un'impostazione di base di Model Armor con la sanificazione MCP attivata. Per saperne di più, consulta Configurare le impostazioni di base di Model Armor.

Vedi il seguente comando di esempio:

gcloud model-armor floorsettings update \
--full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
--enable-floor-setting-enforcement=TRUE \
--add-integrated-services=GOOGLE_MCP_SERVER \
--google-mcp-server-enforcement-type=INSPECT_AND_BLOCK \
--enable-google-mcp-server-cloud-logging \
--malicious-uri-filter-settings-enforcement=ENABLED \
--add-rai-settings-filters='[{"confidenceLevel": "MEDIUM_AND_ABOVE", "filterType": "DANGEROUS"}]'

Sostituisci PROJECT_ID con l'ID progetto Google Cloud .

Tieni presente le seguenti impostazioni:

  • INSPECT_AND_BLOCK: il tipo di applicazione che ispeziona i contenuti per il server MCP di Google e blocca i prompt e le risposte che corrispondono ai filtri.
  • ENABLED: l'impostazione che attiva un filtro o l'applicazione.
  • MEDIUM_AND_ABOVE: il livello di confidenza per le impostazioni del filtro AI responsabile - Pericoloso. Puoi modificare questa impostazione, anche se valori più bassi potrebbero generare più falsi positivi. Per saperne di più, consulta Livelli di confidenza di Model Armor.

Disattivare l'analisi del traffico MCP con Model Armor

Per impedire a Model Armor di analizzare automaticamente il traffico da e verso i server MCP di Google in base alle impostazioni di base del progetto, esegui questo comando:

gcloud model-armor floorsettings update \
  --full-uri='projects/PROJECT_ID/locations/global/floorSetting' \
  --remove-integrated-services=GOOGLE_MCP_SERVER

Sostituisci PROJECT_ID con l'ID progetto Google Cloud . Model Armor non applica automaticamente le regole definite nelle impostazioni di base di questo progetto a nessun traffico del server MCP di Google.

Le impostazioni di base e la configurazione generale di Model Armor possono influire su più di un semplice MCP. Poiché Model Armor si integra con servizi come Agent Platform, qualsiasi modifica apportata alle impostazioni di base può influire sulla scansione del traffico e sui comportamenti di sicurezza in tutti i servizi integrati, non solo in MCP.

Controllare l'utilizzo di MCP con i criteri di negazione IAM

I criteri di negazione di Identity and Access Management (IAM) ti aiutano a proteggere Google Cloud i server MCP remoti. Configura queste policy per bloccare l'accesso indesiderato allo strumento MCP.

Ad esempio, puoi negare o consentire l'accesso in base a:

  • Il preside
  • Proprietà dello strumento come sola lettura
  • L'ID client OAuth dell'applicazione

Per saperne di più, consulta Controllare l'utilizzo di MCP con Identity and Access Management.

Passaggi successivi