OpenAI
Esta página se tradujo automáticamente. Ver el artículo original en inglés.

Configurar la plantilla de app de Snowflake en ChatGPT

Aprende cómo los admins de espacios de trabajo pueden configurar la plantilla de app de Snowflake en ChatGPT con un servidor MCP administrado por Snowflake.

Última actualización: 7 days ago

Usa esta guía si eres admin de un espacio de trabajo de ChatGPT y estás configurando la plantilla de app de Snowflake para tu organización. Una plantilla no es la app final que usan los miembros. Es un flujo de configuración que crea un borrador de app específico del espacio de trabajo después de que proporcionas la configuración requerida de Snowflake.

Para Snowflake, la mayor parte de la configuración se realiza en Snowflake. Creas un servidor MCP administrado por Snowflake, otorgas al rol correcto acceso al servidor MCP y a sus objetos subyacentes, y luego ingresas la URL del servidor MCP administrado o sus campos componentes en el flujo de configuración de la plantilla de ChatGPT. Después de que ChatGPT crea el borrador de app, puedes publicarlo y administrarlo como otras apps del espacio de trabajo.

Lo que configurarás

Estás creando una app de Snowflake específica del espacio de trabajo en ChatGPT. La app se conecta a un servidor MCP administrado por Snowflake que define:

  • Qué acciones puede usar ChatGPT, llamadas herramientas.

  • A qué datos u objetos de Snowflake pueden acceder esas herramientas.

  • Con qué rol de Snowflake deben autorizarse los usuarios.

  • Qué base de datos, esquema y nombre de servidor MCP de Snowflake identifican el punto de acceso del conector.

ChatGPT solo puede descubrir y usar las herramientas expuestas por el servidor MCP y permitidas por el rol de Snowflake con el que se autoriza el usuario.

Antes de comenzar

Necesitas:

  • Acceso de admin o propietario del espacio de trabajo de ChatGPT.

  • Acceso a Snowflake que pueda 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 se debe permitir que haga ChatGPT, como 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 app.

  • El prefijo de host de la cuenta de Snowflake, incluido cualquier sufijo de región o nube.

Valores para preparar

  • Prefijo de host de Snowflake: todo lo que está 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 app.

  • Lista de herramientas: los objetos y las acciones de Snowflake que quieres que use ChatGPT.

Decidir qué puede hacer ChatGPT

Elige solo las capacidades que quieres exponer. Las opciones comunes incluyen:

  • 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 acceso controlado a consultas.

  • Un agente de Snowflake, procedimiento almacenado o UDF para flujos de trabajo específicos.

Si habilitas SQL, mantenlo de solo lectura a menos que tu organización haya revisado y aprobado el acceso de escritura.

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.

Crea un servidor MCP que enumere solo las herramientas que ChatGPT debe usar. Reemplaza los nombres de objetos con tus propios nombres de base de datos, esquema, servicios, vistas, warehouse y servidor de Snowflake.

Ejemplo:

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: "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 deben ser estables y descriptivos para que ChatGPT pueda elegir la herramienta correcta. Crear el servidor MCP no otorga acceso automáticamente a los objetos subyacentes de Snowflake.

Otorgar los permisos correctos de Snowflake

Elige el rol de Snowflake con el que se autorizarán los usuarios y luego otorga a ese rol acceso a la base de datos, el esquema, el servidor MCP y cada objeto subyacente que usen las herramientas.

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 USAGE ON WAREHOUSE CHATGPT_WH TO ROLE CHATGPT_CONNECTOR_ROLE;

Si el servidor MCP expone una vista semántica, UDF, procedimiento almacenado o agente de Cortex, otorga también los permisos requeridos para esos objetos.

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:

  • El servidor existe en la base de datos y el esquema esperados.

  • La lista de herramientas es la que pretendías.

  • Cada identificador de herramienta apunta al objeto correcto de Snowflake.

  • El rol de conexión tiene USAGE en el servidor MCP.

  • El rol de conexión tiene los permisos necesarios en cada objeto subyacente.

