Use este guia se for administrador de um espaço de trabalho do ChatGPT ou utilizador do ChatGPT Plus ou Pro e pretender ligar o ChatGPT à Snowflake através de um servidor MCP gerido pela Snowflake.
A maior parte da configuração é feita na Snowflake. Quando a Snowflake estiver pronta, conclua a ligação do modelo da Snowflake no ChatGPT e, em seguida, ative o plugin da Snowflake que utiliza esse modelo.
O que vai configurar
Vai criar um servidor MCP gerido pela Snowflake que funciona como endpoint do conector para o ChatGPT. O servidor MCP define:
As ações que o ChatGPT pode utilizar.
Os dados ou objetos da Snowflake a que essas ferramentas podem aceder.
A função da Snowflake com que cada utilizador concede autorização.
A base de dados, o schema e o nome do servidor MCP da Snowflake que identificam o endpoint.
Em seguida, configure o Snowflake - Modelo oficial no ChatGPT com o URL completo do servidor MCP gerido. O ecrã de configuração do modelo pode apresentar o URL em quatro campos separados:
Prefixo do anfitrião da Snowflake.
Base de dados.
Schema.
Nome do servidor MCP.
O ChatGPT só pode detetar e utilizar as ferramentas disponibilizadas pelo servidor MCP e permitidas pela função da Snowflake com que o utilizador concede autorização.
Antes de começar
É necessário:
Acesso de administrador ou proprietário de um espaço de trabalho do ChatGPT, ou acesso ao ChatGPT Plus ou Pro.
Acesso à Snowflake que permita criar objetos de servidor MCP e conceder permissões.
A base de dados e o schema da Snowflake onde ficará o servidor MCP.
Uma decisão sobre o que o ChatGPT deve poder fazer, como utilizar o Cortex Search, o Cortex Analyst, SQL só de leitura ou um procedimento ou função específicos.
Uma função da Snowflake com privilégios mínimos, que os utilizadores usarão ao autorizar a aplicação.
O prefixo do anfitrião da conta Snowflake, incluindo qualquer sufixo de região ou de cloud.
Se a sua conta Snowflake restringir o acesso através de uma política de rede ou lista de endereços IP permitidos, peça a um administrador da Snowflake que permita ligações de entrada provenientes dos atuais intervalos de IP de saída do conector do ChatGPT. A lista é dinâmica e deve ser mantida atualizada.
Valores a preparar
Prefixo do anfitrião da Snowflake: tudo o que aparece antes de .snowflakecomputing.com no URL da conta Snowflake.
Base de dados: a base de dados que contém o servidor MCP.
Schema: o schema que contém o servidor MCP.
Nome do servidor MCP: o nome do objeto de servidor MCP da Snowflake.
URL completo do servidor MCP gerido, caso o ecrã de configuração do ChatGPT solicite um URL.
Função da Snowflake: a função que os utilizadores devem usar ao autorizar a aplicação.
Lista de ferramentas: os objetos e as ações da Snowflake que pretende que o ChatGPT utilize.
Decidir o que o ChatGPT pode fazer
Escolha apenas as capacidades que pretende disponibilizar. As opções comuns incluem:
Pesquisa com o Cortex Search para encontrar respostas em dados ou conteúdos indexados da Snowflake.
Perguntas e respostas com o Cortex Analyst através de uma vista semântica aprovada.
SQL só de leitura para acesso controlado a consultas.
Um agente da Snowflake, um procedimento armazenado ou uma UDF para um fluxo de trabalho específico.
Se ativar o SQL, mantenha-o só de leitura, salvo se a sua organização tiver analisado e aprovado o acesso de escrita.
Abrir uma folha de trabalho da Snowflake
Inicie sessão na aplicação Snowflake.
Mude para uma função que possa criar o servidor MCP e conceder acesso.
Aceda a Espaços de trabalho.

Crie um espaço de trabalho com um ficheiro SQL.

Defina o contexto do espaço de trabalho para a base de dados e o schema onde será criado o servidor MCP.

Criar o servidor MCP da Snowflake
Na Snowflake, inicie sessão com uma função que possa criar o servidor MCP e conceder acesso. Abra uma folha de trabalho na base de dados e no schema onde o servidor MCP deve ser criado.
Execute uma instrução como a do exemplo seguinte. Substitua os nomes pelos nomes da sua base de dados, schema, serviços, vistas, armazém e servidor da 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" $$;

