Copo de nieve Cortex AI - MCP Server Seguro por ALMC Security 2025

Copo de nieve Cortex AI

Ver en GitHub

Servidor Snowflake Cortex AI Model Context Protocol (MCP)

Este servidor Snowflake MCP proporciona herramientas para las funciones de Snowflake Cortex AI, aportando estas capacidades al ecosistema MCP. Cuando se conecta a un cliente MCP (por ejemplo, Claude for Desktop, fast-agent, Agentic Orchestration Framework), los usuarios pueden aprovechar estas funciones de Cortex AI.

Actualmente, el servidor MCP admite las siguientes funciones de Cortex AI:

  • Búsqueda Cortex: Consulta de datos no estructurados en Snowflake, como se utiliza habitualmente en las aplicaciones de Generación Aumentada de Recuperación (RAG).
  • Cortex Analyst: Consulta de datos estructurados en Snowflake a través de un rico modelado semántico.
  • Cortex Agent:(próximamente) orquestador agenético para la recuperación de datos estructurados y no estructurados

Primeros pasos

Configuración del servicio

Se utiliza un sencillo archivo de configuración para crear herramientas para las distintas funciones de Cortex AI. Puede ver un ejemplo en services/tools_config.yaml y una plantilla a continuación. Se pueden añadir muchos servicios Cortex Search y Cortex Analyst. Las descripciones ideales son altamente descriptivas y mutuamente excluyentes. La ruta a este archivo de configuración se pasará al servidor y su contenido se utilizará para crear las herramientas del servidor MCP al iniciarse.

search_services: # Lista todos los servicios de búsqueda Cortex - service_name: "<service_name>" description: > # Debe empezar por "Servicio de búsqueda que ..." "<Servicios de búsqueda que ...>" database_name: "<database_name>" schema_name: "<schema_name>" columns: [] # Opcional: Lista de columnas a devolver por cada resultado relevante (por defecto: []) limit: 10 # Opcional: Límite del número de resultados a devolver (por defecto: 10) - service_name: "<service_name>" description: > # Debe empezar por "Servicio de búsqueda que..." "<Servicios de búsqueda que...>" database_name: "<database_name>" schema_name: "<schema_name>" columns: [] # Opcional: Lista de columnas a devolver por cada resultado relevante (por defecto: []) limit: 10 # Opcional: Límite en el número de resultados a devolver (por defecto: 10) analyst_services: # Lista todos los modelos/vistas semánticas de Cortex Analyst - service_name: "<service_name>" # Crear nombre descriptivo para el servicio semantic_model: "<semantic_yaml_or_view>" # Descripción del modelo semántico YAML o de la vista semántica: > # Debe empezar por "Servicio de analista que..." "<Servicio de analista que...>" - service_name: "<nombre_del_servicio>" # Crear nombre descriptivo para el servicio semantic_model: "<semantic_yaml_or_view>" # Calificar completamente el modelo YAML semántico o la descripción de la vista semántica: > # Debe empezar por "Servicio de analista que..." "<Servicio de analista que...>"

Conexión a Snowflake

El servidor MCP utiliza el Snowflake Python Connector para todos los métodos de autenticación y conexión. Consulte la documentación oficial de Snowflake para conocer todas las opciones de autenticación y las mejores prácticas.

Los parámetros de conexión pueden pasarse como argumentos CLI y/o variables de entorno. El servidor soporta todos los métodos de autenticación disponibles en el Snowflake Python Connector, incluyendo:

  • Autenticación por nombre de usuario/contraseña
  • Autenticación por par de claves
  • Autenticación OAuth
  • Inicio de sesión único (SSO)
  • Autenticación multifactor (MFA)

Parámetros de conexión

Los parámetros de conexión pueden pasarse como argumentos CLI y/o variables de entorno:

ParámetroArgumentos CLIVariable de entornoDescripción
Cuenta--cuentaCOPO_NIEVE_CUENTAIdentificador de la cuenta (por ejemplo, xy12345.us-east-1)
Host--hostSNOWFLAKE_HOSTURL del host de Snowflake
Usuario--usuario, --usernameSNOWFLAKE_USUARIONombre de usuario para la autenticación
Contraseña--contraseñaSNOWFLAKE_PASSWORDContraseña o token de acceso programático
Rol--roleSNOWFLAKE_ROLERol a utilizar para la conexión
Almacén--almacénCOPO_NIEVE_ALMACÉNAlmacén que se utilizará para las consultas
Código de acceso en contraseña--Código de acceso en la contraseña-Si el código de acceso está incrustado en la contraseña
Código de acceso--passcodeSNOWFLAKE_PASSCODECódigo de acceso MFA para la autenticación
Clave privada--clave privadaCOPO_NIEVE_CLAVE_PRIVADAClave privada para la autenticación de pares de claves
Archivo de clave privada--Archivo de claves privadasCOPO_NIEVE_ARCHIVO_CLAVE_PRIVADARuta al archivo de clave privada
Contraseña de clave privada--private-key-pwdCOPO_NIEVE_CLAVE_PRIVADA_PWDContraseña para la clave privada cifrada
Autenticador--Autenticador-Tipo de autenticación (por defecto: snowflake)
Nombre de la conexión--nombre de la conexión-Nombre de la conexión del archivo connections.toml (o config.toml)

