Usa questa guida se amministri un'area di lavoro ChatGPT o utilizzi ChatGPT Plus o ChatGPT Pro e vuoi collegare ChatGPT a Snowflake tramite un server MCP gestito da Snowflake.
La maggior parte della configurazione avviene in Snowflake. Quando Snowflake è pronto, completa in ChatGPT la connessione al modello Snowflake, quindi abilita il plugin Snowflake che usa tale modello.
Cosa stai configurando
Stai creando un server MCP gestito da Snowflake che funge da endpoint del connettore per ChatGPT. Il server MCP definisce:
Le azioni che ChatGPT può usare.
I dati o gli oggetti Snowflake a cui tali strumenti possono accedere.
Il ruolo Snowflake con cui ciascun utente concede l'autorizzazione.
Il database, lo schema e il nome del server MCP Snowflake che identificano l'endpoint.
Configura quindi Snowflake - Modello ufficiale in ChatGPT con l'URL completo del server MCP gestito. La schermata di configurazione del modello può mostrare l'URL in quattro campi distinti:
Prefisso host Snowflake.
Database.
Schema.
Nome del server MCP.
ChatGPT può rilevare e usare soltanto gli strumenti esposti dal server MCP e consentiti dal ruolo Snowflake con cui l'utente concede l'autorizzazione.
Prima di iniziare
Ti occorrono:
Accesso come amministratore o proprietario di un'area di lavoro ChatGPT oppure accesso a ChatGPT Plus o ChatGPT Pro.
Un accesso a Snowflake che consenta di creare oggetti server MCP e concedere autorizzazioni.
Il database e lo schema Snowflake in cui risiederà il server MCP.
Una decisione sulle operazioni da consentire a ChatGPT, ad esempio Cortex Search, Cortex Analyst, SQL in sola lettura oppure una procedura o funzione specifica.
Un ruolo Snowflake con privilegi minimi che gli utenti utilizzeranno per autorizzare l'app.
Il prefisso host dell'account Snowflake, incluso l'eventuale suffisso della regione o del cloud.
Se il tuo account Snowflake limita l'accesso tramite criteri di rete o un elenco di indirizzi IP consentiti, chiedi a un amministratore Snowflake di consentire le connessioni in entrata dagli attuali intervalli IP in uscita del connettore ChatGPT. L'elenco è dinamico e deve essere mantenuto aggiornato.
Valori da preparare
Prefisso host Snowflake: tutto ciò che precede .snowflakecomputing.com nell'URL dell'account Snowflake.
Database: il database che contiene il server MCP.
Schema: lo schema che contiene il server MCP.
Nome del server MCP: il nome dell'oggetto server MCP Snowflake.
URL completo del server MCP gestito, se la schermata di configurazione di ChatGPT richiede un URL.
Ruolo Snowflake: il ruolo che gli utenti devono usare per autorizzare l'app.
Elenco degli strumenti: gli oggetti e le azioni Snowflake che vuoi far usare a ChatGPT.
Decidi cosa può fare ChatGPT
Seleziona soltanto le funzionalità che vuoi esporre. Le opzioni più comuni includono:
Ricerca con Cortex Search per trovare risposte nei dati o nei contenuti Snowflake indicizzati.
Domande e risposte con Cortex Analyst tramite una vista semantica approvata.
SQL in sola lettura per un accesso controllato alle query.
Un agente Snowflake, una stored procedure o una UDF per un flusso di lavoro specifico.
Se abiliti SQL, mantienilo in sola lettura, a meno che la tua organizzazione non abbia esaminato e approvato l'accesso in scrittura.
Apri un foglio di lavoro Snowflake
Accedi all'app Snowflake.
Passa a un ruolo che possa creare il server MCP e concedere l'accesso.
Vai ad Aree di lavoro.

Crea un'area di lavoro con un file SQL.

Imposta come contesto dell'area di lavoro il database e lo schema in cui verrà creato il server MCP.

