Utilizzare i server MCP

I server MCP consentono di accedere ed eseguire strumenti per creare, gestire ed eseguire query sulle risorseGoogle Cloud utilizzando le piattaforme di agenti AI. Questo documento descrive come connettersi ai Google Cloud server Model Context Protocol (MCP) remoti dall'estensione Google Cloud Data Agent Kit per Visual Studio Code.

Server MCP supportati

I seguenti server MCP remoti sono supportati per l'utilizzo nell'estensione Data Agent Kit per VS Code. Per dettagli specifici del prodotto, consulta queste guide:

Un server MCP remoto viene abilitato quando abiliti l'API corrispondente. Ad esempio, quando abiliti l'API Spanner nel tuo progetto, viene abilitato automaticamente il MCP remoto Spanner.

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.

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.

Prima di iniziare

  1. Installa l'estensione Data Agent Kit per VS Code.
  2. Configura l'estensione. Assicurati di abilitare tutte le API.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per accedere ai server Google Cloud MCP dal tuo IDE, chiedi all'amministratore di concederti il ruolo IAM Utente dello strumento MCP (roles/mcp.toolUser) nel progetto in cui stai lavorando.

A seconda delle risorse a cui prevedi di accedere, potresti aver bisogno di ruoli aggiuntivi oltre a quelli che ti consentono di utilizzare l'estensione. Per visualizzare i ruoli minimi richiesti per accedere ai server MCP remoti per ogni servizio Google Cloudsupportato, consulta le guide specifiche per prodotto.

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

Simulazione dell'identità dei service account

Quando ti connetti ai server MCP dall'estensione Data Agent Kit per VS Code, puoi utilizzare le tue credenziali utente o l'impersonificazione del service account. Ti consigliamo di utilizzare la simulazione dell'identità del account di servizio per gcloud CLI e le credenziali predefinite dell'applicazione (ADC) quando ti connetti ai server MCP.

Ciò comporta l'utilizzo delle credenziali che hai utilizzato per accedere a Google Cloud e a gcloud CLI in VS Code, in genere il tuo account utente. Poi richiedi credenziali di breve durata per il tuo service account e utilizza le credenziali del account di servizio anziché le tue credenziali utente. Per saperne di più, consulta Utilizza account di servizio account.

Per indicazioni sull'utilizzo della simulazione dell'identità del account di servizio per l'autenticazione ai server MCP, consulta Simulazione dell'identità del service account.

Autenticazione e autorizzazione

Completa i seguenti passaggi di autenticazione e autorizzazione. Per ulteriori informazioni sull'autorizzazione dell'Account Google, consulta Utilizzare OAuth 2.0 per accedere alle API di Google.

Avviare la procedura di autorizzazione nell'IDE

Per iniziare la procedura, invia un prompt alla chat con agente nell'IDE.

  1. Se il riquadro della chat non viene visualizzato, apri la tavolozza dei comandi premendo Cmd/Ctrl+Shift+P, poi cerca ed esegui Apri chat.
  2. Nel riquadro della chat, invia il seguente prompt:

    list BigQuery datasets using mcp server
    

    L'agente propone il seguente comando gcloud CLI:

    gcloud config get-value project
    
  3. Fai clic su Consenti.

    Viene visualizzata una finestra di dialogo che ti chiede se vuoi fornire un ID client.

  4. Fai clic su Copia URI e procedi.

    Si apre la tavolozza dei comandi e viene richiesto un ID client OAuth.

Ottenere l'ID client OAuth

Successivamente, ottieni l'ID client OAuth dalla console Google Cloud .

  1. Nel browser, apri la consoleGoogle Cloud .
  2. Fai clic su Seleziona un progetto.
  3. Seleziona lo stesso progetto che utilizzi nell'estensione Data Agent Kit per VS Code.
  4. Nel menu di navigazione dell'API, fai clic su Credenziali.
  5. In ID client OAuth 2.0, fai clic sull'ID del client che vuoi utilizzare.
  6. Nel riquadro dei dettagli, in Ulteriori informazioni, trova e copia il valore di ID client.

