Usa esta guía si administras un Espacio de trabajo de ChatGPT o tienes ChatGPT Plus o Pro y quieres conectar ChatGPT a Snowflake mediante un servidor MCP administrado por Snowflake.
La mayor parte de la configuración se realiza en Snowflake. Una vez que Snowflake esté listo, completa la conexión de la plantilla de Snowflake en ChatGPT y luego habilita el complemento de Snowflake que usa esa plantilla.
OAuth integrado: cuando esté disponible para tu cuenta de Snowflake y en ChatGPT, usa la aplicación de socio de ChatGPT habilitada por un administrador de Snowflake. Inicia sesión en Snowflake con el SSO de tu organización, si está configurado. No necesitas ingresar un ID de cliente ni un secreto de cliente en ChatGPT. Sigue las instrucciones de la sección OAuth integrado que aparece más adelante.
Cliente OAuth personalizado: usa esta opción si tu organización requiere su propio cliente OAuth o si OAuth integrado no está disponible. Sigue las instrucciones de la sección Cliente OAuth personalizado que aparece más adelante.
Ambas opciones de OAuth requieren la configuración común del servidor MCP, los permisos sobre los objetos subyacentes y el acceso a la red que se describen a continuación. Antes de configurar OAuth, completa la configuración común hasta la sección Ingresa los datos del servidor de Snowflake en ChatGPT, inclusive.
Qué vas a configurar
Vas a crear un servidor MCP administrado por Snowflake que funciona como punto de acceso del conector para ChatGPT. El servidor MCP define:
Qué acciones puede usar ChatGPT.
A qué datos u objetos de Snowflake pueden acceder esas herramientas.
Con qué rol de Snowflake autoriza la conexión cada usuario.
Qué base de datos, esquema y nombre del servidor MCP de Snowflake identifican el punto de acceso.
Luego, configura Snowflake - Plantilla oficial en ChatGPT con la URL completa del servidor MCP administrado. La pantalla de configuración de la plantilla puede mostrar la URL en cuatro campos separados:
Prefijo del host de Snowflake.
Base de datos.
Esquema.
Nombre del servidor MCP.
ChatGPT solo puede descubrir y usar las herramientas que ofrece el servidor MCP y que permite el rol de Snowflake con el que el usuario autoriza la conexión.
Antes de empezar
Necesitas:
Acceso de administrador o propietario de un Espacio de trabajo de ChatGPT, o acceso a ChatGPT Plus o Pro.
Acceso a Snowflake con permisos para crear objetos de servidor MCP y otorgar permisos.
La base de datos y el esquema de Snowflake donde se alojará el servidor MCP.
Definir qué podrá hacer ChatGPT, como usar Cortex Search, Cortex Analyst, SQL de solo lectura o un procedimiento o una función específicos.
Un rol de Snowflake con los privilegios mínimos necesarios que los usuarios usarán al autorizar la aplicación.
El prefijo del host de la cuenta de Snowflake, incluidos los sufijos de región o nube que tenga.
Si tu cuenta de Snowflake restringe el acceso mediante una política de red o una lista de IP permitidas, pide a un administrador de Snowflake que permita las conexiones entrantes desde los rangos actuales de IP de salida de los conectores de ChatGPT. La lista es dinámica y debe mantenerse actualizada.
Valores que debes preparar
Prefijo del host de Snowflake: todo lo que aparece antes de .snowflakecomputing.com en la URL de la cuenta de Snowflake.
Base de datos: la base de datos que contiene el servidor MCP.
Esquema: el esquema que contiene el servidor MCP.
Nombre del servidor MCP: el nombre del objeto de servidor MCP de Snowflake.
URL completa del servidor MCP administrado, si la pantalla de configuración de ChatGPT solicita una URL.
Rol de Snowflake: el rol que los usuarios deben usar al autorizar la aplicación.
Lista de herramientas: los objetos y las acciones de Snowflake que quieres que ChatGPT use.
Decide qué puede hacer ChatGPT
Selecciona solo las capacidades que quieres poner a disposición. Algunas opciones comunes son:
Búsquedas con Cortex Search para encontrar respuestas en datos o contenido indexados de Snowflake.
Preguntas y respuestas con Cortex Analyst mediante una vista semántica aprobada.
SQL de solo lectura para un acceso controlado a las consultas.
Un agente de Snowflake, un procedimiento almacenado o una UDF para un flujo de trabajo específico.
Si habilitas SQL, mantenlo en modo de solo lectura, a menos que tu organización haya revisado y aprobado el acceso de escritura.
Abre una hoja de trabajo de Snowflake
Inicia sesión en la aplicación de Snowflake.
Cambia a un rol que pueda crear el servidor MCP y otorgar acceso.
Ve a Espacios de trabajo.

