Skip to main content
Glama
Analytics-model-LTD

snowflake-analytics-mcp-server

snowflake-analytics-mcp-server

Un servidor Model Context Protocol para Snowflake, construido para la plataforma Analytics Model. Se conecta a Snowflake mediante el controlador oficial snowflake-sdk (Node puro, sin binario de cliente, a diferencia del servidor Oracle) y expone herramientas de descubrimiento de tablas y consultas a través de stdio. Se puede ejecutar directamente con npx.

La herramienta list_tables devuelve el envoltorio exacto de descubrimiento de tablas de la plataforma, por lo que se integra directamente en el mismo flujo fetchMcpTables que los servidores Clio, Dropbox y Shopify.

Instalación

npm install -g snowflake-analytics-mcp-server
# or run directly (no install):
npx -y snowflake-analytics-mcp-server

Configuración

Todas las credenciales provienen de variables de entorno.

Variable

¿Requerida?

Por defecto

Descripción

SNOWFLAKE_ACCOUNT

Identificador de cuenta, p. ej. xy12345.eu-central-1 o orgname-account_name

SNOWFLAKE_USERNAME

Nombre de inicio de sesión

SNOWFLAKE_PASSWORD

✅ (autenticación por contraseña)

Contraseña (requerida a menos que se use par de claves/OAuth)

SNOWFLAKE_WAREHOUSE

Almacén virtual a utilizar

SNOWFLAKE_DATABASE

recomendada

Base de datos por defecto (usada por list_tables cuando no se da argumento)

SNOWFLAKE_SCHEMA

recomendada

Esquema por defecto

SNOWFLAKE_ROLE

Rol a asumir

SNOWFLAKE_AUTHENTICATOR

SNOWFLAKE

SNOWFLAKE (contraseña), SNOWFLAKE_JWT (par de claves), OAUTH

SNOWFLAKE_PRIVATE_KEY

par de claves

Contenido de la clave privada PEM

SNOWFLAKE_PRIVATE_KEY_PATH

par de claves

Ruta a un archivo de clave privada PEM (alternativa a la anterior)

SNOWFLAKE_PRIVATE_KEY_PASSPHRASE

Frase de contraseña, si la clave está cifrada

SNOWFLAKE_TOKEN

OAuth

Token de acceso OAuth (con SNOWFLAKE_AUTHENTICATOR=OAUTH)

SNOWFLAKE_READ_ONLY

true

Bloquea escrituras/DDL en execute_query. Establecer false para permitirlas

SNOWFLAKE_ROW_LIMIT

1000

Límite máximo de filas devueltas

QUERY_TIMEOUT_MS

60000

Tiempo de espera de consulta en el cliente

Consejo sobre el identificador de cuenta

Use guiones, no guiones bajos, en el identificador de cuenta si un cliente tiene problemas para conectarse (p. ej. orgname-account-name).

Configuración de Claude Desktop

Agregue a claude_desktop_config.json:

{
  "mcpServers": {
    "snowflake": {
      "command": "npx",
      "args": ["-y", "snowflake-analytics-mcp-server"],
      "env": {
        "SNOWFLAKE_ACCOUNT": "xy12345.eu-central-1",
        "SNOWFLAKE_USERNAME": "ANALYTICS_USER",
        "SNOWFLAKE_PASSWORD": "••••••••",
        "SNOWFLAKE_WAREHOUSE": "COMPUTE_WH",
        "SNOWFLAKE_DATABASE": "ANALYTICS_DB",
        "SNOWFLAKE_SCHEMA": "PUBLIC",
        "SNOWFLAKE_ROLE": "ANALYST"
      }
    }
  }
}

Ejemplo de autenticación con par de claves

"env": {
  "SNOWFLAKE_ACCOUNT": "xy12345.eu-central-1",
  "SNOWFLAKE_USERNAME": "ANALYTICS_USER",
  "SNOWFLAKE_AUTHENTICATOR": "SNOWFLAKE_JWT",
  "SNOWFLAKE_PRIVATE_KEY_PATH": "/path/to/rsa_key.p8",
  "SNOWFLAKE_PRIVATE_KEY_PASSPHRASE": "••••••••",
  "SNOWFLAKE_DATABASE": "ANALYTICS_DB",
  "SNOWFLAKE_SCHEMA": "PUBLIC"
}

Herramientas

Herramienta

Argumentos

Descripción

list_tables

database?, schema?, include_views?

Contrato de plataforma. Devuelve { table_name }[] en el envoltorio doble para fetchMcpTables

test_connection

Devuelve versión, cuenta, usuario, rol, almacén, base de datos, esquema

list_databases

Bases de datos visibles para el rol actual

list_schemas

database?

Esquemas en una base de datos

list_warehouses

Almacenes con tamaño/estado

describe_table

table, database?, schema?

Columnas, tipos, nulabilidad, valores por defecto

get_table_sample

table, database?, schema?, limit?

Vista previa de filas de una tabla

execute_query

query

Ejecutar SQL. Solo lectura a menos que SNOWFLAKE_READ_ONLY=false

Nota sobre la integración con la plataforma

list_tables coincide con el envoltorio confirmado utilizado por los servidores Shopify/Clio:

{
  "is_success": true,
  "status_code": 200,
  "data": "[{\"table_name\":\"ORDERS\"},{\"table_name\":\"CUSTOMERS\"}]", // double-stringified
  "message": "Found 2 table(s).",
  "requestedPayload": { "database": "ANALYTICS_DB", "schema": "PUBLIC", "include_views": true }
}

Debido a que Snowflake expone tablas de usuario arbitrarias (a diferencia de las categorías de recursos fijas de Clio, que tenían una herramienta list_<recurso> por categoría), no hay una herramienta por tabla. Cuando un usuario selecciona una tabla en la plataforma, el backend debe obtener sus filas mediante get_table_sample (vista previa) o execute_query (SELECT * FROM <tabla>), en lugar de llamar a una herramienta con el nombre de la tabla. Confirme esta asignación con el backend antes de conectar el paso de obtención de filas.

Licencia

MIT

-
license - not tested
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Analytics-model-LTD/snowflake-analytics-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server