Use este guia se você administra um Ambiente de trabalho seguro do ChatGPT ou é usuário do ChatGPT Plus ou Pro e quer conectar o ChatGPT ao Snowflake por meio de um servidor MCP gerenciado pelo Snowflake.
A maior parte da configuração é feita no Snowflake. Quando o Snowflake estiver pronto, conclua a conexão do modelo do Snowflake no ChatGPT e ative o plugin do Snowflake que usa esse modelo.
O que você vai configurar
Você criará um servidor MCP gerenciado pelo Snowflake que funcionará como endpoint do conector para o ChatGPT. O servidor MCP define:
Quais ações o ChatGPT pode usar.
Quais dados ou objetos do Snowflake essas ferramentas podem acessar.
Qual função do Snowflake cada usuário autoriza.
Qual banco de dados, schema e nome de servidor MCP do Snowflake identificam o endpoint.
Depois, configure o Snowflake - Modelo oficial no ChatGPT usando a URL completa do servidor MCP gerenciado. A tela de configuração do modelo pode exibir a URL em quatro campos separados:
Prefixo do host do Snowflake.
Banco de dados.
Schema.
Nome do servidor MCP.
O ChatGPT só pode encontrar e usar as ferramentas expostas pelo servidor MCP e permitidas pela função do Snowflake que o usuário autoriza.
Antes de começar
Você precisa de:
Acesso de administrador ou proprietário do Ambiente de trabalho seguro do ChatGPT, ou acesso ao ChatGPT Plus ou Pro.
Acesso ao Snowflake com permissão para criar objetos de servidor MCP e conceder permissões.
O banco de dados e o schema do Snowflake em que ficará o servidor MCP.
Uma definição do que o ChatGPT poderá fazer, como usar o Cortex Search, o Cortex Analyst, SQL somente leitura ou um procedimento ou função específicos.
Uma função do Snowflake com privilégio mínimo que os usuários usarão ao autorizar o aplicativo.
O prefixo do host da conta do Snowflake, incluindo qualquer sufixo de região ou nuvem.
Se sua conta do Snowflake restringir o acesso por uma política de rede ou lista de IPs permitidos, peça a um administrador do Snowflake para permitir conexões de entrada dos intervalos atuais de IPs de saída do conector do ChatGPT. A lista é dinâmica e deve ser mantida atualizada.
Valores a preparar
Prefixo do host do Snowflake: tudo o que aparece antes de .snowflakecomputing.com na URL da conta do Snowflake.
Banco de dados: o banco 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 do Snowflake.
URL completa do servidor MCP gerenciado, caso a tela de configuração do ChatGPT solicite uma URL.
Função do Snowflake: a função que os usuários devem usar ao autorizar o aplicativo.
Lista de ferramentas: os objetos e as ações do Snowflake que você quer disponibilizar ao ChatGPT.
Defina o que o ChatGPT pode fazer
Selecione somente os recursos que você quer expor. As opções comuns incluem:
Pesquisa com o Cortex Search para encontrar respostas em dados ou conteúdo indexados do Snowflake.
Perguntas e respostas com o Cortex Analyst por meio de uma exibição semântica aprovada.
SQL somente leitura para acesso controlado a consultas.
Um agente do Snowflake, procedimento armazenado ou UDF para um fluxo de trabalho específico.
Se você ativar o SQL, mantenha-o como somente leitura, a menos que sua organização tenha analisado e aprovado o acesso de gravação.
Abra uma planilha do Snowflake
Entre no aplicativo do Snowflake.
Mude para uma função que possa criar o servidor MCP e conceder acesso.
Acesse Ambientes de trabalho.

Crie um Ambiente de trabalho seguro com um arquivo SQL.

Defina o contexto do Ambiente de trabalho seguro como o banco de dados e o schema em que o servidor MCP será criado.

