mcp-registry/mcp-snowflake-server

    ==================
      
       /// MCP ///
      /// MCP ///
        
    ==================
        
    [server:online]
    [protocol:ready]

mcp-snowflake-server

by isaacwasserman

Model Context Protocol (MCP) server that enables Snowflake database interaction (read/write queries, schema discovery, insights memo).

142
61
Open Source

01

read_query

Execute SELECT queries to read data from the database

02

write_query

Execute INSERT, UPDATE, or DELETE queries in the database

03

create_table

Create new tables in the database with a CREATE TABLE statement

04

list_databases

List all databases in the Snowflake instance

05

list_schemas

List all schemas within a specified database

06

list_tables

List all tables within a specified database and schema

07

describe_table

View column information for a specified table

08

append_insight

Add new data insights to the memo resource

Installation

1. Prerequisites
• Python 3.9 or newer installed
• Access credentials for a Snowflake account (account, role, user, password or private-key)
• OPENAI_API_KEY (or other LLM key) for MCP model execution
2. Get the source
git clone https://github.com/isaacwasserman/mcp-snowflake-server.git cd mcp-snowflake-server
3. Create an isolated Python environment (recommended)
python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate
4. Install dependencies
pip install -r requirements.txt
5. Configure runtime secrets
Create a `.env` file (read automatically by the server) or export environment variables:
# Snowflake export SNOWFLAKE_ACCOUNT="<your-account>" export SNOWFLAKE_USER="<service-user>" export SNOWFLAKE_PASSWORD="<password>" # or SNOWFLAKE_PRIVATE_KEY_PATH export SNOWFLAKE_ROLE="ANALYST_ROLE" export SNOWFLAKE_WAREHOUSE="ANALYST_WH" # LLM / MCP keys export OPENAI_API_KEY="sk-…"
6. (Optional) Initialise database objects
python scripts/bootstrap_snowflake.py # or run provided SQL in snowflake/ folder
7. Run the server
python -m mcp_snowflake_server --host 0.0.0.0 --port 8000 # or, if using Uvicorn / FastAPI entrypoint uvicorn mcp_snowflake_server.app:app --host 0.0.0.0 --port 8000 --reload
8. Verify
Visit http://localhost:8000/docs to open the interactive Swagger UI and test endpoints.

Documentation

License: GNU General Public License v3.0
Updated 7/30/2025