Crea il server MCP Snowflake
In Snowflake, accedi con un ruolo che possa creare il server MCP e concedere l'accesso. Apri un foglio di lavoro nel database e nello schema in cui deve essere creato il server MCP.
Esegui un'istruzione come quella dell'esempio seguente. Sostituisci i nomi con quelli del tuo database, schema, servizi, viste, warehouse e server Snowflake.
CREATE MCP SERVER CHATGPT_SNOWFLAKE_MCP FROM SPECIFICATION $$ tools: - name: "support-search" type: "CORTEX_SEARCH_SERVICE_QUERY" identifier: "CHATGPT_APPS.TOOLS.SUPPORT_SEARCH_SERVICE" title: "Support Search" description: "Search support content for relevant customer issues." - name: "revenue-analyst" type: "CORTEX_ANALYST_MESSAGE" identifier: "CHATGPT_APPS.TOOLS.REVENUE_SEMANTIC_VIEW" title: "Revenue Analyst" description: "Answer revenue questions using the approved semantic view." - name: "sql-readonly" type: "SYSTEM_EXECUTE_SQL" title: "Read-only SQL" description: "Run read-only SQL queries against approved Snowflake data." config: read_only: true query_timeout: 600 warehouse: "CHATGPT_WH" $$;

I nomi degli strumenti e gli oggetti Snowflake in questa istruzione sono esempi:
support-searchespone il servizio Cortex Search specificato.revenue-analystespone la vista semantica specificata. Aggiungi strumenti per altre viste, se necessario.sql-readonlyespone SQL in sola lettura con il warehouse specificato.
Usa nomi stabili e descrittivi per consentire a ChatGPT di scegliere lo strumento giusto. La creazione del server MCP non concede automaticamente l'accesso agli oggetti Snowflake sottostanti.
Per altre opzioni della specifica, consulta: Creare un server MCP gestito da Snowflake.
Concedi le autorizzazioni Snowflake corrette
Scegli il ruolo Snowflake con cui gli utenti concederanno l'autorizzazione, quindi assegna a tale ruolo l'accesso a:
Il database e lo schema.
Il server MCP.
Ogni oggetto sottostante usato dagli strumenti, ad esempio un servizio di ricerca, una vista semantica o un warehouse.
Esempio:
GRANT USAGE ON DATABASE CHATGPT_APPS TO ROLE CHATGPT_CONNECTOR_ROLE;GRANT USAGE ON SCHEMA CHATGPT_APPS.TOOLS TO ROLE CHATGPT_CONNECTOR_ROLE;GRANT USAGE ON MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP TO ROLE CHATGPT_CONNECTOR_ROLE;
GRANT USAGE ON CORTEX SEARCH SERVICE CHATGPT_APPS.TOOLS.SUPPORT_SEARCH_SERVICE TO ROLE CHATGPT_CONNECTOR_ROLE;GRANT SELECT ON SEMANTIC VIEW CHATGPT_APPS.TOOLS.REVENUE_SEMANTIC_VIEW TO ROLE CHATGPT_CONNECTOR_ROLE;GRANT USAGE ON WAREHOUSE CHATGPT_WH TO ROLE CHATGPT_CONNECTOR_ROLE;
Se il server MCP espone una UDF, una stored procedure o un agente Cortex, concedi anche le autorizzazioni richieste per tale oggetto.
Verifica che Snowflake sia pronto
Esegui:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Quindi esegui:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Verifica che:
Il server esista nel database e nello schema previsti.
L'elenco degli strumenti corrisponda a quello previsto.
L'
identifierdi ogni strumento punti all'oggetto Snowflake corretto.Il ruolo usato per la connessione disponga di
USAGEsul server MCP.Il ruolo usato per la connessione disponga delle autorizzazioni necessarie per ogni oggetto sottostante.
Inserisci i dettagli del server Snowflake in ChatGPT
In ChatGPT, passa all'account o all'area di lavoro in cui deve essere disponibile l'app.
Apri Impostazioni. Per configurare l'intera area di lavoro, apri Impostazioni dell'area di lavoro come amministratore dell'area di lavoro.
Vai a Plugin.
Cerca Snowflake.
Abilita Snowflake - Modello ufficiale.
Apri Snowflake - Modello ufficiale, inserisci un nome chiaro per la connessione e seleziona Connetti.
Inserisci l'URL completo del server MCP gestito:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Esempio:
https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

