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 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
- Esegui l'applicazione sull'infrastruttura del servizio e offri un endpoint HTTP alle applicazioni 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 replicate 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 2026-07-28 di MCP e le modifiche principali.
Potresti voler utilizzare il server MCP locale di AlloyDB per i seguenti motivi:
Sviluppo e test locali
Utilizzo offline di MCP
Gestisci i cluster e le istanze AlloyDB dalla tua applicazione di AI
Per saperne di più su come utilizzare il server MCP locale, consulta Utilizza AlloyDB per PostgreSQL con MCP, Gemini CLI e altri agenti o Server MCP AlloyDB per PostgreSQL. Le sezioni seguenti si applicano solo al server MCP remoto AlloyDB per PostgreSQL.
Google Cloud server MCP 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.
Limitazioni
Il server MCP remoto di AlloyDB presenta le seguenti limitazioni:
Lo strumento
create_usernon supporta la creazione di un utente con autenticazione integrata con una password. Un utente può essere creato solo con l'autenticazione Identity and Access Management (IAM).Se lo strumento
execute_sqlrestituisce una risposta di dimensioni superiori a 10 MB, la risposta potrebbe essere troncata.execute_sql_read_onlyè supportato solo per PostgreSQL 17 e versioni successive.
Prima di iniziare
- 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.
-
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.
Enable the AlloyDB API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init -
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.
Enable the AlloyDB API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. 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.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per utilizzare il server MCP AlloyDB per PostgreSQL, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto in cui vuoi utilizzare il server MCP AlloyDB per PostgreSQL:
-
Creare un'istanza AlloyDB:
AlloyDB Admin (
roles/alloydb.admin) -
Crea un utente AlloyDB:
AlloyDB Admin (
roles/alloydb.admin) -
Esegui query SQL in AlloyDB:
- AlloyDB Admin (
roles/alloydb.admin) - AlloyDB Database User (
roles/alloydb.databaseUser) (funziona anche Studio Query User (roles/databasesconsole.studioQueryUser))
- AlloyDB Admin (
-
Esegui query SQL di sola lettura in AlloyDB:
- Visualizzatore AlloyDB (
roles/alloydb.viewer) - AlloyDB Admin (
roles/alloydb.admin) - Utente database AlloyDB (
roles/alloydb.databaseUser)
- Visualizzatore AlloyDB (
-
Recupera un'istanza AlloyDB o elenca tutte le istanze AlloyDB in un progetto:
AlloyDB Viewer (
roles/alloydb.viewer) -
Elenco degli utenti AlloyDB:
AlloyDB Viewer (
roles/alloydb.viewer)
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 di AlloyDB per PostgreSQL. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per utilizzare il server MCP AlloyDB per PostgreSQL sono necessarie le seguenti autorizzazioni:
-
Effettua chiamate allo strumento MCP:
mcp.tools.call -
Crea un cluster AlloyDB:
alloydb.cluster.create -
Crea un utente AlloyDB:
alloydb.users.create -
Clona un'istanza AlloyDB:
alloydb.instances.create -
Esegui query SQL su un'istanza AlloyDB:
-
alloydb.instances.executeSql -
alloydb.instances.login
-
-
Esegui query SQL di sola lettura su un'istanza AlloyDB:
-
alloydb.instances.executeSqlReadOnly -
alloydb.instances.login
-
-
Recupera un cluster AlloyDB:
alloydb.instances.get -
Recupera un'operazione del cluster AlloyDB:
alloydb.clusters.get -
Importa i dati in un cluster AlloyDB:
alloydb.clusters.import -
Esporta i dati da un cluster AlloyDB in Cloud Storage:
alloydb.clusters.export -
Elenca i cluster AlloyDB in un progetto:
alloydb.clusters.list -
Elenco degli utenti AlloyDB:
alloydb.users.list -
Aggiorna un cluster AlloyDB:
alloydb.clusters.update -
Aggiorna un utente AlloyDB:
alloydb.users.update
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Autenticazione e autorizzazione
Il server MCP remoto di AlloyDB per PostgreSQL utilizza 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 di AlloyDB non accetta chiavi API.
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 Esegui l'autenticazione ai server MCP.
Ambiti OAuth MCP AlloyDB
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.
AlloyDB ha i seguenti ambiti OAuth dello strumento MCP:
| URI dell'ambito per gcloud CLI | Descrizione |
|---|---|
https://www.googleapis.com/auth/alloydb |
Visualizzare, modificare, configurare ed eliminare i tuoi dati Google Cloud AlloyDB, nonché visualizzare l'indirizzo email del tuo Account Google. |
Potrebbero essere necessari ambiti aggiuntivi per le risorse a cui si accede durante una chiamata allo strumento. Per visualizzare un elenco degli ambiti richiesti per AlloyDB, consulta API AlloyDB Admin.
Configura un client MCP per utilizzare il server MCP AlloyDB
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.
Nella tua applicazione di AI, cerca un modo per aggiungere o connetterti a un server MCP remoto. Per il server MCP AlloyDB per PostgreSQL, inserisci le seguenti informazioni, se richieste:
- Nome server: server MCP AlloyDB per PostgreSQL
- URL server o Endpoint:
https://alloydb.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 connetterti al server MCP AlloyDB per PostgreSQL.
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 AlloyDB per PostgreSQL, consulta il riferimento MCP AlloyDB per PostgreSQL.
Strumenti per gli elenchi
Utilizza l'ispettore MCP per elencare gli strumenti o invia una richiesta HTTP tools/list direttamente al server MCP remoto AlloyDB per PostgreSQL. Il metodo tools/list non richiede l'autenticazione.
curl -X POST https://alloydb.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. Ad esempio, per AlloyDB per PostgreSQL, potrebbe esseremcp/toolset-name.MCP_PROTOCOL_VERSION: la versione del protocollo MCP. Ad esempio,2026-07-28.
Esegui SQL
Per eseguire istruzioni SQL, segui questi passaggi:
Imposta l'impostazione dell'istanza
data_api_accesssull'istanza AlloyDB sul valoreALLOW_DATA_API_ACCESS. Quando crei un'istanza utilizzando lo strumentocreate_instance, la configurazionedata_api_accessviene attivata automaticamente.Se la configurazione
data_api_accessnon è abilitata su un'istanza, puoi attivarla utilizzando il comando curl per aggiornare il valore del campodataApiAccessinENABLED:curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://alloydb.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_ID/instances/INSTANCE_ID?updateMask=dataApiAccess \ -d '{ "dataApiAccess": "ENABLED", }'Sostituisci quanto segue:
PROJECT_ID: l'ID del tuo progetto Google Cloud .LOCATION: la regione in cui si trova il cluster AlloyDB.CLUSTER_ID: l'ID del tuo cluster AlloyDB.INSTANCE_ID: l'ID dell'istanza AlloyDB.
In Gemini CLI, inserisci un prompt simile al seguente:
Abilita l'autenticazione database IAM sull'istanza AlloyDB INSTANCE_NAME. Assicurati che le istruzioni SQL utilizzino i privilegi associati all'account utente di autenticazione del database IAM USER_ACCOUNT.Sostituisci quanto segue:
INSTANCE_NAME: il nome dell'istanza AlloyDB.USER_ACCOUNT: l'account utente IAM da utilizzare per l'autenticazione durante l'esecuzione delle istruzioni SQL.
Esempi di casi d'uso
Di seguito sono riportati alcuni casi d'uso di esempio per il server MCP di AlloyDB.
Sviluppo di applicazioni web
Un caso d'uso di esempio potrebbe essere lo sviluppo rapido di applicazioni web e il provisioning di istanze AlloyDB come database di origine. In questo caso d'uso, l'utilizzo del server MCP AlloyDB ti consente di creare un nuovo database e di compilarlo con i dati iniziali per un nuovo progetto utilizzando il linguaggio naturale.
Prompt di esempio:
"Crea una nuova istanza di sviluppo AlloyDB PostgreSQL e configura una tabella denominata products."
Workflow: il workflow per la configurazione di un'applicazione web potrebbe essere il seguente:
Provisioning: l'agente crea un cluster in cui è possibile allocare l'istanza. L'agente chiama quindi lo strumento
create_instanceper creare una nuova istanza AlloyDB con specifiche di dimensionamento dell'ambiente di sviluppo. Puoi abilitare la connettività IP pubblico nella nuova istanza. Puoi anche automatizzare la configurazione degli endpoint di Private Service Connect.Verifica: l'agente utilizza lo strumento
get_operationper eseguire il polling dello stato dell'operazione di creazione dell'istanza.Connessione: al termine dell'operazione, l'agente utilizza lo strumento
get_instanceper recuperare i metadati di connessione dell'istanza.Configurazione dello schema: l'agente crea il database e poi utilizza lo strumento
execute_sqlper eseguire l'istruzione SQLCREATE TABLE products.Seeding dei dati: l'agente utilizza nuovamente
execute_sqlper inserire i dati di seeding iniziali (DML) nella tabella appena creata.
Gestione delle configurazioni operative e del database
In questo caso d'uso di esempio, potresti esaminare le istanze di database esistenti per assicurarti che soddisfino gli standard di configurazione operativa. Puoi anche utilizzare l'agente per gestire gli utenti del database nell'istanza.
Prompt di esempio:
"Elenca tutte le istanze PostgreSQL nel mio progetto e mostrami i relativi dettagli per verificare che utilizzino la stessa configurazione e che l'elenco più recente degli utenti del database sia stato aggiornato correttamente."
Flusso di lavoro: il flusso di lavoro per controllare l'istanza AlloyDB e la configurazione dell'utente del database potrebbe essere simile al seguente:
Rilevamento: l'agente utilizza
list_instancesper recuperare un elenco di tutte le istanze AlloyDB nel progetto.Ispezione: per ogni istanza identificata, l'agente chiama
get_instanceper recuperare i metadati di configurazione dettagliati, come la versione del database, la regione e il tipo di macchina, e chiamalist_usersper controllare gli utenti del database nell'istanza. Questi metadati includono informazioni sull'attivazione della connettività IP pubblica o sulla configurazione degli endpoint Private Service Connect.Reporting: l'agente riassume i risultati, evidenziando eventuali istanze o utenti che si discostano dalla configurazione prevista.
Configurazioni di sicurezza e protezione facoltative
MCP introduce nuovi rischi e considerazioni sulla sicurezza a causa dell'ampia varietà di azioni che possono essere intraprese 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:
Nella console Google Cloud , 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.
-
Esegui il comando seguente per utilizzare l'endpoint API globale:
gcloud config set api_endpoint_overrides/modelarmor "https://modelarmor.googleapis.com/"
Configura la protezione per i server MCP Google e Google Cloud remoti
Per proteggere le chiamate e le risposte degli strumenti 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 esamina 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 confidenza per le impostazioni dei filtri di 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 la scansione del traffico MCP con Model Armor
Per impedire a Model Armor di scansionare 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 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.
Passaggi successivi
- Leggi la documentazione di riferimento di AlloyDB MCP.
- Scopri di più sui server MCP di Google Cloud.