Utilizza il server MCP remoto Dataform

Questo documento mostra come utilizzare il server Model Context Protocol (MCP) remoto di Dataform per connettersi ad applicazioni AI, tra cui Gemini CLI, ChatGPT, Claude e applicazioni personalizzate che stai sviluppando. Puoi utilizzare il server MCP remoto Dataform per eseguire attività come la gestione di asset di codice come blocchi note e query salvate, la pianificazione e l'esecuzione di pipeline in BigQuery e la risoluzione dei problemi relativi agli errori di esecuzione. Il server MCP remoto Dataform viene attivato quando abiliti l'API Dataform.

Il Model Context Protocol (MCP) standardizza il modo in cui i modelli linguistici di grandi dimensioni (LLM) e le applicazioni o 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 AI per la comunicazione tra il client AI MCP e il server MCP. Per maggiori informazioni sull'architettura MCP, consulta la sezione Architettura MCP.

Google e server MCP Google Cloud remoti

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

  • Individuazione semplificata e centralizzata
  • Endpoint HTTP globali o regionali gestiti
  • Autorizzazione granulare
  • Sicurezza facoltativa di prompt e risposte con la protezione Model Armor
  • Audit log 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 carichi di lavoro.
  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. 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.

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

  5. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  6. 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

  7. 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.

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

  9. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  10. Connetti il tuo repository Dataform a un provider Git come GitHub o GitLab. Per saperne di più, vedi Connettersi a un repository Git di terze parti.
  11. Configura l'agente AI con un token OAuth valido utilizzando l'ambito BigQuery.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per utilizzare il server MCP di Dataform, chiedi all'amministratore di concederti i seguenti ruoli IAM sul tuo progetto Google Cloud :

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 MCP Dataform. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

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

  • Effettua chiamate allo strumento MCP: mcp.tools.call
  • Crea repository Dataform, spazi di lavoro e modifica file:
    • dataform.workspaces.create
    • dataform.workspaces.get
    • dataform.workspaces.list
    • dataform.workspaces.delete
    • dataform.workspaces.readFile
    • dataform.workspaces.writeFile
    • dataform.workspaces.moveFile
    • dataform.workspaces.removeFile
    • dataform.workspaces.queryDirectoryContents
    • dataform.workspaces.searchFiles
    • dataform.workspaces.commit
    • dataform.workspaces.push
    • dataform.workspaces.pull
    • dataform.workspaces.fetchHistory
    • dataform.workspaces.fetchDiff
    • dataform.workspaces.fetchFileGitStatuses
    • dataform.compilationResults.create
    • dataform.compilationResults.get
    • dataform.compilationResults.list
    • dataform.workflowInvocations.create
    • dataform.workflowInvocations.get
    • dataform.workflowInvocations.list
    • dataform.repositories.get
    • dataform.repositories.list
    • dataform.locations.get
    • dataform.locations.list
  • Esegui job BigQuery:
    • bigquery.jobs.create
    • bigquery.config.get

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

Autenticazione e autorizzazione

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

Il server MCP Dataform gestisce l'accesso tramite i seguenti meccanismi di autenticazione e autorizzazione:

  • Le richieste di individuazione (tools/list) non richiedono l'autenticazione, il che consente agli agenti di identificare gli strumenti Dataform disponibili senza necessità di un'autorizzazione preventiva.
  • Le richieste di esecuzione (tools/call) vengono autenticate utilizzando OAuth, il che richiede all'agente di fornire un token OAuth valido che utilizzi l'ambito BigQuery. Per maggiori informazioni, consulta la sezione Ambiti OAuth MCP di Dataform.

Ti 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 Eseguire l'autenticazione nei server MCP.

Ambiti OAuth MCP di Dataform

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.

Per interagire con il server MCP Dataform, l'agente deve utilizzare l'ambito OAuth BigQuery. Questo ambito consente all'agente di gestire il codice di trasformazione e attivare le esecuzioni che vengono eseguite come job BigQuery.

Potrebbero essere necessari ambiti aggiuntivi per le risorse a cui si accede durante una chiamata di strumenti. Per visualizzare un elenco degli ambiti richiesti per Dataform, consulta l'API Dataform.

Configura un client MCP per utilizzare il server MCP Dataform

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 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.

Nella tua applicazione AI, cerca un modo per aggiungere o connetterti a un server MCP remoto. Per il server MCP Dataform:

  • Nome server: server MCP Dataform
  • URL del server o endpoint: https://dataform.REGION.rep.googleapis.com/mcp

    Sostituisci REGION con la regione in cui si trova il repository, ad esempio us-central1.

  • Trasporto: HTTP

  • Dettagli di autenticazione: a seconda di come vuoi autenticarti, puoi inserire le tue Google Cloud credenziali, l'ID client e il segreto OAuth oppure l'identità e le credenziali di un agente. Per saperne di più sull'autenticazione, consulta Eseguire l'autenticazione nei server MCP.