[Aviso de obsoleto: Los argumentos CLI --account-identifier y --pat, así como la variable de entorno SNOWFLAKE_PAT, están obsoletos y serán eliminados en una futura versión. Utilice --account y --password (o SNOWFLAKE_ACCOUNT y SNOWFLAKE_PASSWORD) en su lugar.

Uso con clientes MCP

El servidor MCP es independiente del cliente y funcionará con la mayoría de los clientes MCP que admitan la funcionalidad básica de las herramientas MCP y (opcionalmente) los recursos. A continuación se muestran algunos ejemplos.

Claude Desktop

Para integrar este servidor con Claude Desktop como cliente MCP, añada lo siguiente a la configuración del servidor de su aplicación. Por defecto, se encuentra en

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Establezca la ruta al archivo de configuración del servicio y configure su método de conexión.

{ "mcpServers": { "mcp-server-snowflake": { "command": "uvx", "args": [ "--from", "git+https://github.com/Snowflake-Labs/mcp", "mcp-server-snowflake", "--service-config-file", "<ruta al fichero>/tools_config.yaml", "--connection-name", "default" ] } }

Cursor

Registre el servidor MCP en cursor abriendo Cursor y navegando a Configuración -> Configuración de Cursor -> MCP. Añada lo siguiente

{ "mcpServers": { "mcp-server-snowflake": { "command": "uvx", "args": [ "--from", "git+https://github.com/Snowflake-Labs/mcp", "mcp-server-snowflake", "--service-config-file", "<ruta al archivo>/tools_config.yaml", "--connection-name", "default" ] } }

Añada el servidor MCP como contexto en el chat.

Para solucionar problemas del servidor Cursor, vea los registros abriendo el panel de Salida y seleccionando Cursor MCP en el menú desplegable.

fast-agent

Actualice la sección del servidor mcp de fastagent.config.yaml con la ruta del archivo de configuración y el nombre de la conexión.

# Servidores MCP mcp: servers: mcp-server-snowflake: command: "uvx" args: ["--from", "git+https://github.com/Snowflake-Labs/mcp", "mcp-server-snowflake", "--service-config-file", "<ruta al archivo>/tools_config.yaml", "--connection-name", "default"]

Microsoft Visual Studio Code + GitHub Copilot

Para conocer los requisitos previos, la configuración del entorno, la guía paso a paso y las instrucciones, consulta este blog.

Solución de problemas

Ejecución del Inspector MCP

El Inspector M CP se sugiere para la solución de problemas del servidor MCP. Ejecute lo siguiente para iniciar el inspector.

npx @modelcontextprotocol/inspector uvx --from "git+https://github.com/Snowflake-Labs/mcp" mcp-server-snowflake --service-config-file "<path_to_file>/tools_config.yaml" --connection-name "default"

Preguntas frecuentes

¿Cómo me conecto a Snowflake?

¿Puedo utilizar un Token de Acceso Programático (PAT) en lugar de una contraseña?

  • Sí. Pásalo a la bandera CLI --password o establécelo como variable de entorno SNOWFLAKE_PASSWORD.

¿Cómo puedo probarlo?

  • El servidor MCP está pensado para ser utilizado como una parte del ecosistema MCP. Piense en él como una colección de herramientas. Necesitarás un cliente MCP para actuar como orquestador. Consulte la Introducción a MCP para obtener más información.

¿Dónde se despliega? ¿Está en Snowpark Container Services?

  • Todas las herramientas de este servidor MCP son servicios gestionados, accesibles a través de la API REST. No es necesario desplegar servicios remotos por separado. En su lugar, la versión actual del servidor está pensada para ser iniciada por el cliente MCP, como Claude Desktop, Cursor, fast-agent, etc. Al configurar estos clientes MCP con el servidor, la aplicación arrancará el servicio del servidor por ti. Las futuras versiones del servidor MCP podrán desplegarse como un servicio remoto en el futuro.

Recibo errores de permiso de mis llamadas a herramientas.

  • Si utiliza tokens de acceso programático, tenga en cuenta que no evalúan funciones secundarias. Al crearlos, seleccione un único rol que tenga acceso a todos los servicios y sus objetos subyacentes O seleccione cualquier rol. Será necesario crear un nuevo PAT para modificar esta propiedad.

¿Cuántos Cortex Search o Cortex Analysts puedo añadir?

  • Puede añadir múltiples instancias de ambos servicios. El Cliente MCP determinará el(los) apropiado(s) a utilizar basándose en la solicitud del usuario.

Ayuda ¿Recibo un error SSLError?

  • Si el nombre de su cuenta contiene guiones bajos, intente utilizar la versión con guiones de la URL
    • Identificador de cuenta con guiones bajos: acme-marketing_test_account
    • Identificador de cuenta con guiones: acme-marketing-test-account

Informes de errores, comentarios u otras preguntas

Por favor, añada problemas al repositorio de GitHub.

Relacionados en Servicio en la nube - MCP Servers Seguros

ServidorResumenAcciones
Observabilidad de Alibaba Cloud阿里云可观测 MCP服务,提供了一系列访问阿里云可观测各产品的工具能力,覆盖产品包含阿里云日志服务SLS、...Ver
Nube de TableauUn servidor MCP (Model Context Protocol) completo para la administración de Tableau Cloud creado con...Ver
ALECS - Servidor MCP para AkamaiNo hay documentación disponible.Ver
KubernetesVer
Alpha VantageUn servidor de Protocolo de Contexto de Modelo (MCP) que proporciona acceso a las API de datos finan...Ver
Google Play StoreUn servidor MCP (Model Context Protocol) que proporciona integración de herramientas de línea de com...Ver