Usa questa guida se sei un amministratore di un'area di lavoro ChatGPT o un utente ChatGPT Plus o 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 la connessione del modello Snowflake in ChatGPT, quindi abilita il plugin Snowflake che usa quel modello.
OAuth integrato: quando è disponibile per il tuo account Snowflake e in ChatGPT, usa l'applicazione partner ChatGPT abilitata da un amministratore Snowflake. Accedi a Snowflake usando l'SSO della tua organizzazione, se configurato. Non è necessario inserire un ID client o un segreto client in ChatGPT. Segui le istruzioni nella sezione OAuth integrato qui sotto.
Client OAuth personalizzato: usa questa opzione se la tua organizzazione richiede un proprio client OAuth o se OAuth integrato non è disponibile. Segui le istruzioni nella sezione Client OAuth personalizzato qui sotto.
Entrambe le opzioni OAuth richiedono la configurazione comune del server MCP, le autorizzazioni per gli oggetti sottostanti e l'accesso di rete descritti di seguito. Prima di configurare OAuth, completa la configurazione comune fino alla sezione Inserisci i dettagli del server Snowflake in ChatGPT inclusa.
Cosa stai configurando
Stai creando un server MCP gestito da Snowflake che funge da endpoint del connettore per ChatGPT. Il server MCP definisce:
Quali azioni può usare ChatGPT.
A quali dati o oggetti Snowflake possono accedere questi strumenti.
Quale ruolo Snowflake usa ciascun utente per autorizzare la connessione.
Quali database, schema e nome del server MCP di Snowflake identificano l'endpoint.
Configura quindi Snowflake - Modello ufficiale in ChatGPT con l'URL completo del server MCP gestito. La schermata di configurazione del modello potrebbe mostrare l'URL suddiviso in quattro campi:
Prefisso host Snowflake.
Database.
Schema.
Nome del server MCP.
ChatGPT può rilevare e usare solo gli strumenti esposti dal server MCP e consentiti dal ruolo Snowflake usato dall'utente per autorizzare la connessione.
Prima di iniziare
Ti servono:
Accesso come amministratore o proprietario di un'area di lavoro ChatGPT, oppure accesso a ChatGPT Plus o Pro.
Accesso a Snowflake con la possibilità di creare oggetti server MCP e concedere autorizzazioni.
Il database e lo schema Snowflake che ospiteranno il server MCP.
Una scelta delle funzionalità da consentire a ChatGPT, ad esempio Cortex Search, Cortex Analyst, SQL in sola lettura o una procedura o funzione specifica.
Un ruolo Snowflake con i privilegi minimi necessari, che gli utenti useranno per autorizzare l'app.
Il prefisso host dell'account Snowflake, incluso qualsiasi suffisso relativo alla regione o al cloud.
Se il tuo account Snowflake limita l'accesso tramite una policy di rete o un elenco di IP consentiti, chiedi a un amministratore Snowflake di consentire le connessioni in entrata dagli attuali intervalli IP in uscita dei connettori ChatGPT. L'elenco è dinamico e va 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 di 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 solo le funzionalità che vuoi esporre. Le opzioni più comuni includono:
Ricerca con Cortex Search per trovare risposte nei dati o nei contenuti indicizzati di Snowflake.
Domande e risposte con Cortex Analyst tramite una vista semantica approvata.
SQL in sola lettura per un accesso controllato tramite query.
Un agente Snowflake, una stored procedure o una UDF per un flusso di lavoro specifico.
Se abiliti SQL, mantieni la modalità di 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 il contesto dell'area di lavoro sul database e sullo schema in cui verrà creato il server MCP.