Fornire le credenziali a VS Code

Inserisci l'ID client e il client secret nell'IDE.

  1. Torna a VS Code.
  2. Incolla l'ID client nella finestra di dialogo Aggiungi dettagli registrazione client.
  3. Premi Invio.
  4. Torna alla console e copia il valore di Client secret.
  5. Torna a VS Code.
  6. Incolla il client secret nella finestra di dialogo Aggiungi dettagli registrazione client e premi Invio.

    L'agente continua a essere eseguito, poi viene visualizzata una finestra di dialogo che indica che il server MCP vuole autenticarsi.

  7. Fai clic su Consenti.

  8. Se ti viene chiesto di accedere di nuovo al tuo Account Google, segui le istruzioni e torna all'IDE.

    L'agente recupera i set di dati BigQuery richiesti dal server MCP e visualizza l'elenco.

Configurare Google Cloud i server MCP remoti nell'estensione

Utilizzando gli strumenti agentici nell'IDE, puoi creare un'istanza di un client MCP che si connette a un singolo server MCP. Puoi 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.

Per ogni cliente, utilizza quanto segue in base alle necessità.

  • Nome server: SERVER_NAME
  • Endpoint: ENDPOINT
  • 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.
  • Ambito OAuth: l'ambito OAuth 2.0 che vuoi utilizzare quando ti connetti al server AlloyDB MCP.

Sostituisci SERVER_NAME e ENDPOINT con i valori del servizio a cui ti stai connettendo. Per AlloyDB, devi specificare una regione, ad esempio us-east4.

Servizio

Nome del server

Endpoint

AlloyDB

Server MCP AlloyDB

https://alloydb.REGION.rep.googleapis.com/mcp

BigQuery

Server BigQuery MCP

https://bigquery.googleapis.com/mcp

Cloud SQL

Server MCP Cloud SQL

https://sqladmin.googleapis.com/mcp

Knowledge Catalog

Server MCP per Knowledge Catalog

https://dataplex.googleapis.com/mcp

Managed Service for Apache Spark

Server MCP di Managed Service for Apache Spark

https://dataproc-us-central1.googleapis.com/mcp

Spanner

Server MCP Spanner

https://spanner.googleapis.com/mcp

Configurazioni MCP per la casella degli strumenti e i server MCP remoti

Utilizza le seguenti configurazioni per ogni servizio Google Cloud Data Agent Kit a cui vuoi connetterti.

AlloyDB

Remoto

'alloydb': {
  remote: {
    vscode: {
      'datacloud_alloydb_remote': {
        type: 'http',
        url: 'https://alloydb.REGION.rep.googleapis.com/mcp',
        authProviderType: 'google_credentials',
        oauth: {
          scopes: ['https://www.googleapis.com/auth/cloud-platform'],
        },
      },

Locale

'datacloud_alloydb-postgres-admin_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'alloydb-postgres-admin',
    '--stdio'
  ],
  'env': {},
},
'datacloud_alloydb-postgres_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'alloydb-postgres',
    '--stdio'
  ],
  'env': {
    'ALLOYDB_POSTGRES_CLUSTER': '',
    'ALLOYDB_POSTGRES_DATABASE': '',
    'ALLOYDB_POSTGRES_INSTANCE': '',
    'ALLOYDB_POSTGRES_IP_TYPE': '',
    'ALLOYDB_POSTGRES_PASSWORD': '',
    'ALLOYDB_POSTGRES_PROJECT': '',
    'ALLOYDB_POSTGRES_REGION': '',
    'ALLOYDB_POSTGRES_USER': '',
  },
},

BigQuery

Remoto

'datacloud_bigquery_remote': {
  type: 'http',
  url: 'https://bigquery.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: [
      'https://www.googleapis.com/auth/bigquery',
      'https://www.googleapis.com/auth/cloud-platform',
    ],
  },
},

Locale

