Usa esta guía si administras un Área de trabajo de ChatGPT o utilizas ChatGPT Plus o ChatGPT Pro y quieres conectar ChatGPT a Snowflake mediante un servidor MCP gestionado por Snowflake.
La mayor parte de la configuración se realiza en Snowflake. Cuando Snowflake esté listo, completa en ChatGPT la conexión de la plantilla de Snowflake y activa el complemento de Snowflake que utiliza esa plantilla.
Qué vas a configurar
Vas a crear un servidor MCP gestionado por Snowflake que actuará 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.
Después, configura Snowflake - Plantilla oficial en ChatGPT con la URL completa del servidor MCP gestionado. La pantalla de configuración de la plantilla puede mostrar la URL en cuatro campos independientes:
Prefijo del host de Snowflake.
Base de datos.
Esquema.
Nombre del servidor MCP.
ChatGPT solo puede detectar y usar las herramientas expuestas por el servidor MCP y permitidas por el rol de Snowflake con el que autoriza el usuario.
Antes de empezar
Necesitas:
Acceso como administrador o propietario de un Área de trabajo de ChatGPT, o acceso a ChatGPT Plus o ChatGPT Pro.
Acceso a Snowflake que permita crear objetos de servidor MCP y conceder permisos.
La base de datos y el esquema de Snowflake donde se alojará el servidor MCP.
Decidir qué podrá hacer ChatGPT, como usar Cortex Search, Cortex Analyst, SQL de solo lectura o un procedimiento o función concretos.
Un rol de Snowflake con privilegios mínimos que los usuarios empleará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, pide a un administrador de Snowflake que permita conexiones entrantes desde los intervalos 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 gestionado, si la pantalla de configuración de ChatGPT solicita una URL.
Rol de Snowflake: el rol que deben usar los usuarios 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
Elige solo las funciones que quieras exponer. Estas son algunas opciones habituales:
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 activas SQL, mantenlo como solo lectura, salvo que tu organización haya revisado y aprobado el acceso de escritura.
Abrir una hoja de cálculo de Snowflake
Inicia sesión en la aplicación de Snowflake.
Cambia a un rol que pueda crear el servidor MCP y conceder acceso.
Ve a Áreas de trabajo.

Crea un Área de trabajo con un archivo SQL.