Crea il server MCP di Snowflake
Accedi a Snowflake 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 secondo necessità.sql-readonlyespone SQL in sola lettura con il warehouse specificato.
Usa nomi stabili e descrittivi per gli strumenti, così ChatGPT potrà scegliere quello giusto. La creazione del server MCP non concede automaticamente l'accesso agli oggetti Snowflake sottostanti.
Per ulteriori opzioni della specifica, consulta: Creare un server MCP gestito da Snowflake.
Concedi le autorizzazioni Snowflake appropriate
Scegli il ruolo Snowflake che gli utenti useranno per autorizzare la connessione, quindi concedi a quel 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 le autorizzazioni necessarie anche per quell'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 desiderato.
Il campo
identifierdi ogni strumento punti all'oggetto Snowflake corretto.Il ruolo usato per la connessione disponga del privilegio
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 l'app deve essere disponibile.
Vai a Impostazioni > Plugin per una configurazione personale oppure, come amministratore, a Impostazioni dell'area di lavoro > Plugin per configurare un'area di lavoro.
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 separati, usa gli stessi valori dell'URL:
Prefisso host Snowflake
Usa tutto ciò che precede .snowflakecomputing.com nell'URL del tuo account Snowflake, incluso qualsiasi suffisso relativo alla regione o al 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 di Snowflake, ad esempio:
CHATGPT_SNOWFLAKE_MCP
Configura OAuth
Scegli l'opzione OAuth disponibile per il tuo account che soddisfa i requisiti della tua organizzazione. Entrambe le opzioni usano la configurazione comune del server MCP descritta sopra e i test di connessione e i controlli di accesso descritti di seguito.
Con entrambe le opzioni OAuth, quando usi session:role:all, Snowflake usa il ruolo predefinito di ciascun utente. Il ruolo predefinito deve essere consentito dall'elenco dei ruoli ammessi dell'integrazione OAuth, se configurato, e non deve essere bloccato. La disponibilità di un altro ruolo approvato non ne comporta la selezione automatica.
OAuth integrato
Prima di continuare, completa le sezioni comuni riportate sopra per creare il server MCP, concedere le autorizzazioni, verificare il server e inserirne i dettagli in ChatGPT. Questo passaggio è necessario anche se hai aperto direttamente questa sezione.
Usa questa opzione solo quando l'applicazione partner ChatGPT è disponibile per il tuo account Snowflake e OAuth integrato è disponibile nella finestra di configurazione di ChatGPT.
Chiedi a un amministratore Snowflake di abilitare l'integrazione partner ChatGPT nello stesso account Snowflake che ospita il server MCP. Riutilizza un'integrazione partner ChatGPT esistente e già abilitata.
Nella finestra di configurazione di ChatGPT, usa OAuth integrato. Non è necessario inserire un ID client o un segreto client, né registrare un URL di callback.
Prosegui con la sezione Connetti e gestisci Snowflake qui sotto per accedere, fornire il consenso e configurare l'accesso. Completa poi la sezione Testa l'app, inclusi i test con membri autorizzati che non sono amministratori.
Il comportamento descritto sopra per il ruolo predefinito, l'elenco dei ruoli consentiti e i ruoli bloccati si applica anche a questa opzione.
Client OAuth personalizzato
Prima di continuare, completa le sezioni comuni riportate sopra per creare il server MCP, concedere le autorizzazioni, verificare il server e inserirne i dettagli in ChatGPT. Questo passaggio è necessario anche se hai aperto direttamente questa sezione.
Per un client OAuth personalizzato, servono un ID client e un segreto client forniti da Snowflake. Il comportamento descritto sopra per il ruolo predefinito, l'elenco dei ruoli consentiti e i ruoli bloccati si applica anche a questa opzione.
Nella finestra di configurazione di ChatGPT, seleziona Impostazioni OAuth avanzate > Client OAuth definito dall'utente e copia esattamente l'URL di callback mostrato in ChatGPT.
Crea un'integrazione di sicurezza OAuth personalizzata con
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'eOAUTH_REDIRECT_URIimpostato esattamente su quell'URL di callback.Esegui la seguente istruzione 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.
Dopo aver inserito le credenziali del client personalizzato, prosegui con le sezioni Connetti e gestisci Snowflake e Testa l'app qui sotto.
Connetti e gestisci Snowflake
Per entrambe le opzioni OAuth, nella stessa finestra di configurazione di ChatGPT, seleziona Continua, accedi a Snowflake e autorizza la connessione. Puoi usare l'SSO della tua organizzazione, se configurato.
Se configuri un'area di lavoro, imposta la policy di installazione dei plugin e l'accesso in base al ruolo o al gruppo per i membri che devono usarli. Verifica che siano abilitati sia Snowflake sia Snowflake - Modello ufficiale.
Gli amministratori dell'area di lavoro sono responsabili della configurazione di Accesso utenti per i ruoli che devono usare Snowflake.
Gli amministratori dell'area di lavoro sono responsabili della verifica di Controllo delle azioni per gli strumenti esposti.
Gli amministratori dell'area di lavoro sono responsabili della verifica di Autorizzazioni dell'app per scegliere quando ChatGPT chiede 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 controlli specifici per ciascun agente, impostati da chi lo crea, per determinare quali azioni delle app sono disponibili e quando viene chiesto agli utenti finali di approvarle. 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 che hai configurato.
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.
Se configuri un'area di lavoro, esegui test con membri autorizzati che non sono amministratori e che hanno ruoli Snowflake predefiniti diversi. Il fatto che un amministratore riesca a connettersi non garantisce che tutti i membri possano farlo.
Per gli amministratori dell'area di lavoro, non è sufficiente abilitare solo Snowflake. Se Snowflake - Modello ufficiale non è stato abilitato e connesso, il plugin potrebbe risultare disabilitato per i membri.
URL del server MCP e comportamento di 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 di quell'URL per determinare questi endpoint OAuth di Snowflake:
Autorizzazione:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Non incollare un URL di 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 ai tuoi 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 compaia come app richiesta.
Verifica che la policy di installazione dei plugin consenta l'accesso al ruolo o al gruppo del membro interessato.
Server MCP non trovato
Ricontrolla l'URL completo del server MCP o i quattro campi del modello, se richiesti dalla schermata di configurazione.
Verifica che il server MCP esista esattamente in quel database e in quello schema.
In ChatGPT non compaiono strumenti
Verifica che la specifica del server MCP includa degli strumenti.
Verifica che il ruolo disponga del privilegio
USAGEsul server MCP.
Uno strumento compare ma genera un errore quando viene usato
Verifica che il ruolo disponga dell'autorizzazione necessaria per l'oggetto Snowflake sottostante, ad esempio il servizio di ricerca, la vista semantica, il warehouse, la procedura o la UDF.
Lo strumento SQL genera un errore
Verifica che il nome del warehouse sia corretto e che il warehouse sia in esecuzione.
Verifica che il ruolo disponga del privilegio
USAGEsul warehouse.Verifica che sia impostato
read_only: truese vuoi consentire solo l'accesso in lettura.
Il ruolo ALL richiesto è stato esplicitamente bloccato
Chiedi al tuo amministratore Snowflake di confrontare il tuo ruolo predefinito con i ruoli consentiti e bloccati dell'integrazione OAuth. La disponibilità di un altro ruolo consentito non ne comporta la selezione automatica. Se opportuno, imposta un ruolo approvato come ruolo predefinito e riconnettiti. La modifica del ruolo predefinito influisce anche sulle tue sessioni Snowflake al di fuori di ChatGPT.
L'autorizzazione non riesce
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 per MCP gestito da Snowflake.
Se usi un client OAuth personalizzato, verifica che l'ID client e il Segreto client corrispondano all'integrazione OAuth di Snowflake e che il relativo URI di reindirizzamento corrisponda esattamente all'URL di callback mostrato in ChatGPT.
Se usi OAuth integrato, chiedi a un amministratore Snowflake di verificare che l'integrazione partner ChatGPT sia disponibile e abilitata nell'account che ospita il server MCP.
La policy di rete o l'elenco di IP consentiti di Snowflake blocca il connettore
Chiedi a un amministratore Snowflake di aggiornare la policy di rete o le regole di accesso di Snowflake.
Consenti le connessioni in entrata dagli attuali intervalli IP in uscita dei connettori ChatGPT.
Configura questo elenco di IP consentiti in Snowflake. È distinto dall'elenco di IP consentiti dell'area di lavoro ChatGPT.
Quando possibile, automatizza gli aggiornamenti a partire dal JSON pubblicato, perché gli intervalli possono cambiare.
Problema di connessione legato al nome host
Usa il prefisso host Snowflake corretto. I nomi host Snowflake con trattini bassi possono causare problemi; preferisci i trattini.