Crie o servidor MCP do Snowflake
No Snowflake, entre com uma função que possa criar o servidor MCP e conceder acesso. Abra uma planilha no banco de dados e no schema em que o servidor MCP deve ser criado.
Execute uma instrução como a do exemplo a seguir. Substitua os nomes pelos do seu banco de dados, schema, serviços, exibições, warehouse e servidor do 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 do Snowflake nessa instrução são exemplos:
support-searchexpõe o serviço especificado do Cortex Search.revenue-analystexpõe a exibição semântica especificada. Adicione ferramentas para outras exibições conforme necessário.sql-readonlyexpõe o SQL somente leitura com o warehouse especificado.
Use nomes de ferramentas estáveis e descritivos para que o ChatGPT escolha a ferramenta certa. Criar o servidor MCP não concede automaticamente acesso aos objetos subjacentes do Snowflake.
Para conhecer outras opções de especificação, consulte: Criar um servidor MCP gerenciado pelo Snowflake.
Conceda as permissões corretas do Snowflake
Escolha a função do Snowflake que os usuários autorizarão e conceda a ela acesso a:
O banco de dados e o schema.
O servidor MCP.
Todos os objetos subjacentes usados pelas ferramentas, como um serviço de pesquisa, uma exibição semântica ou um warehouse.
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 expuser uma UDF, um procedimento armazenado ou um agente do Cortex, conceda também as permissões necessárias para esse objeto.
Verifique se o Snowflake está pronto
Execute:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Depois, execute:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Confirme se:
O servidor existe no banco de dados e no schema esperados.
A lista de ferramentas corresponde ao que você pretendia.
O
identifierde cada ferramenta aponta para o objeto correto do Snowflake.A função usada na conexão tem
USAGEno servidor MCP.A função usada na conexão tem as permissões necessárias em cada objeto subjacente.
Insira os dados do servidor Snowflake no ChatGPT
No ChatGPT, mude para a conta ou o Ambiente de trabalho seguro em que o aplicativo deve ficar disponível.
Abra Configurações. Para configurar todo o Ambiente de trabalho seguro, abra Configurações do Ambiente de trabalho seguro como administrador.
Acesse Plugins.
Pesquise por Snowflake.
Ative Snowflake - Modelo oficial.
Abra Snowflake - Modelo oficial, insira um nome de conexão claro e selecione Conectar.
Insira a URL completa do servidor MCP gerenciado:
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 a tela de configuração exibir as opções do Snowflake em campos separados, use os mesmos valores da URL:
Prefixo do host do Snowflake
Use tudo o que aparece antes de .snowflakecomputing.com na URL da sua conta do Snowflake, incluindo qualquer sufixo de região ou nuvem.
Por exemplo, se a URL da conta começar com:
https://myorg-myaccount.azure.snowflakecomputing.com
O prefixo do host será:
myorg-myaccount.azure
Banco de dados
Insira o banco de dados que contém o servidor MCP, como:
CHATGPT_APPS
Schema
Insira o schema que contém o servidor MCP, como:
TOOLS
Nome do servidor MCP
Insira o nome do objeto de servidor MCP do Snowflake, como:
CHATGPT_SNOWFLAKE_MCP
Configure o cliente OAuth
Para se conectar, você precisa de um ID do cliente e um segredo do cliente fornecidos pelo Snowflake.
Ao usar session:role:all, o Snowflake usa a função padrão de cada usuário. A função padrão deve ser permitida pela lista de funções autorizadas da integração OAuth, se configurada, e não pode estar bloqueada. Ter outra função aprovada não faz com que ela seja selecionada automaticamente.
Na janela de configuração do ChatGPT, abra Configurações avançadas de OAuth, selecione Cliente OAuth definido pelo usuário e copie a URL de callback exibida no ChatGPT.
Crie uma integração de segurança OAuth personalizada com
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'e definaOAUTH_REDIRECT_URIcomo essa URL de callback exata.Execute a instrução a seguir no Snowflake, usando o nome da integração em letras maiúsculas:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');No resultado JSON, cole
oauth_client_idem ID do cliente OAuth eoauth_client_secretem Segredo do cliente OAuth no ChatGPT.Defina Método de autenticação do endpoint de token como
client_secret_basic.
Conecte e gerencie o Snowflake
Na mesma janela de configuração do ChatGPT, selecione Continuar, entre no Snowflake e autorize a conexão.
Ao configurar um Ambiente de trabalho seguro, defina a política de instalação do plugin e o acesso por função ou grupo dos membros que poderão usá-lo. Verifique se Snowflake e Snowflake - Modelo oficial estão ativados.
Os administradores do Ambiente de trabalho seguro são responsáveis por configurar o Acesso do usuário para as funções que devem usar o Snowflake.
Os administradores do Ambiente de trabalho seguro são responsáveis por revisar o Controle de ações das ferramentas expostas.
Os administradores do Ambiente de trabalho seguro são responsáveis por revisar as Permissões do aplicativo e definir quando o ChatGPT deve consultar os membros antes de usar o aplicativo.
Essas permissões do aplicativo se aplicam às conversas do ChatGPT. Os Agentes do Ambiente de trabalho seguro usam controles individuais definidos pelo criador do agente para determinar quais ações do aplicativo ficam disponíveis e quando os usuários finais devem aprová-las. Para saber mais sobre o comportamento dos agentes, consulte: Agentes do Ambiente de trabalho seguro do ChatGPT para Enterprise e Business.
Teste o aplicativo
Abra uma conversa, selecione Snowflake e teste a conexão.
Confirme se o ChatGPT encontra as ferramentas que você configurou.
Primeiro, execute uma ação de leitura de baixo risco, como uma pesquisa ou consulta somente leitura em dados aprovados.
Confirme se as permissões do Snowflake impedem o acesso fora da função e dos objetos aprovados.
Em uma configuração de Ambiente de trabalho seguro, teste com membros permitidos que não sejam administradores e tenham diferentes funções padrão no Snowflake. Uma conexão bem-sucedida do administrador não confirma que todos os membros conseguem se conectar.
Para administradores do Ambiente de trabalho seguro, ativar somente o Snowflake não é suficiente. Se o Snowflake - Modelo oficial não estiver ativado e conectado, o plugin poderá aparecer desativado para os membros.
Comportamento da URL do servidor MCP e do OAuth
O ChatGPT se conecta à URL completa do servidor MCP gerenciado pelo Snowflake:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
O ChatGPT usa o prefixo do host do Snowflake dessa URL para resolver estes endpoints OAuth do Snowflake:
Autorização:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Não cole uma URL do Snowsight, apenas a URL raiz da conta do Snowflake nem uma URL com segmentos de caminho adicionais. A URL do MCP deve incluir /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} e corresponder exatamente aos seus objetos do Snowflake.
Solução de problemas
O Snowflake está ativado para um administrador, mas desativado para um membro
Confirme se Snowflake e Snowflake - Modelo oficial estão ativados em Configurações do Ambiente de trabalho seguro > Plugins.
Abra Snowflake - Modelo oficial e conclua o fluxo de Conexão. Ativar o modelo sem conectá-lo não é suficiente.
Abra Snowflake e confirme se o modelo aparece como o aplicativo obrigatório.
Confirme se a função ou o grupo do membro afetado é permitido pela política de instalação do plugin.
Servidor MCP não encontrado
Confira novamente a URL completa do servidor MCP ou os quatro campos do modelo, caso a tela de configuração os solicite.
Confirme se o servidor MCP existe exatamente nesse banco de dados e schema.
Nenhuma ferramenta aparece no ChatGPT
Confirme se a especificação do servidor MCP inclui ferramentas.
Confirme se a função tem
USAGEno servidor MCP.
Uma ferramenta aparece, mas falha ao ser usada
Confirme se a função tem a permissão necessária no objeto subjacente do Snowflake, como o serviço de pesquisa, a exibição semântica, o warehouse, o procedimento ou a UDF.
Falha na ferramenta SQL
Confirme se o nome do warehouse está correto e se ele está em execução.
Confirme se a função tem
USAGEno warehouse.Confirme se
read_only: trueestá definido caso você queira acesso somente leitura.
A função ALL solicitada foi explicitamente bloqueada
Peça ao administrador do Snowflake para comparar sua função padrão com as funções permitidas e bloqueadas da integração OAuth. Ter outra função permitida não faz com que ela seja selecionada automaticamente. Se for adequado, altere a função padrão para uma função aprovada e conecte-se novamente. Alterar sua função padrão também afeta as sessões do Snowflake fora do ChatGPT.
Falha na autorização
Confirme se o usuário consegue entrar no Snowflake.
Ao usar
session:role:all, confirme se a função padrão do usuário é permitida pela integração OAuth.Confirme se a configuração usa o fluxo OAuth de MCP gerenciado pelo Snowflake.
Confirme se o ID e o segredo do cliente correspondem à integração OAuth do Snowflake e se o URI de redirecionamento corresponde à URL de callback exibida no ChatGPT.
A política de rede ou a lista de IPs permitidos do Snowflake bloqueia o conector
Peça a um administrador do Snowflake para atualizar a política de rede ou as regras de acesso do Snowflake.
Permita conexões de entrada dos intervalos atuais de IPs de saída do conector do ChatGPT.
Configure essa lista de permissões no Snowflake. Ela é independente da lista de IPs permitidos do Ambiente de trabalho seguro do ChatGPT.
Sempre que possível, automatize as atualizações usando o JSON publicado, pois os intervalos podem mudar.
Problema de conexão com o nome do host
Use o prefixo correto do host do Snowflake. Nomes de host do Snowflake com sublinhados podem causar problemas; prefira hifens.