Iniciar la configuración de la plantilla en ChatGPT

  1. En ChatGPT, cambia al espacio de trabajo donde la app debe estar disponible.

  2. Abre Configuración del espacio de trabajo > Apps.

  3. Selecciona Directorio.

  4. Busca Snowflake.

  5. Selecciona la plantilla de app de Snowflake e inicia la configuración.

  6. Ingresa un nombre y una descripción claros para la app, como Snowflake o Snowflake - Analytics.

  7. Ingresa los detalles del servidor MCP administrado que solicita el flujo de configuración.

Si la pantalla de configuración solicita la URL completa del servidor MCP administrado, usa este formato:

https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}

Si la pantalla de configuración solicita campos separados, usa los mismos valores de esa URL:

  • Prefijo de host de Snowflake.

  • Base de datos.

  • Esquema.

  • Nombre del servidor MCP.

Crear y publicar el borrador de app

  1. Guarda la configuración de la plantilla de Snowflake en ChatGPT.

  2. Crea el borrador de app.

  3. Revisa los detalles del borrador de app, la configuración de autenticación y las acciones disponibles.

  4. Publica el borrador de app cuando esté listo.

  5. Confirma que la app aparezca en Configuración del espacio de trabajo > Apps > Habilitadas.

  6. Configura Acceso de usuario para los roles que deben usarla.

  7. Revisa Control de acciones para las herramientas expuestas.

  8. Revisa Permisos de la app para elegir cuándo ChatGPT les pide a los miembros antes de usar la app.

Estos permisos de la app se aplican a las conversaciones de ChatGPT. Los agentes del espacio de trabajo usan controles por agente definidos por el creador del agente para determinar qué acciones de la app están disponibles y cuándo se pide a los usuarios finales que las aprueben. Para el comportamiento de los agentes, consulta: Agentes del espacio de trabajo de ChatGPT para Enterprise y Business.

Probar la app

  1. Inicia el flujo de conexión desde ChatGPT como usuario de prueba permitido.

  2. Inicia sesión en Snowflake y selecciona el rol previsto si se te solicita.

  3. Confirma que ChatGPT descubra las herramientas esperadas del servidor MCP.

  4. Ejecuta primero una acción de lectura de bajo riesgo, como una búsqueda o una consulta de solo lectura en datos aprobados.

  5. Confirma que los permisos de Snowflake impidan el acceso fuera del rol y los objetos aprobados.

URL del servidor MCP y comportamiento de OAuth

ChatGPT se conecta a la URL completa del servidor MCP administrado por Snowflake. ChatGPT usa el prefijo de host de Snowflake de esa URL para resolver los puntos de acceso de OAuth de Snowflake.

No pegues una URL de Snowsight, la URL raíz de la cuenta de Snowflake por sí sola ni ninguna URL con segmentos de ruta adicionales. La URL de MCP debe incluir la base de datos, el esquema y la ruta del servidor MCP, y debe coincidir exactamente con tus objetos de Snowflake.

Solución de problemas

  • No se encuentra el servidor MCP: vuelve a comprobar la URL completa del servidor MCP o los campos separados de prefijo de host, base de datos, esquema y servidor.

  • No aparecen herramientas en ChatGPT: confirma que la especificación del servidor MCP incluya herramientas y que el rol tenga USAGE en el servidor MCP.

  • Aparece una herramienta, pero falla al usarse: confirma que el rol tenga el permiso correcto en el objeto subyacente de Snowflake.

  • La herramienta SQL falla: confirma que el nombre del warehouse sea correcto, que el warehouse esté disponible, que el rol tenga USAGE en él y que read_only sea true si querías acceso de solo lectura.

  • La autorización falla: confirma que el usuario pueda iniciar sesión en Snowflake y usar el rol previsto.

  • Problema de conexión con el nombre de host: usa el prefijo de host correcto de Snowflake. Los nombres de host de Snowflake con guiones bajos pueden causar problemas; prefiere los guiones medios.

¿Este artículo te fue útil?