mcp-snowflake-server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides database interaction with Snowflake, enabling SQL query execution, table management, and schema exploration. Includes tools for reading data, modifying data (with appropriate permissions), creating tables, listing available tables, and describing table structures.

Servidor MCP de Snowflake


Descripción general

Una implementación de servidor del Protocolo de Contexto de Modelo (MCP) que permite la interacción de bases de datos con Snowflake. Este servidor permite ejecutar consultas SQL mediante herramientas y expone la información de datos y el contexto del esquema como recursos.


Componentes

Recursos

  • memo://insights
    Una nota que se actualiza continuamente y que recopila información sobre los datos descubiertos.
    Se actualiza automáticamente cuando se agregan nuevos conocimientos a través de la herramienta append_insight .
  • context://table/{table_name}
    (Si la búsqueda previa está habilitada) Resúmenes de esquema por tabla, incluidas columnas y comentarios, expuestos como recursos individuales.

Herramientas

El servidor expone las siguientes herramientas:

Herramientas de consulta

  • read_query
    Ejecutar consultas SELECT para leer datos de la base de datos.
    Aporte:
    • query (cadena): La consulta SQL SELECT que se ejecutará
      Devuelve: Resultados de la consulta como una matriz de objetos
  • write_query (habilitado solo con --allow-write )
    Ejecutar consultas INSERT , UPDATE o DELETE .
    Aporte:
    • query (cadena): La consulta de modificación de SQL
      Devuelve: Número de filas afectadas o confirmación
  • create_table (habilitado solo con --allow-write )
    Crear nuevas tablas en la base de datos.
    Aporte:
    • query (cadena): instrucción SQL CREATE TABLE
      Devuelve: Confirmación de creación de la tabla

Herramientas de esquema

  • list_databases
    Enumere todas las bases de datos en la instancia de Snowflake.
    Devuelve: Matriz de nombres de bases de datos
  • list_schemas
    Enumere todos los esquemas dentro de una base de datos específica.
    Aporte:
    • database (cadena): Nombre de la base de datos
      Devuelve: Matriz de nombres de esquema
  • list_tables
    Enumere todas las tablas dentro de una base de datos y un esquema específicos.
    Aporte:
    • database (cadena): Nombre de la base de datos
    • schema (cadena): Nombre del esquema
      Devuelve: Matriz de metadatos de la tabla
  • describe_table
    Ver información de la columna de una tabla específica.
    Aporte:
    • table_name (cadena): nombre de tabla completo ( database.schema.table )
      Devoluciones: Matriz de definiciones de columnas con nombres, tipos, nulabilidad, valores predeterminados y comentarios

Herramientas de análisis

  • append_insight
    Agregue nuevos conocimientos de datos al recurso de notas.
    Aporte:
    • insight (cadena): información sobre los datos obtenida a partir del análisis
      Devoluciones: Confirmación de la adición de información
      Efecto: activa la actualización del recurso memo://insights

Uso con Claude Desktop

Instalación mediante herrería

Para instalar Snowflake Server para Claude Desktop automáticamente a través de Smithery :

npx -y @smithery/cli install mcp_snowflake_server --client claude

Instalación mediante UVX

"mcpServers": { "snowflake_pip": { "command": "uvx", "args": [ "--python=3.12", // Optional: specify Python version <=3.12 "mcp_snowflake_server", "--account", "your_account", "--warehouse", "your_warehouse", "--user", "your_user", "--password", "your_password", "--role", "your_role", "--database", "your_database", "--schema", "your_schema" // Optionally: "--allow_write" // Optionally: "--log_dir", "/absolute/path/to/logs" // Optionally: "--log_level", "DEBUG"/"INFO"/"WARNING"/"ERROR"/"CRITICAL" // Optionally: "--exclude_tools", "{tool_name}", ["{other_tool_name}"] ] } }

Instalación local

  1. Instalar la aplicación de escritorio Claude AI
  2. Instalar uv :
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Crea un archivo .env con tus credenciales de Snowflake:
SNOWFLAKE_USER="xxx@your_email.com" SNOWFLAKE_ACCOUNT="xxx" SNOWFLAKE_ROLE="xxx" SNOWFLAKE_DATABASE="xxx" SNOWFLAKE_SCHEMA="xxx" SNOWFLAKE_WAREHOUSE="xxx" SNOWFLAKE_PASSWORD="xxx" # Alternatively, use external browser authentication: # SNOWFLAKE_AUTHENTICATOR="externalbrowser"
  1. [Opcional] Modifique runtime_config.json para establecer patrones de exclusión para bases de datos, esquemas o tablas.
  2. Prueba localmente:
uv --directory /absolute/path/to/mcp_snowflake_server run mcp_snowflake_server
  1. Agregue el servidor a su claude_desktop_config.json :
"mcpServers": { "snowflake_local": { "command": "/absolute/path/to/uv", "args": [ "--python=3.12", // Optional "--directory", "/absolute/path/to/mcp_snowflake_server", "run", "mcp_snowflake_server" // Optionally: "--allow_write" // Optionally: "--log_dir", "/absolute/path/to/logs" // Optionally: "--log_level", "DEBUG"/"INFO"/"WARNING"/"ERROR"/"CRITICAL" // Optionally: "--exclude_tools", "{tool_name}", ["{other_tool_name}"] ] } }

Notas

  • Las operaciones de escritura están deshabilitadas de forma predeterminada. Habilítelas explícitamente con --allow-write .
  • El servidor admite el filtrado de bases de datos, esquemas o tablas específicas mediante patrones de exclusión.
  • El servidor expone recursos de contexto adicionales por tabla si la búsqueda previa está habilitada.
  • La herramienta append_insight actualiza el recurso memo://insights dinámicamente.

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
A
license - permissive license
-
quality - not tested

Integración de Snowflake que implementa operaciones de lectura y escritura (opcional), así como seguimiento de información

  1. Overview
    1. Components
      1. Resources
      2. Tools
    2. Usage with Claude Desktop
      1. Installing via Smithery
      2. Installing via UVX
      3. Installing Locally
    3. Notes
      1. License
        ID: 1z9lezliya