Os nomes das ferramentas e os objetos da Snowflake nesta instrução são exemplos:
support-searchdisponibiliza o serviço Cortex Search especificado.revenue-analystdisponibiliza a vista semântica especificada. Adicione ferramentas para outras vistas, conforme necessário.sql-readonlydisponibiliza SQL só de leitura com o armazém especificado.
Utilize nomes de ferramentas estáveis e descritivos para que o ChatGPT possa escolher a ferramenta certa. A criação do servidor MCP não concede automaticamente acesso aos objetos subjacentes da Snowflake.
Para conhecer outras opções de especificação, consulte: Criar um servidor MCP gerido pela Snowflake.
Conceder as permissões certas da Snowflake
Escolha a função da Snowflake com que os utilizadores concederão autorização e, em seguida, conceda a essa função acesso a:
A base de dados e o schema.
O servidor MCP.
Todos os objetos subjacentes utilizados pelas ferramentas, como um serviço de pesquisa, uma vista semântica ou um armazém.
Exemplo:
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 o servidor MCP disponibilizar uma UDF, um procedimento armazenado ou um agente Cortex, conceda também as permissões necessárias para esse objeto.
Verificar se a Snowflake está pronta
Execute:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Em seguida, execute:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Confirme que:
O servidor existe na base de dados e no schema esperados.
A lista de ferramentas corresponde ao pretendido.
O
identifierde cada ferramenta aponta para o objeto correto da Snowflake.A função utilizada para estabelecer a ligação tem
USAGEno servidor MCP.A função utilizada para estabelecer a ligação tem as permissões necessárias em cada objeto subjacente.
Introduzir os detalhes do servidor Snowflake no ChatGPT
No ChatGPT, mude para a conta ou o espaço de trabalho onde a aplicação deve ficar disponível.
Abra as Definições. Para configurar todo o espaço de trabalho, abra as Definições do espaço de trabalho como administrador desse espaço.
Aceda a Plugins.
Pesquise Snowflake.
Ative o Snowflake - Modelo oficial.
Abra o Snowflake - Modelo oficial, introduza um nome de ligação claro e selecione Ligar.
Introduza o URL completo do servidor MCP gerido:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Exemplo:
https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