Establece como contexto del Área de trabajo 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 conceder acceso. Abre una hoja de cálculo en la base de datos y el esquema donde debe crearse el servidor MCP.
Ejecuta una instrucción como la del siguiente ejemplo. Sustituye 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 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. Añade 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. La creación del servidor MCP no concede acceso automáticamente a los objetos subyacentes de Snowflake.
Para consultar más opciones de especificación, visita: Crear un servidor MCP gestionado por Snowflake.
Conceder los permisos adecuados de Snowflake
Elige el rol de Snowflake con el que autorizarán los usuarios y concédele acceso a
La base de datos y el esquema.
El servidor MCP.
Todos los objetos subyacentes que utilicen 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, concede también los permisos necesarios para ese objeto.
Comprobar que Snowflake está listo
Ejecuta:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
A continuación, ejecuta:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Confirma lo siguiente:
El servidor existe en la base de datos y el esquema previstos.
La lista de herramientas es la 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.
Introducir los datos del servidor de Snowflake en ChatGPT
En ChatGPT, cambia a la cuenta o al Área de trabajo donde debe estar disponible la aplicación.
Abre Configuración. Para configurarlo en toda el Área de trabajo, abre Configuración del Área de trabajo como administrador.
Ve a Complementos.
Busca Snowflake.
Activa Snowflake - Plantilla oficial.
Abre Snowflake - Plantilla oficial, introduce un nombre de conexión claro y selecciona Conectar.
Introduce la URL completa del servidor MCP gestionado:
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 los datos de Snowflake en campos independientes, 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 empieza por:
https://myorg-myaccount.azure.snowflakecomputing.com
El prefijo del host es:
myorg-myaccount.azure
Base de datos
Introduce la base de datos que contiene el servidor MCP, por ejemplo:
CHATGPT_APPS
Esquema
Introduce el esquema que contiene el servidor MCP, por ejemplo:
TOOLS
Nombre del servidor MCP
Introduce 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 por 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 el cuadro 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 estableceOAUTH_REDIRECT_URIen esa URL de devolución de llamada exacta.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.Establece Método de autenticación del punto de acceso de token en
client_secret_basic.
Conectar y gestionar Snowflake
En el mismo cuadro de configuración de ChatGPT, selecciona Continuar, inicia sesión en Snowflake y autoriza la conexión.
Para configurar un Área de trabajo, define la política de instalación del complemento y el acceso por rol o grupo de los miembros que deban usarlo. Comprueba que estén activados tanto Snowflake como Snowflake - Plantilla oficial.
Los administradores del Área de trabajo deben configurar Acceso de usuarios para los roles que deban usar Snowflake.
Los administradores del Área de trabajo deben revisar Control de acciones para las herramientas expuestas.
Los administradores del Área de trabajo deben revisar Permisos de la aplicación para decidir cuándo ChatGPT pide permiso a los miembros antes de usarla.
Estos permisos de la aplicación se aplican a las conversaciones de ChatGPT. Los agentes del Área de trabajo usan los controles específicos de cada agente, definidos por su creador, para determinar qué acciones de la aplicación están disponibles y cuándo se pide aprobación a los usuarios finales. Para obtener información sobre el comportamiento de los agentes, consulta: Agentes del Área 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 detecta las herramientas que has configurado.
Ejecuta primero 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 impiden acceder a roles y objetos no aprobados.
Para configurar un Área de trabajo, prueba con miembros autorizados que no sean administradores y tengan distintos roles predeterminados de Snowflake. Que un administrador se conecte correctamente no confirma que todos los miembros puedan hacerlo.
Para los administradores del Área de trabajo, no basta con activar solo Snowflake. Si no se ha activado y conectado Snowflake - Plantilla oficial, el complemento puede aparecer desactivado para los miembros.
URL del servidor MCP y funcionamiento de OAuth
ChatGPT se conecta a la URL completa del servidor MCP gestionado 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á activado para un administrador, pero desactivado para un miembro
Confirma que tanto Snowflake como Snowflake - Plantilla oficial estén activados en Configuración del Área de trabajo > Complementos.
Abre Snowflake - Plantilla oficial y completa el proceso de Conexión. No basta con activar la plantilla sin conectarla.
Abre Snowflake y confirma que la plantilla aparece como aplicación obligatoria.
Confirma que la política de instalación del complemento permite el rol o grupo del miembro afectado.
No se encuentra el servidor MCP
Vuelve a comprobar la URL completa del servidor MCP o los cuatro campos de la plantilla si aparecen en la pantalla de configuración.
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
USAGEen el servidor MCP.
Aparece una herramienta, 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 SQL falla
Confirma que el nombre del almacén sea correcto y que este esté en ejecución.
Confirma que el rol tenga
USAGEen el almacén.Confirma que se haya establecido
read_only: truesi querías un acceso de solo lectura.
El rol ALL solicitado se ha bloqueado expresamente
Pide 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 procede, cambia el rol predeterminado por uno aprobado y vuelve a conectarte. Cambiar tu rol predeterminado también afecta a tus sesiones de Snowflake fuera de ChatGPT.
Falla la autorización
Confirma que el usuario pueda iniciar sesión en Snowflake.
Al usar
session:role:all, confirma que la integración de OAuth permita el rol predeterminado del usuario.Confirma que la configuración utilice el flujo de OAuth del MCP gestionado 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
Pide a un administrador de Snowflake que actualice la política de red o las reglas de acceso de Snowflake.
Permite conexiones entrantes desde los intervalos actuales de IP de salida del conector de ChatGPT.
Configura esta lista de elementos permitidos en Snowflake. Es independiente de la lista de IP permitidas del Área de trabajo de ChatGPT.
Siempre que sea posible, automatiza las actualizaciones a partir del JSON publicado, ya que los intervalos 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; es preferible usar guiones.