Crea un espacio de trabajo con un archivo SQL.

Configura el contexto del espacio de trabajo con la base de datos y el esquema donde se creará el servidor MCP.

Crea el servidor MCP de Snowflake
En Snowflake, inicia sesión con un rol que pueda crear el servidor MCP y otorgar acceso. Abre una hoja de trabajo en la base de datos y el esquema donde se debe crear el servidor MCP.
Ejecuta una sentencia como la del siguiente ejemplo. Reemplaza los nombres por los de tu base de datos, esquema, servicios, vistas, almacén virtual y servidor de 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" $$;

Los nombres de las herramientas y los objetos de Snowflake en esta sentencia son ejemplos:
support-searchpone a disposición el servicio de Cortex Search especificado.revenue-analystpone a disposición la vista semántica especificada. Agrega herramientas para otras vistas según sea necesario.sql-readonlypone a disposición SQL de solo lectura con el almacén virtual especificado.
Usa nombres de herramientas estables y descriptivos para que ChatGPT pueda elegir la herramienta adecuada. Crear el servidor MCP no otorga automáticamente acceso a los objetos subyacentes de Snowflake.
Para conocer otras opciones de especificación, consulta: crear un servidor MCP administrado por Snowflake.
Otorga los permisos adecuados en Snowflake
Elige el rol de Snowflake con el que los usuarios autorizarán la conexión y luego otórgale acceso a:
La base de datos y el esquema.
El servidor MCP.
Todos los objetos subyacentes que usan las herramientas, como un servicio de búsqueda, una vista semántica o un almacén virtual.
Ejemplo:
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;
Si el servidor MCP pone a disposición una UDF, un procedimiento almacenado o un agente de Cortex, otorga también los permisos necesarios para ese objeto.
Verifica que Snowflake esté listo
Ejecuta:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Luego, ejecuta:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Confirma lo siguiente:
El servidor existe en la base de datos y el esquema esperados.
La lista de herramientas es la que querías configurar.
El valor de
identifierde cada herramienta apunta al objeto correcto de Snowflake.El rol que se conecta tiene el permiso
USAGEsobre el servidor MCP.El rol que se conecta tiene los permisos necesarios sobre cada objeto subyacente.
Ingresa los datos del servidor de Snowflake en ChatGPT
En ChatGPT, cambia a la cuenta o al Espacio de trabajo donde debe estar disponible la aplicación.
Ve a Configuración > Complementos para una configuración personal o, si eres administrador, a Configuración del Espacio de trabajo > Complementos para configurar un Espacio de trabajo.
Busca Snowflake.
Habilita Snowflake - Plantilla oficial.
Abre Snowflake - Plantilla oficial, ingresa un nombre claro para la conexión y selecciona Conectar.
Ingresa la URL completa del servidor MCP administrado:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Ejemplo:
https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

