isaacwasserman/mcp-snowflake-server

Databases

A Model Context Protocol (MCP) server implementation that provides database interaction with Snowflake.

Python codebaseCloud Service

Installation

Claude Desktop

Installation Command

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

Configuration

# 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}"]\
      ]
  }
}

Instructions

To install Snowflake Server for Claude Desktop automatically via Smithery: - Use the given npx command. - Alternatively, configure locally using claude_desktop_config.json with provided settings.

README

Snowflake MCP Server

Permalink: Snowflake MCP Server

smithery badgePyPI - Version

Overview

Permalink: 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

Permalink: Components

Resources

Permalink: 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

Permalink: Tools

The server offers six core tools:

Query Tools

Permalink: 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

Permalink: 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

Permalink: 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

Permalink: Usage with Claude Desktop

Installing via Smithery

Permalink: 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

Permalink: 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

Permalink: 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}"]\
      ]
  }
}

About

No description, website, or topics provided.

Resources

Readme

License

GPL-3.0 license

Activity

Stars

16
stars

Watchers

1
watching

Forks

5
forks

Report repository

Releases\ 19

v0.3.3
Latest

Feb 3, 2025

+ 18 releases

Packages\ 0

No packages published

Contributors\ 2

Languages