Utilizza il server MCP di BigQuery Migration Service
Questo documento mostra come utilizzare il server Model Context Protocol (MCP) remoto di BigQuery per connetterti ad applicazioni AI, tra cui Antigravity, ChatGPT, Claude e applicazioni personalizzate che stai sviluppando. Puoi utilizzare il server Model Context Protocol (MCP) di BigQuery Migration Service per eseguire attività come la traduzione di query SQL nella sintassi GoogleSQL, la generazione di istruzioni DDL da query di input SQL e l'ottenimento di spiegazioni delle traduzioni SQL. Il server MCP remoto di BigQuery viene attivato quando abiliti l'API BigQuery.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 alle origini dati esterne. I server MCP ti consentono di utilizzare i loro strumenti, le loro risorse e i loro 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 tua macchina locale e utilizzano gli stream di input e output standard (stdio) per la comunicazione tra i servizi sullo stesso dispositivo.
- Server MCP remoti
- Vengono eseguiti sull'infrastruttura del servizio e offrono un endpoint HTTP alle applicazioni di AI per la comunicazione tra il client MCP AI e il server MCP. Per saperne di più sull'architettura MCP, consulta Architettura MCP.
Core stateless
Con la versione MCP 2026-07-28, MCP passa da un protocollo bidirezionale stateful a un protocollo stateless.
Ogni richiesta MCP è autodescrittiva e può essere instradata utilizzando le intestazioni. Non è necessario l'handshake initialize/initialized o Mcp-Session-Id perché ogni richiesta include tutte le informazioni necessarie nelle intestazioni HTTP o nel parametro _meta. I server MCP possono richiedere informazioni aggiuntive necessarie per uno strumento tramite richieste di andata e ritorno multiple (MRTR).
Per facilitare l'instradamento e l'elaborazione delle richieste senza analizzare il corpo della richiesta, sono necessarie alcune intestazioni MCP, tra cui:
- Intestazioni richieste dalla specifica MCP, come l'intestazione della versione del protocollo e le intestazioni della richiesta standard.
- Intestazioni personalizzate
definite dal server MCP. Queste intestazioni vengono rispecchiate nelle intestazioni HTTP dallo schema di input dello strumento utilizzando la proprietà
x-mcp-header. Ad esempio, un server MCP potrebbe definire un'intestazione personalizzata per specificare la regione o l'ID progetto Google Cloud .
Per saperne di più sull'architettura MCP, consulta la specifica della versione MCP 2026-07-28 e le modifiche principali.
Server MCP Google e Google Cloud remoti
I server MCP di Google e Google Cloud remoti offrono le seguenti funzionalità e i seguenti vantaggi:- Rilevamento semplificato e centralizzato
- Endpoint HTTP globali o regionali gestiti
- Autorizzazione granulare
- Sicurezza facoltativa di prompt e risposte con la protezione di 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
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Attiva l'API BigQuery Migration Service, se non è già attiva.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per abilitare il server MCP di BigQuery Migration Service, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto in cui vuoi abilitare il server MCP di BigQuery Migration Service:
-
Effettuare chiamate allo strumento MCP:
MCP Tool User (
roles/mcp.toolUser) -
Utilizza BigQuery Migration Service:
Migration Workflow Editor (
roles/bigquerymigration.editor)
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 attivare il server MCP di BigQuery Migration Service. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per abilitare il server MCP di BigQuery Migration Service sono necessarie le seguenti autorizzazioni:
-
Effettua chiamate allo strumento MCP:
mcp.tools.call -
Utilizza BigQuery Migration Service:
-
bigquerymigration.workflows.create -
bigquerymigration.workflows.get -
bigquerymigration.workflows.list -
bigquerymigration.workflows.delete -
bigquerymigration.subtasks.get -
bigquerymigration.subtasks.list
-
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
A seconda dell'attività, potrebbero essere necessarie autorizzazioni aggiuntive per BigQuery Migration Service. Per informazioni sui ruoli e sulle autorizzazioni di BigQuery Migration Service, consulta Ruoli e autorizzazioni di BigQuery Migration Service.
Autenticazione e autorizzazione
I server MCP di BigQuery Migration Service 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 di BigQuery Migration Service non accetta chiavi API.
Ambiti OAuth MCP di BigQuery Migration Service
OAuth 2.0 utilizza ambiti e credenziali per determinare se un'entità autenticata è autorizzata a eseguire un'azione specifica su una risorsa. Per saperne di più sugli ambiti OAuth 2.0 di Google, consulta Utilizzare OAuth 2.0 per accedere alle API di Google.
BigQuery Migration Service ha i seguenti ambiti OAuth dello strumento MCP:
| URI dell'ambito per gcloud CLI | Descrizione |
|---|---|
https://www.googleapis.com/auth/bigquerymigration |
Visualizzare e gestire i tuoi flussi di lavoro in BigQuery Migration Service e visualizzare l'indirizzo email del tuo Account Google. |
https://www.googleapis.com/auth/devstorage.read_only |
Questo ambito è obbligatorio per le traduzioni delle query che leggono i dati da Cloud Storage. |
Le risorse a cui si accede durante una chiamata allo strumento potrebbero richiedere ambiti aggiuntivi.
Configura un client MCP per utilizzare il server MCP di BigQuery Migration Service
Le applicazioni e gli agenti AI, come Claude o Antigravity, possono creare un'istanza di un client MCP che si connette a un singolo server MCP. Un'applicazione di AI può avere più client che si connettono a server MCP diversi. Se la tua applicazione non è elencata nelle indicazioni specifiche per il client, puoi utilizzare le seguenti informazioni per connetterti dalla maggior parte delle applicazioni.Registra il server MCP utilizzando add-mcp
Puoi registrare automaticamente il server MCP di BigQuery Migration Service nei client AI supportati utilizzando add-mcp senza individuare manualmente i percorsi dei file di configurazione. Lo strumento rileva automaticamente i client AI installati. L'esempio seguente mostra come utilizzare add-mcp per registrare il server MCP di BigQuery Migration Service:
npx add-mcp https://bigquerymigration.googleapis.com/mcp --name bqms --header "x-goog-user-project: PROJECT_ID" --scopes "https://www.googleapis.com/auth/bigquerymigration,https://www.googleapis.com/auth/devstorage.read_only" --timeout 30000
Nella tua applicazione AI, cerca un modo per aggiungere o connetterti a un server MCP remoto. Per il server MCP di BigQuery Migration Service, inserisci le seguenti informazioni, se richieste:
- Nome server: server MCP di BigQuery Migration Service
- URL server o Endpoint: bigquerymigration.googleapis.com/mcp
- Trasporto: HTTP trasmissibile in streaming
- Dettagli di autenticazione: a seconda di come vuoi eseguire l'autenticazione, puoi inserire le tue credenziali Google Cloud , l'ID client e il secret OAuth o un'identità e le credenziali dell'agente. Per saperne di più sull'autenticazione, consulta Autenticati ai server MCP.
- Ambito OAuth: l'ambito OAuth 2.0 che vuoi utilizzare per la connessione al server MCP di BigQuery Migration Service.
{
"name": "BQMS-MCP",
"version": "1.0.0",
"mcpServers": {
"BigQueryMigration": {
"httpUrl": "https://bigquerymigration.googleapis.com/mcp",
"authProviderType": "google_credentials",
"oauth": {
"scopes": [
"https://www.googleapis.com/auth/bigquerymigration",
"https://www.googleapis.com/auth/devstorage.read_only"
]
},
"timeout": 30000,
"headers": {
"x-goog-user-project": "PROJECT_ID"
}
}
}
}
URI di reindirizzamento
Per le applicazioni basate sul web e alcune applicazioni desktop, devi inserire nella lista consentita un URI di reindirizzamento quando crei un ID client e un secret per l'autenticazione. Gli URI di reindirizzamento vengono utilizzati dal server di autorizzazione per inviare token alla tua applicazione. La documentazione dell'applicazione deve specificare l'URI di reindirizzamento da utilizzare. Gli URI di reindirizzamento personalizzati non sono supportati.
Per indicazioni specifiche sull'applicazione per la configurazione e la connessione al server MCP, consulta Indicazioni specifiche per il client.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 di BigQuery Migration Service, consulta il riferimento MCP di BigQuery Migration Service.
Strumenti per gli elenchi
Utilizza l'ispettore MCP per elencare gli strumenti o invia una richiesta HTTP tools/list direttamente al server MCP remoto di BigQuery Migration Service. Il metodo tools/list non richiede l'autenticazione.
curl -X POST https://bigquerymigration.googleapis.com/TOOLSET_ENDPOINT \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'MCP-Protocol-Version: MCP_PROTOCOL_VERSION' \
-H 'Mcp-Method: tools/list' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {
"_meta": {
"io.modelcontextprotocol/protocolVersion": "MCP_PROTOCOL_VERSION",
"io.modelcontextprotocol/clientCapabilities": {
"extensions": {
"io.modelcontextprotocol/ui": {
"mimeTypes": ["text/html;profile=mcp-app"]
}
}
}
}
}
}'
Sostituisci quanto segue:
TOOLSET_ENDPOINT: il resto dell'endpoint MCP dopo il nome del servizio. Per BigQuery Migration Service, si tratta dimcp.MCP_PROTOCOL_VERSION: la versione del protocollo MCP. Ad esempio,2026-07-28.
Esempi di casi d'uso
Di seguito sono riportati alcuni casi d'uso di esempio per il server MCP di BigQuery Migration Service:
- Utilizzando un client MCP con un IDE, traduci un file di query nella sintassi GoogleSQL.
- Utilizzando un client MCP senza un IDE, traduci una query specificata nella sintassi GoogleSQL.
- Valuta la qualità della traduzione.
- Ottenere spiegazioni delle traduzioni SQL.
- Genera un'istruzione DDL per una query specificata.
Prompt di esempio
Puoi utilizzare i seguenti prompt di esempio per creare e gestire le risorse di BigQuery Migration Service:
Traduci la query
DIALECTin questoFILENAME. UtilizzaPROJECT_IDeLOCATION. Mantieni i log di output e di traduzione in directory separate.Quando utilizzi questo prompt, il client MCP chiama lo strumento
translate_queryper tradurre la query nel file specificato. Il client MCP chiama periodicamente lo strumentoget_translationper ottenere i risultati. Al termine della traduzione, il client scrive l'output nella directory di output e i log nella directory dei log.Traduci questa query da
DIALECT:QUERY. UtilizzaPROJECT_IDeLOCATION.Quando utilizzi questo prompt, il client MCP chiama lo strumento
translate_queryper tradurre la query specificata e visualizza i risultati della traduzione.Valuta la qualità della traduzione.
Quando utilizzi questo prompt, il client MCP legge ed esamina i log di traduzione e visualizza un riepilogo dei problemi di traduzione con i passaggi successivi suggeriti.
Spiega la traduzione.
Quando utilizzi questo prompt, il client MCP chiama lo strumento
explain_translationper ottenere una spiegazione della traduzione. Se i log di traduzione contengono erroriRelationNotFoundoAttributeNotFound, il client MCP dovrebbe suggerirti di creare un pacchetto di metadati. Se non riesci a generare i metadati, puoi inviare un prompt che richiede l'istruzione DDL.Di seguito è riportato un esempio di risposta:
The translated code converts Teradata-specific features into their BigQuery equivalents. Here's a breakdown of the key changes: * `MACRO` to `PROCEDURE`: The `YourMacroName` macro was converted into a BigQuery stored procedure because BigQuery doesn't support macros. * `SELECT INTO` to `SET`: * For setting multiple `OUT` parameters in `YourStoredProcedureName`, the `SELECT ... INTO` is changed to `SET (...) = (SELECT STRUCT(...))`. * For single variable assignment in `YourOtherProcedureName`, `SELECT ... INTO` is replaced by `SET variable = (SELECT ...)` which is the standard in BigQuery. * Atomic Operations to `MERGE: The BEGIN REQUEST ... END REQUEST` blocks in the `ProcedureA`, `ProcedureB`, and `ProcedureC` procedures, which perform atomic "update or insert" operations, are translated into standard SQL `MERGE` statements. This is the correct and modern way to handle this logic in BigQuery.Genera il DDL per questa query di input.
Il client MCP chiama lo strumento
generate_ddl_suggestionper avviare un job di suggerimento. Il client ottiene i risultati dei suggerimenti chiamando lo strumentofetch_ddl_suggestion. Quando il suggerimento è disponibile, il client MCP lo visualizza.Se le istruzioni DDL sono corrette, puoi inviare un prompt per anteporre le istruzioni DDL generate alla query per migliorare la qualità della traduzione.
Anteponi le istruzioni DDL generate alla query di input e ritraduci.
Quando utilizzi questo prompt, il client MCP antepone le istruzioni DDL alla query di input originale e chiama lo strumento
translate_query. Il client chiama lo strumentoget_translationper ottenere la traduzione. La nuova traduzione della query e i log vengono mantenuti quando sono disponibili.Se le istruzioni DDL generate sono corrette, gli errori
RelationNotFoundoAttributeNotFounddovrebbero essere risolti, il che si traduce in una migliore qualità della traduzione.
Nei prompt, sostituisci quanto segue:
DIALECT: il dialetto della query SQL che stai traducendo.QUERY: la query che stai traducendo.FILENAME: il file che contiene la query che stai traducendo.PROJECT_NUMBER: il tuo Google Cloud numero di progetto.LOCATION: la località del traduttore SQL.
Configurazioni di sicurezza e protezione 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.
Utilizza Model Armor
Model Armor è un servizioGoogle Cloud progettato per migliorare la sicurezza delle tue applicazioni di AI. Funziona analizzando in modo proattivo i prompt e le risposte degli LLM, proteggendo da vari rischi e supportando pratiche di AI responsabile. Che tu stia eseguendo il deployment dell'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 policy di sicurezza e protezione dell'AI in modo coerente nel tuo panorama di AI diversificato.
Quando Model Armor è abilitato con il logging abilitato, Model Armor registra l'intero payload. Ciò potrebbe esporre informazioni sensibili nei log.
Routing delle richieste MCP a Model Armor
Model Armor è disponibile in alcune regioni. Quando Model Armor è abilitato e utilizzi un server MCP in una giurisdizione non supportata da Model Armor, il comportamento di routing della chiamata potrebbe essere diverso per i vari server MCP e potrebbe violare la conformità della residenza dei dati per i dati in uso e in transito. Per saperne di più sul comportamento dei singoli server MCP, consulta Prodotti supportati da Model Armor.Abilita Model Armor
Per poter utilizzare Model Armor, devi abilitare le API Model Armor.
Console
Abilita l'API Model Armor, se non è già abilitata.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.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:
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud init-
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
LOCATIONcon la regione in cui vuoi utilizzare Model Armor.
Configura la protezione per i server MCP Google e Google Cloud remoti
Per proteggere le chiamate allo strumento 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 si applicano a tutto il progetto. Questa configurazione applica un insieme coerente di filtri a tutte le chiamate e risposte dello strumento MCP all'interno del progetto.
Configura un'impostazione di base di Model Armor con la sanitizzazione MCP abilitata. Per saperne di più, consulta Configura 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 un'applicazione.MEDIUM_AND_ABOVE: Il livello di fiducia per le impostazioni del filtro IA 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.
Disabilita la scansione del traffico MCP con Model Armor
Per impedire a Model Armor di scansionare automaticamente il traffico da e verso i server Google MCP 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 al traffico del server MCP di Google.
Le impostazioni di base e la configurazione generale di Model Armor possono influire su altri aspetti oltre a MCP. Poiché Model Armor si integra con servizi come Vertex AI, 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.
Controlla l'utilizzo di MCP con le policy IAM
Le policy di negazione e le policy di autorizzazione di Identity and Access Management (IAM) ti aiutano a proteggere Google Cloud e i server MCP di Google.
Puoi combinare più criteri per creare policy di sicurezza e governance personalizzate consentendo o negando l'accesso in base a quanto segue:
- L'entità.
- Proprietà dello strumento, come l'attributo di sola lettura.
- Il nome del servizio o dello strumento.
- L'ID client OAuth dell'applicazione.
Per saperne di più, consulta Controlla l'utilizzo di MCP con Identity and Access Management.
Quote e limiti
Sei comunque soggetto alle quote applicate dalle API chiamate dagli strumenti del server MCP. I seguenti metodi API vengono chiamati dagli strumenti del server MCP:
| Strumento | Metodo API | Quote |
|---|---|---|
explain_translation |
GetMigrationWorkflow |
Quote e limiti dell'API BigQuery Migration |
fetch_ddl_suggestion |
GetMigrationWorkflow |
Quote e limiti dell'API BigQuery Migration |
get_translation |
GetMigrationWorkflow |
Quote e limiti dell'API BigQuery Migration |
generate_ddl_suggestion |
CreateMigrationWorkflow |
Quote e limiti dell'API BigQuery Migration |
translate_query |
CreateMigrationWorkflow |
Quote e limiti dell'API BigQuery Migration |
Per saperne di più sulle quote di BigQuery, consulta Quote e limiti.
Passaggi successivi
- Leggi la documentazione di riferimento di MCP per BigQuery Migration Service.
- Scopri di più sui server MCP di Google Cloud.
- Consulta i prodotti supportati da MCP.