Si la pantalla de configuración muestra la configuración de Snowflake en campos separados, usa los mismos valores de la URL:
Prefijo del host de Snowflake
Usa todo lo que aparece antes de .snowflakecomputing.com en la URL de tu cuenta de Snowflake, incluidos los sufijos de región o nube que tenga.
Por ejemplo, si la URL de la cuenta comienza con:
https://myorg-myaccount.azure.snowflakecomputing.com
El prefijo del host es:
myorg-myaccount.azure
Base de datos
Ingresa la base de datos que contiene el servidor MCP, por ejemplo:
CHATGPT_APPS
Esquema
Ingresa el esquema que contiene el servidor MCP, por ejemplo:
TOOLS
Nombre del servidor MCP
Ingresa el nombre del objeto de servidor MCP de Snowflake, por ejemplo:
CHATGPT_SNOWFLAKE_MCP
Configura OAuth
Elige la opción de OAuth que esté disponible para tu cuenta y cumpla los requisitos de tu organización. Ambas opciones usan la configuración común del servidor MCP descrita arriba y las pruebas de conexión y los controles de acceso que se describen más adelante.
En cualquiera de las opciones de OAuth, al usar session:role:all, Snowflake usa el rol predeterminado de cada usuario. El rol predeterminado debe estar incluido en la lista de roles permitidos de la integración OAuth, si está configurada, y no debe estar bloqueado. Tener otro rol aprobado no hace que se seleccione automáticamente.
OAuth integrado
Antes de continuar, completa las secciones comunes anteriores para crear el servidor MCP, otorgar permisos, verificar el servidor e ingresar sus datos en ChatGPT. Esto es obligatorio, incluso si llegaste directamente a esta sección.
Usa esta opción solo cuando la aplicación de socio de ChatGPT esté disponible para tu cuenta de Snowflake y OAuth integrado esté disponible en el cuadro de diálogo de configuración de ChatGPT.
Pide a un administrador de Snowflake que habilite la integración de socio de ChatGPT en la misma cuenta de Snowflake que aloja el servidor MCP. Reutiliza una integración de socio de ChatGPT existente que esté habilitada.
En el cuadro de diálogo de configuración de ChatGPT, usa OAuth integrado. No necesitas ingresar un ID de cliente ni un secreto de cliente, ni registrar una URL de retorno.
Continúa con la sección Conecta y administra Snowflake que aparece más adelante para iniciar sesión, dar tu consentimiento y configurar el acceso. Luego, completa la sección Prueba la aplicación, incluidas las pruebas con miembros autorizados que no sean administradores.
El comportamiento del rol predeterminado, la lista de roles permitidos y los roles bloqueados descrito arriba también se aplica a esta opción.
Cliente OAuth personalizado
Antes de continuar, completa las secciones comunes anteriores para crear el servidor MCP, otorgar permisos, verificar el servidor e ingresar sus datos en ChatGPT. Esto es obligatorio, incluso si llegaste directamente a esta sección.
Para un cliente OAuth personalizado, necesitas un ID de cliente y un secreto de cliente de Snowflake. El comportamiento del rol predeterminado, la lista de roles permitidos y los roles bloqueados descrito arriba también se aplica a esta opción.
En el cuadro de diálogo de configuración de ChatGPT, selecciona Configuración avanzada de OAuth > Cliente OAuth definido por el usuario y copia exactamente la URL de retorno que aparece en ChatGPT.
Crea una integración de seguridad OAuth personalizada con
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'yOAUTH_REDIRECT_URIestablecido exactamente en esa URL de retorno.Ejecuta la siguiente sentencia en Snowflake con el nombre de la integración en mayúsculas:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Del resultado JSON, copia
oauth_client_idy pégalo en ID de cliente OAuth, y copiaoauth_client_secrety pégalo en Secreto de cliente OAuth en ChatGPT.Establece Método de autenticación del punto de acceso de tokens en
client_secret_basic.
Después de ingresar las credenciales del cliente personalizado, continúa con las secciones Conecta y administra Snowflake y Prueba la aplicación que aparecen a continuación.
Conecta y administra Snowflake
Para cualquiera de las opciones de OAuth, en el mismo cuadro de diálogo de configuración de ChatGPT, selecciona Continuar, inicia sesión en Snowflake y autoriza la conexión. Puedes usar el SSO de tu organización si está configurado.
Si configuras un Espacio de trabajo, define la política de instalación del complemento y el acceso por rol o grupo para los miembros que deban usarlo. Verifica que tanto Snowflake como Snowflake - Plantilla oficial estén habilitados.
Los administradores del Espacio de trabajo son responsables de configurar el Acceso de usuarios para los roles que deban usar Snowflake.
Los administradores del Espacio de trabajo son responsables de revisar el Control de acciones de las herramientas disponibles.
Los administradores del Espacio de trabajo son responsables de revisar los Permisos de la aplicación para elegir cuándo ChatGPT pide autorización a los miembros antes de usarla.
Estos permisos de la aplicación se aplican a las conversaciones de ChatGPT. Los agentes del Espacio de trabajo usan controles individuales definidos por el creador de cada agente para determinar qué acciones de la aplicación están disponibles y cuándo se pide a los usuarios finales que las aprueben. Para conocer el comportamiento de los agentes, consulta: agentes del Espacio de trabajo de ChatGPT para Enterprise y Business.
Prueba la aplicación
Abre un chat, selecciona Snowflake y prueba la conexión.
Confirma que ChatGPT detecte las herramientas que configuraste.
Primero ejecuta una acción de lectura de bajo riesgo, como una búsqueda o una consulta de solo lectura sobre datos aprobados.
Confirma que los permisos de Snowflake impidan el acceso fuera del rol y los objetos aprobados.
Si configuras un Espacio de trabajo, haz pruebas con miembros autorizados que no sean administradores y que tengan distintos roles predeterminados en Snowflake. Que un administrador logre conectarse no confirma que todos los miembros puedan hacerlo.
Si eres administrador de un Espacio de trabajo, no basta con habilitar solo Snowflake. Si no se ha habilitado y conectado Snowflake - Plantilla oficial, el complemento puede aparecer deshabilitado para los miembros.
URL del servidor MCP y comportamiento de OAuth
ChatGPT se conecta a la URL completa del servidor MCP administrado por Snowflake:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT usa el prefijo del host de Snowflake de esa URL para resolver estos puntos de acceso de OAuth de Snowflake:
Autorización:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
No pegues una URL de Snowsight, la URL raíz de la cuenta de Snowflake sin la ruta ni una URL con segmentos de ruta adicionales. La URL de MCP debe incluir /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} y coincidir exactamente con tus objetos de Snowflake.
Solución de problemas
Snowflake está habilitado para un administrador, pero deshabilitado para un miembro
Confirma que tanto Snowflake como Snowflake - Plantilla oficial estén habilitados en Configuración del Espacio de trabajo > Complementos.
Abre Snowflake - Plantilla oficial y completa el proceso de Conectar. No basta con habilitar la plantilla sin conectarla.
Abre Snowflake y confirma que la plantilla aparezca como la aplicación que requiere.
Confirma que la política de instalación del complemento permita el rol o grupo del miembro afectado.
No se encuentra el servidor MCP
Vuelve a revisar la URL completa del servidor MCP o los cuatro campos de la plantilla si tu pantalla de configuración los solicita.
Confirma que el servidor MCP exista exactamente en esa base de datos y ese esquema.
No aparecen herramientas en ChatGPT
Confirma que la especificación del servidor MCP incluya herramientas.
Confirma que el rol tenga el permiso
USAGEsobre el servidor MCP.
Una herramienta aparece, pero falla al usarla
Confirma que el rol tenga el permiso necesario sobre el objeto subyacente de Snowflake, como el servicio de búsqueda, la vista semántica, el almacén virtual, el procedimiento o la UDF.
La herramienta SQL falla
Confirma que el nombre del almacén virtual sea correcto y que el almacén esté en ejecución.
Confirma que el rol tenga el permiso
USAGEsobre el almacén virtual.Confirma que esté configurado
read_only: truesi querías permitir acceso de solo lectura.
El rol ALL solicitado se bloqueó explícitamente
Pide a tu administrador de Snowflake que compare tu rol predeterminado con los roles permitidos y bloqueados de la integración OAuth. Tener otro rol permitido no hace que se seleccione automáticamente. Si corresponde, cambia el rol predeterminado por un rol aprobado y vuelve a conectarte. Cambiar tu rol predeterminado también afecta tus sesiones de Snowflake fuera de ChatGPT.
La autorización falla
Confirma que el usuario pueda iniciar sesión en Snowflake.
Al usar
session:role:all, confirma que la integración OAuth permita el rol predeterminado del usuario.Confirma que la configuración use el flujo OAuth de MCP administrado por Snowflake.
Si usas un cliente OAuth personalizado, confirma que el ID de cliente y el Secreto de cliente coincidan con la integración OAuth de Snowflake y que su URI de redireccionamiento coincida exactamente con la URL de retorno que aparece en ChatGPT.
Si usas OAuth integrado, pide a un administrador de Snowflake que compruebe que la integración de socio de ChatGPT esté disponible y habilitada en la cuenta que aloja el servidor MCP.
La política de red o la lista de IP permitidas de Snowflake bloquea el conector
Pide a un administrador de Snowflake que actualice la política de red o las reglas de acceso de Snowflake.
Permite las conexiones entrantes desde los rangos actuales de IP de salida de los conectores de ChatGPT.
Configura esta lista de IP permitidas en Snowflake. Es independiente de la lista de IP permitidas del Espacio de trabajo de ChatGPT.
Siempre que sea posible, automatiza las actualizaciones a partir del JSON publicado, ya que los rangos pueden cambiar.
Problema de conexión por el nombre del host
Usa el prefijo correcto del host de Snowflake. Los nombres de host de Snowflake con guiones bajos pueden causar problemas; usa guiones medios de preferencia.