Se o ecrã de configuração apresentar a configuração da Snowflake em campos separados, utilize os mesmos valores do URL:
Prefixo do anfitrião da Snowflake
Utilize tudo o que aparece antes de .snowflakecomputing.com no URL da sua conta Snowflake, incluindo qualquer sufixo de região ou de cloud.
Por exemplo, se o URL da conta começar por:
https://myorg-myaccount.azure.snowflakecomputing.com
O prefixo do anfitrião é:
myorg-myaccount.azure
Base de dados
Introduza a base de dados que contém o servidor MCP, por exemplo:
CHATGPT_APPS
Schema
Introduza o schema que contém o servidor MCP, por exemplo:
TOOLS
Nome do servidor MCP
Introduza o nome do objeto de servidor MCP da Snowflake, por exemplo:
CHATGPT_SNOWFLAKE_MCP
Configurar o cliente OAuth
Para estabelecer a ligação, precisa de um ID de cliente e de um segredo do cliente da Snowflake.
Quando utiliza session:role:all, a Snowflake utiliza a função predefinida de cada utilizador. A função predefinida tem de ser permitida pela lista de funções autorizadas da integração OAuth, caso esteja configurada, e não pode estar bloqueada. A existência de outra função aprovada não faz com que esta seja selecionada automaticamente.
Na janela de configuração do ChatGPT, abra as Definições avançadas de OAuth, selecione Cliente OAuth definido pelo utilizador e copie o URL de chamada de retorno apresentado no ChatGPT.
Crie uma integração de segurança OAuth personalizada com
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'e definaOAUTH_REDIRECT_URIcomo esse URL exato de chamada de retorno.Execute a instrução seguinte na Snowflake, utilizando o nome da integração em maiúsculas:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');A partir do resultado JSON, cole
oauth_client_idem ID de cliente OAuth eoauth_client_secretem Segredo do cliente OAuth no ChatGPT.Defina o Método de autenticação do endpoint de tokens como
client_secret_basic.
Ligar e gerir a Snowflake
Na mesma janela de configuração do ChatGPT, selecione Continuar, inicie sessão na Snowflake e autorize a ligação.
Para uma configuração de espaço de trabalho, configure a política de instalação do plugin e o acesso por função ou grupo para os membros que o devem utilizar. Verifique se Snowflake e Snowflake - Modelo oficial estão ambos ativados.
Os administradores do espaço de trabalho são responsáveis por configurar o Acesso dos utilizadores para as funções que devem utilizar a Snowflake.
Os administradores do espaço de trabalho são responsáveis por rever o Controlo de ações das ferramentas disponibilizadas.
Os administradores do espaço de trabalho são responsáveis por rever as Permissões da aplicação para escolher quando o ChatGPT pede autorização aos membros antes de utilizar a aplicação.
Estas permissões da aplicação aplicam-se às conversas do ChatGPT. Os agentes do espaço de trabalho utilizam controlos específicos por agente, definidos pelo respetivo criador, para determinar que ações da aplicação estão disponíveis e quando é solicitada a aprovação dos utilizadores finais. Para saber mais sobre o comportamento dos agentes, consulte: Agentes de espaço de trabalho do ChatGPT para Enterprise e Business.
Testar a aplicação
Abra uma conversa, selecione Snowflake e teste a ligação.
Confirme que o ChatGPT deteta as ferramentas que configurou.
Comece por executar uma ação de leitura de baixo risco, como uma pesquisa ou uma consulta só de leitura em dados aprovados.
Confirme que as permissões da Snowflake impedem o acesso fora da função e dos objetos aprovados.
Numa configuração de espaço de trabalho, teste com membros autorizados que não sejam administradores e que tenham diferentes funções predefinidas da Snowflake. Uma ligação bem-sucedida de um administrador não confirma que todos os membros consigam estabelecer ligação.
Para os administradores do espaço de trabalho, não basta ativar apenas o Snowflake. Se o Snowflake - Modelo oficial não tiver sido ativado e ligado, o plugin pode aparecer desativado aos membros.
URL do servidor MCP e comportamento do OAuth
O ChatGPT estabelece ligação ao URL completo do servidor MCP gerido pela Snowflake:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
O ChatGPT utiliza o prefixo do anfitrião da Snowflake desse URL para resolver os seguintes endpoints OAuth da Snowflake:
Autorização:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Não cole um URL do Snowsight, apenas o URL de raiz da conta Snowflake nem um URL com segmentos de caminho adicionais. O URL do MCP tem de incluir /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} e corresponder exatamente aos seus objetos da Snowflake.
Resolução de problemas
A Snowflake está ativada para um administrador, mas desativada para um membro
Confirme que Snowflake e Snowflake - Modelo oficial estão ambos ativados em Definições do espaço de trabalho > Plugins.
Abra o Snowflake - Modelo oficial e conclua o respetivo processo de Ligação. Não basta ativar o modelo sem o ligar.
Abra o Snowflake e confirme que o modelo aparece como aplicação necessária.
Confirme que a função ou o grupo do membro afetado é permitido pela política de instalação do plugin.
Servidor MCP não encontrado
Volte a verificar o URL completo do servidor MCP ou os quatro campos do modelo, caso o ecrã de configuração os solicite.
Confirme que o servidor MCP existe exatamente nessa base de dados e nesse schema.
Não aparecem ferramentas no ChatGPT
Confirme que a especificação do servidor MCP inclui ferramentas.
Confirme que a função tem
USAGEno servidor MCP.
Uma ferramenta aparece, mas falha quando é utilizada
Confirme que a função tem a permissão necessária no objeto subjacente da Snowflake, como o serviço de pesquisa, a vista semântica, o armazém, o procedimento ou a UDF.
A ferramenta SQL falha
Confirme que o nome do armazém está correto e que este está em execução.
Confirme que a função tem
USAGEno armazém.Confirme que
read_only: trueestá definido caso pretenda acesso só de leitura.
A função ALL solicitada foi explicitamente bloqueada
Peça ao administrador da Snowflake para comparar a sua função predefinida com as funções permitidas e bloqueadas da integração OAuth. A existência de outra função permitida não faz com que esta seja selecionada automaticamente. Se for adequado, altere a função predefinida para uma função aprovada e volte a estabelecer a ligação. Alterar a sua função predefinida também afeta as sessões da Snowflake fora do ChatGPT.
Falha na autorização
Confirme que o utilizador consegue iniciar sessão na Snowflake.
Ao utilizar
session:role:all, confirme que a função predefinida do utilizador é permitida pela integração OAuth.Confirme que a configuração utiliza o fluxo OAuth do MCP gerido pela Snowflake.
Confirme que o ID de cliente e o segredo do cliente correspondem à integração OAuth da Snowflake e que o respetivo URI de redirecionamento corresponde ao URL de chamada de retorno apresentado no ChatGPT.
A política de rede ou a lista de endereços IP permitidos da Snowflake bloqueia o conector
Peça a um administrador da Snowflake para atualizar a política de rede ou as regras de acesso da Snowflake.
Permita ligações de entrada provenientes dos atuais intervalos de IP de saída do conector do ChatGPT.
Configure esta lista de permissões na Snowflake. É independente da lista de endereços IP permitidos do espaço de trabalho do ChatGPT.
Sempre que possível, automatize as atualizações a partir do JSON publicado, porque os intervalos podem mudar.
Problema de ligação ao nome do anfitrião
Utilize o prefixo correto do anfitrião da Snowflake. Os nomes de anfitrião da Snowflake com carateres de sublinhado podem causar problemas; prefira hífenes.