Se la schermata di configurazione mostra la configurazione Snowflake in campi distinti, usa gli stessi valori dell'URL:
Prefisso host Snowflake
Usa tutto ciò che precede .snowflakecomputing.com nell'URL del tuo account Snowflake, incluso l'eventuale suffisso della regione o del cloud.
Ad esempio, se l'URL dell'account inizia con:
https://myorg-myaccount.azure.snowflakecomputing.com
Il prefisso host è:
myorg-myaccount.azure
Database
Inserisci il database che contiene il server MCP, ad esempio:
CHATGPT_APPS
Schema
Inserisci lo schema che contiene il server MCP, ad esempio:
TOOLS
Nome del server MCP
Inserisci il nome dell'oggetto server MCP Snowflake, ad esempio:
CHATGPT_SNOWFLAKE_MCP
Configura il client OAuth
Per connetterti, ti occorrono un ID client e un segreto client forniti da Snowflake.
Quando usi session:role:all, Snowflake utilizza il ruolo predefinito di ciascun utente. Il ruolo predefinito deve essere consentito dall'elenco dei ruoli autorizzati dell'integrazione OAuth, se configurato, e non deve essere bloccato. La presenza di un altro ruolo approvato non ne comporta la selezione automatica.
Nella finestra di configurazione di ChatGPT, apri Impostazioni OAuth avanzate, seleziona Client OAuth definito dall'utente e copia l'URL di callback visualizzato in ChatGPT.
Crea un'integrazione di sicurezza OAuth personalizzata con
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'e impostaOAUTH_REDIRECT_URIesattamente su tale URL di callback.Esegui l'istruzione seguente in Snowflake, usando il nome dell'integrazione in maiuscolo:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Dal risultato JSON, incolla
oauth_client_idin ID client OAuth eoauth_client_secretin Segreto client OAuth in ChatGPT.Imposta Metodo di autenticazione dell'endpoint token su
client_secret_basic.
Connetti e gestisci Snowflake
Nella stessa finestra di configurazione di ChatGPT, seleziona Continua, accedi a Snowflake e autorizza la connessione.
Per configurare un'area di lavoro, imposta i criteri di installazione del plugin e l'accesso per ruoli o gruppi per i membri che dovranno usarlo. Verifica che siano abilitati sia Snowflake sia Snowflake - Modello ufficiale.
Gli amministratori dell'area di lavoro devono configurare Accesso utenti per i ruoli che devono usare Snowflake.
Gli amministratori dell'area di lavoro devono verificare Controllo delle azioni per gli strumenti esposti.
Gli amministratori dell'area di lavoro devono verificare Autorizzazioni dell'app per scegliere quando ChatGPT deve chiedere conferma ai membri prima di usare l'app.
Queste autorizzazioni dell'app si applicano alle conversazioni di ChatGPT. Gli agenti dell'area di lavoro usano i controlli specifici per agente impostati dal rispettivo autore per stabilire quali azioni dell'app sono disponibili e quando chiedere l'approvazione agli utenti finali. Per il comportamento degli agenti, consulta: Agenti dell'area di lavoro ChatGPT per Enterprise e Business.
Testa l'app
Apri una chat, seleziona Snowflake e testa la connessione.
Verifica che ChatGPT rilevi gli strumenti configurati.
Esegui prima un'azione di lettura a basso rischio, ad esempio una ricerca o una query in sola lettura sui dati approvati.
Verifica che le autorizzazioni Snowflake impediscano l'accesso al di fuori del ruolo e degli oggetti approvati.
Per la configurazione di un'area di lavoro, esegui il test con membri non amministratori autorizzati che abbiano ruoli Snowflake predefiniti diversi. La connessione riuscita di un amministratore non garantisce che ogni membro possa connettersi.
Per gli amministratori dell'area di lavoro, non è sufficiente abilitare soltanto Snowflake. Se Snowflake - Modello ufficiale non è stato abilitato e connesso, il plugin potrebbe apparire disabilitato ai membri.
URL del server MCP e comportamento OAuth
ChatGPT si connette all'URL completo del server MCP gestito da Snowflake:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT usa il prefisso host Snowflake presente nell'URL per risolvere i seguenti endpoint OAuth Snowflake:
Autorizzazione:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Non incollare un URL Snowsight, il solo URL radice dell'account Snowflake o un URL con segmenti di percorso aggiuntivi. L'URL MCP deve includere /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} e corrispondere esattamente agli oggetti Snowflake.
Risoluzione dei problemi
Snowflake è abilitato per un amministratore ma disabilitato per un membro
Verifica che sia Snowflake sia Snowflake - Modello ufficiale siano abilitati in Impostazioni dell'area di lavoro > Plugin.
Apri Snowflake - Modello ufficiale e completa la procedura Connetti. Non è sufficiente abilitare il modello senza connetterlo.
Apri Snowflake e verifica che il modello sia indicato come app richiesta.
Verifica che il ruolo o il gruppo del membro interessato sia consentito dai criteri di installazione del plugin.
Server MCP non trovato
Ricontrolla l'URL completo del server MCP oppure i quattro campi del modello, se richiesti dalla schermata di configurazione.
Verifica che il server MCP esista esattamente nel database e nello schema indicati.
In ChatGPT non appare alcuno strumento
Verifica che la specifica del server MCP includa strumenti.
Verifica che il ruolo disponga di
USAGEsul server MCP.
Uno strumento appare ma non funziona quando viene usato
Verifica che il ruolo disponga dell'autorizzazione richiesta per l'oggetto Snowflake sottostante, ad esempio il servizio di ricerca, la vista semantica, il warehouse, la procedura o la UDF.
Lo strumento SQL non funziona
Verifica che il nome del warehouse sia corretto e che il warehouse sia in esecuzione.
Verifica che il ruolo disponga di
USAGEsul warehouse.Se intendevi consentire l'accesso in sola lettura, verifica che sia impostato
read_only: true.
Il ruolo ALL richiesto è stato bloccato esplicitamente
Chiedi all'amministratore Snowflake di confrontare il tuo ruolo predefinito con i ruoli consentiti e bloccati dell'integrazione OAuth. La presenza di un altro ruolo consentito non ne comporta la selezione automatica. Se opportuno, imposta come predefinito un ruolo approvato e riconnettiti. La modifica del ruolo predefinito influisce anche sulle sessioni Snowflake esterne a ChatGPT.
Autorizzazione non riuscita
Verifica che l'utente possa accedere a Snowflake.
Quando usi
session:role:all, verifica che il ruolo predefinito dell'utente sia consentito dall'integrazione OAuth.Verifica che la configurazione usi il flusso OAuth MCP gestito da Snowflake.
Verifica che l'ID client e il segreto client corrispondano all'integrazione OAuth Snowflake e che il relativo URI di reindirizzamento corrisponda all'URL di callback mostrato in ChatGPT.
I criteri di rete o l'elenco di indirizzi IP consentiti di Snowflake bloccano il connettore
Chiedi a un amministratore Snowflake di aggiornare i criteri di rete o le regole di accesso di Snowflake.
Consenti le connessioni in entrata dagli attuali intervalli IP in uscita del connettore ChatGPT.
Configura questo elenco di indirizzi consentiti in Snowflake. È distinto dall'elenco di indirizzi IP consentiti dell'area di lavoro ChatGPT.
Quando possibile, automatizza gli aggiornamenti dal JSON pubblicato, perché gli intervalli possono cambiare.
Problema di connessione al nome host
Usa il prefisso host Snowflake corretto. I nomi host Snowflake con caratteri di sottolineatura possono causare problemi; preferisci i trattini.