'datacloud_bigquery_toolbox': {
  command: 'npx',
  args: [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'bigquery',
    '--stdio'
  ],
  env: {
    'BIGQUERY_LOCATION': '',
    'BIGQUERY_PROJECT': '',
  },
},

Cloud SQL

Remoto

'datacloud_cloud-sql_remote': {
  type: 'http',
  url: 'https://sqladmin.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  },
},

Locale

'datacloud_cloud-sql-postgresql-admin_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'cloud-sql-postgres-admin',
    '--stdio'
  ],
  'env': {},
},
'datacloud_cloud-sql-postgresql_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'cloud-sql-postgres',
    '--stdio'
  ],
  'env': {
    'CLOUD_SQL_POSTGRES_DATABASE': '',
    'CLOUD_SQL_POSTGRES_INSTANCE': '',
    'CLOUD_SQL_POSTGRES_IP_TYPE': '',
    'CLOUD_SQL_POSTGRES_PASSWORD': '',
    'CLOUD_SQL_POSTGRES_PROJECT': '',
    'CLOUD_SQL_POSTGRES_REGION': '',
    'CLOUD_SQL_POSTGRES_USER': '',
  },
},

Knowledge Catalog

Remoto

'datacloud_knowledge_catalog_remote': {
  type: 'http',
  url: 'https://dataplex.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: ['https://www.googleapis.com/auth/cloud-platform'],
  },

Locale

'datacloud_knowledge_catalog_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'dataplex',
    '--stdio'
  ],
  'env': {
      'DATAPLEX_PROJECT': '${PROJECT_ID}',
    }

Managed Service for Apache Spark

Remoto

'datacloud_managed_apache_spark_remote': {
          type: 'http',
          url: 'https://dataproc-${REGION}.googleapis.com/mcp',
          authProviderType: 'google_credentials',
          oauth: {
            scopes: ['https://www.googleapis.com/auth/dataproc'],
          },
        },

Locale

'datacloud_managed_apache_spark_toolbox': {
        '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
        'command': 'npx',
        'args': [
          '-y',
          TOOLBOX_VERSION,
          '--prebuilt',
          'dataproc',
          '--stdio',
          '--user-agent-metadata',
          'google-cloud-data-agent-kit-${IDE_TYPE}',
        ],
        'env': {
          'DATAPROC_PROJECT': '${PROJECT_ID}',
          'DATAPROC_REGION': '${REGION}',
        },
      },
      'datacloud_serverless-spark_toolbox': {
        '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
        'command': 'npx',
        'args': [
          '-y',
          TOOLBOX_VERSION,
          '--prebuilt',
          'serverless-spark',
          '--stdio',
          '--user-agent-metadata',
          'google-cloud-data-agent-kit-${IDE_TYPE}',
        ],
        'env': {
          'SERVERLESS_SPARK_PROJECT': '${PROJECT_ID}',
          'SERVERLESS_SPARK_LOCATION': '${REGION}',
        },
      },

Spanner

Remoto

'datacloud_spanner_remote': {
  type: 'http',
  url: 'https://spanner.googleapis.com/mcp',
  authProviderType: 'google_credentials',
  oauth: {
    scopes: [
      'https://www.googleapis.com/auth/spanner.admin',
      'https://www.googleapis.com/auth/spanner.data',
    ],
   },
},

Locale

'datacloud_spanner_toolbox': {
  '$typeName': 'exa.cascade_plugins_pb.CascadePluginCommandTemplate',
  'command': 'npx',
  'args': [
    '-y',
    '@toolbox-sdk/server@>=1.1.0',
    '--prebuilt',
    'spanner',
    '--stdio'
  ],
  'env': {
    'SPANNER_DATABASE': '',
    'SPANNER_DIALECT': '',
    'SPANNER_INSTANCE': '',
    'SPANNER_PROJECT': '',
  },
},

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

Risoluzione dei problemi

Per trovare metodi per diagnosticare e risolvere gli errori dell'estensione Data Agent Kit per VS Code, consulta Risoluzione dei problemi relativi all'estensione Data Agent Kit per VS Code.

Passaggi successivi