@isaacwasserman/mcp-snowflake-server: Snowflake MCP Server

isaacwasserman/mcp-snowflake-server
16

Snowflake MCP Server is a Model Context Protocol server that facilitates database interactions with Snowflake. It enables SQL query execution, schema management, and dynamic data insights aggregation, providing tools for querying, table creation, and insight discovery.

unknown

Author

isaacwasserman

README

Snowflake MCP Server

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:

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

Installing via UVX

python
# 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

python
# 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}"] ] } }
@isaacwasserman/mcp-snowflake-server: Snowflake MCP Server | MCP Server Implementation | MCP Server Store