Per indicazioni specifiche dell'applicazione sulla configurazione e la connessione al server MCP, vedi Indicazioni specifiche per il client.

Per indicazioni più generali, consulta le seguenti risorse:

Funzionalità dell'agente

Il server MCP Dataform fornisce un insieme di strumenti che consentono agli agenti AI di interagire con i workflow di trasformazione dei dati e di eseguirne il debug orchestrando le chiamate API Dataform. Il server fornisce strumenti per:

  • Configura asset di singoli file. Gli agenti gestiscono le configurazioni di base delle risorse, tra cui la creazione di repository e le query sui contenuti delle directory.
  • Gestire le pipeline e le release. Gli agenti gestiscono le configurazioni del workflow e del rilascio, generano i risultati della compilazione e attivano o annullano le chiamate del workflow.
  • Risolvi i problemi e convalida. Gli agenti identificano il motivo per cui le pipeline non vanno a buon fine recuperando i risultati della compilazione ed eseguendo query sulle azioni di chiamata del flusso di lavoro.

Strumenti disponibili

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

Strumenti per le liste

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

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

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

Prompt di esempio

Utilizza i seguenti prompt di esempio per ottenere informazioni sulle risorse Dataform, orchestrare i flussi di lavoro o risolvere i problemi relativi alle esecuzioni:

  • "Crea un nuovo repository Dataform denominato REPOSITORY_ID nel progetto PROJECT_ID."
  • "Crea un nuovo asset notebook nel progetto PROJECT_ID."
  • "Read the content of in my repository." (leggi i contenuti di FILE_NAME nel mio repository)
  • "Esegui il commit delle modifiche a FILE_NAME in REPOSITORY_ID."
  • "Crea una configurazione del flusso di lavoro che pianifichi l'esecuzione della mia pipeline ogni giorno alle 8:00."
  • "Attiva una nuova esecuzione per la configurazione del flusso di lavoro WORKFLOW_CONFIGURATION_ID."
  • "Controlla lo stato delle mie recenti esecuzioni della pipeline e dimmi se qualcuna non è riuscita, inclusi i dettagli dell'errore."
  • "Mostrami i dettagli dell'esecuzione specifica non riuscita."
  • "Elenca tutti i repository Dataform nella regione REGION del progetto PROJECT_ID."
  • "Annulla la chiamata del flusso di lavoro denominato WORKFLOW_INVOCATION_ID nel repository REPOSITORY_ID, che è attualmente in esecuzione."

Nei prompt, sostituisci quanto segue:

  • FILE_NAME: il nome del file.
  • PROJECT_ID: l'ID progetto Google Cloud .
  • REGION: il nome della regione.
  • REPOSITORY_ID: l'identificatore univoco del tuo repository Dataform, ad esempio quickstart-repository.
  • WORKFLOW_CONFIGURATION_ID: l'identificatore univoco della configurazione del flusso di lavoro.
  • WORKFLOW_INVOCATION_ID: l'identificatore univoco per una specifica esecuzione del workflow. Puoi ottenere questo identificatore dai risultati di una richiesta workflowInvocations.list o dal campo name di una risposta workflowInvocations.create.

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 criteri 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 analizzando in modo proattivo i prompt e le risposte degli LLM, proteggendo da vari rischi e supportando praticheAI responsabilele. Che tu stia implementando l'AI nel tuo ambiente cloud o in 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 in modo coerente le tue norme di sicurezza dell'AI 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.

Routing delle richieste MCP a Model Armor

Il server MCP Dataform utilizza il routing transgiurisdizionale. Quando attivi Model Armor, il server MCP invia tutte le richieste a Model Armor per lo screening. Il routing cross-jurisdictional potrebbe violare gli impegni di conformità alla residenza dei dati esistenti per i dati in uso e in transito. Per saperne di più sul comportamento di altri server MCP, consulta Prodotti supportati da Model Armor.

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 dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). 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 allo 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 dello strumento 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.

Disabilita 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 Google.

Le impostazioni di base di Model Armor e la configurazione generale possono influire su più di un solo 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.

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

Identity and Access Management (IAM) le policy di negazione e le policy di autorizzazione ti aiutano a proteggere Google Cloud i server Google MCP.

Puoi combinare più criteri per creare policy di sicurezza e governance personalizzate consentendo o negando l'accesso in base a quanto segue:

  • Il soggetto principale.
  • 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 Controllare l'utilizzo di MCP con Identity and Access Management.

Passaggi successivi