Usa esta guía si administras un Espacio de trabajo de ChatGPT o tienes ChatGPT Plus o ChatGPT 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. Cuando 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.
Qué vas a configurar
Vas a crear un servidor MCP administrado por Snowflake que funcione 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 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 detectar y usar las herramientas que expone el servidor MCP y que permite el rol de Snowflake con el que autoriza el usuario.
Antes de comenzar
Necesitas:
Acceso como administrador o propietario del Espacio de trabajo de ChatGPT, o acceso a ChatGPT Plus o ChatGPT Pro.
Acceso a Snowflake que permita crear objetos de servidor MCP y otorgar permisos.
La base de datos y el esquema de Snowflake donde residirá el servidor MCP.
Una decisión sobre lo que ChatGPT podrá hacer, como usar Cortex Search, Cortex Analyst, SQL de solo lectura o un procedimiento o una función específicos.
Un rol de Snowflake con privilegios mínimos que los usuarios usarán al autorizar la aplicación.
El prefijo del host de la cuenta de Snowflake, incluido cualquier sufijo de región o nube.
Si tu cuenta de Snowflake restringe el acceso mediante una política de red o una lista de IP permitidas, pídele a un administrador de Snowflake que permita las conexiones entrantes desde los rangos actuales de IP de salida del conector 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 use ChatGPT.
Decidir qué puede hacer ChatGPT
Selecciona solo las capacidades que quieras exponer. Estas son algunas opciones comunes:
Buscar 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 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.
Abrir 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.

Crear 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 instrucción como la del siguiente ejemplo. Reemplaza los nombres por los de tu base de datos, esquema, servicios, vistas, almacén 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 de esta instrucción son ejemplos:
support-searchexpone el servicio de Cortex Search especificado.revenue-analystexpone la vista semántica especificada. Agrega herramientas para otras vistas según sea necesario.sql-readonlyexpone SQL de solo lectura con el almacén 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 consultar otras opciones de especificación, ve a Crear un servidor MCP administrado por Snowflake.
Otorgar los permisos adecuados de Snowflake
Elige el rol de Snowflake con el que autorizarán los usuarios y, luego, otórgale acceso a lo siguiente:
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.
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 expone una UDF, un procedimiento almacenado o un agente de Cortex, otorga también los permisos necesarios para ese objeto.
Verificar 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 coincide con lo que querías.
El
identifierde cada herramienta apunta al objeto correcto de Snowflake.El rol que se conecta tiene
USAGEen el servidor MCP.El rol que se conecta tiene los permisos necesarios en cada objeto subyacente.
Ingresar 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.
Abre Configuración. Para configurar todo el Espacio de trabajo, abre Configuración del Espacio de trabajo como administrador.
Ve a Complementos.
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, incluido cualquier sufijo de región o nube.
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
Configurar el cliente de OAuth
Para conectarte, necesitas un ID de cliente y un secreto de cliente de Snowflake.
Cuando usas session:role:all, Snowflake utiliza el rol predeterminado de cada usuario. El rol predeterminado debe estar permitido en la lista de roles autorizados de la integración de OAuth, si está configurada, y no debe estar bloqueado. Tener otro rol aprobado no hace que se seleccione automáticamente.
En la ventana de configuración de ChatGPT, abre Configuración avanzada de OAuth, selecciona Cliente de OAuth definido por el usuario y copia la URL de devolución de llamada que aparece en ChatGPT.
Crea una integración de seguridad de OAuth personalizada con
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'y configuraOAUTH_REDIRECT_URIcon esa URL exacta de devolución de llamada.Ejecuta la siguiente instrucción en Snowflake con el nombre de la integración en mayúsculas:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');En el resultado JSON, pega
oauth_client_iden ID de cliente de OAuth yoauth_client_secreten Secreto de cliente de OAuth en ChatGPT.Configura Método de autenticación del punto de acceso de tokens como
client_secret_basic.
Conectar y administrar Snowflake
En la misma ventana de configuración de ChatGPT, selecciona Continuar, inicia sesión en Snowflake y autoriza la conexión.
Para configurar 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 deben configurar el Acceso de usuarios para los roles que deban usar Snowflake.
Los administradores del Espacio de trabajo deben revisar el Control de acciones de las herramientas expuestas.
Los administradores del Espacio de trabajo deben revisar los Permisos de la aplicación para elegir cuándo ChatGPT les pedirá 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 los controles específicos de cada agente que configura su creador para determinar qué acciones de la aplicación están disponibles y cuándo se solicita la aprobación de los usuarios finales. Para obtener información sobre el comportamiento de los agentes, consulta Agentes del Espacio de trabajo de ChatGPT para Enterprise y Business.
Probar 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 en datos aprobados.
Confirma que los permisos de Snowflake impidan el acceso fuera del rol y los objetos aprobados.
Para configurar un Espacio de trabajo, haz pruebas con miembros autorizados que no sean administradores y que tengan distintos roles predeterminados de Snowflake. Que un administrador se conecte correctamente no confirma que todos los miembros puedan hacerlo.
Para los administradores del Espacio de trabajo, habilitar solo Snowflake no es suficiente. Si Snowflake: plantilla oficial no está habilitada y conectada, 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, solo la URL raíz de la cuenta de Snowflake 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 Conexión. No basta con habilitar la plantilla sin conectarla.
Abre Snowflake y confirma que la plantilla aparezca como su aplicación obligatoria.
Confirma que la política de instalación del complemento permita el rol o grupo del miembro afectado.
No se encontró el servidor MCP
Vuelve a comprobar la URL completa del servidor MCP o los cuatro campos de la plantilla, si la pantalla de configuración los solicita.
Confirma que el servidor MCP exista exactamente en esa base de datos y ese esquema.
No aparece ninguna herramienta en ChatGPT
Confirma que la especificación del servidor MCP incluya herramientas.
Confirma que el rol tenga
USAGEen el servidor MCP.
Una herramienta aparece, pero falla al usarla
Confirma que el rol tenga el permiso necesario en el objeto subyacente de Snowflake, como el servicio de búsqueda, la vista semántica, el almacén, el procedimiento o la UDF.
La herramienta de SQL falla
Confirma que el nombre del almacén sea correcto y que el almacén esté en ejecución.
Confirma que el rol tenga
USAGEen el almacén.Confirma que esté configurado
read_only: truesi querías acceso de solo lectura.
El rol ALL solicitado se bloqueó explícitamente
Pídele a tu administrador de Snowflake que compare tu rol predeterminado con los roles permitidos y bloqueados de la integración de OAuth. Tener otro rol permitido no hace que se seleccione automáticamente. Si corresponde, cambia el rol predeterminado por uno 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.
Cuando uses
session:role:all, confirma que la integración de OAuth permita el rol predeterminado del usuario.Confirma que la configuración use el flujo de OAuth de MCP administrado por Snowflake.
Confirma que el ID y el secreto de cliente coincidan con la integración de OAuth de Snowflake y que su URI de redirección coincida con la URL de devolución de llamada que aparece en ChatGPT.
La política de red o la lista de IP permitidas de Snowflake bloquea el conector
Pídele 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 del conector de ChatGPT.
Configura esta lista de direcciones permitidas en Snowflake. Es independiente de la lista de IP permitidas del Espacio de trabajo de ChatGPT.
Cuando sea posible, automatiza las actualizaciones desde el JSON publicado, ya que los rangos pueden cambiar.
Problema de conexión con el nombre de host
Usa el prefijo correcto del host de Snowflake. Los nombres de host de Snowflake con guiones bajos pueden causar problemas; usa guiones en su lugar.
