Skip to Content
MCP ServersCommunitySnowflake MCP Server

Snowflake MCP Server

View original on GitHub 

smithery badge PyPI - Version

Overview

A Model Context Protocol (MCP) server implementation that provides database interaction with Snowflake. This server enables running SQL queries with tools and intereacting with a memo of data insights presented as a resource.

Components

Resources

The server exposes a single dynamic resource:

  • memo://insights: A continuously updated data insights memo that aggregates discovered insights during analysis
    • Auto-updates as new insights are discovered via the append-insight tool

Tools

The server offers six core tools:

Query Tools

  • read_query

    • Execute SELECT queries to read data from the database
    • Input:
      • query (string): The SELECT SQL query to execute
    • Returns: Query results as array of objects
  • write_query (with --allow-write flag)

    • Execute INSERT, UPDATE, or DELETE queries
    • Input:
      • query (string): The SQL modification query
    • Returns: { affected_rows: number }
  • create_table (with --allow-write flag)

    • Create new tables in the database
    • Input:
      • query (string): CREATE TABLE SQL statement
    • Returns: Confirmation of table creation

Schema Tools

  • list_tables

    • Get a list of all tables in the database
    • No input required
    • Returns: Array of table names
  • describe-table

    • View column information for a specific table
    • Input:
      • table_name (string): Name of table to describe (can be fully qualified)
    • Returns: Array of column definitions with names and types

Analysis Tools

  • append_insight
    • Add new data insights to the memo resource
    • Input:
      • insight (string): data insight discovered from analysis
    • Returns: Confirmation of insight addition
    • Triggers update of memo://insights resource

Usage with Claude Desktop

Installing via Smithery

To install Snowflake Server for Claude Desktop automatically via Smithery :

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

Installing via UVX

# Add the server to your claude_desktop_config.json "mcpServers": { "snowflake_pip": { "command": "uvx", "args": [ "mcp_snowflake_server", "--account", "the_account", "--warehouse", "the_warehouse", "--user", "the_user", "--password", "their_password", "--role", "the_role" "--database", "the_database", "--schema", "the_schema", # Optionally: "--allow_write" (but not recommended) # Optionally: "--log_dir", "/absolute/path/to/logs" # Optionally: "--log_level", "DEBUG"/"INFO"/"WARNING"/"ERROR"/"CRITICAL" # Optionally: "--exclude_tools", "{tool name}", ["{other tool name}"] ] } }

Installing locally

# Add the server to your claude_desktop_config.json "mcpServers": { "snowflake_local": { "command": "uv", "args": [ "--directory", "/absolute/path/to/mcp_snowflake_server", "run", "mcp_snowflake_server", "--account", "the_account", "--warehouse", "the_warehouse", "--user", "the_user", "--password", "their_password", "--role", "the_role" "--database", "the_database", "--schema", "the_schema", # Optionally: "--allow_write" (but not recommended) # Optionally: "--log_dir", "/absolute/path/to/logs" # Optionally: "--log_level", "DEBUG"/"INFO"/"WARNING"/"ERROR"/"CRITICAL" # Optionally: "--exclude_tools", "{tool name}", ["{other tool name}"] ] } }
Last updated on