Simple Snowflake▌

by yannbrrd
Simple Snowflake enables secure SQL query execution and exploration on your Snowflake data warehouse, supporting proxies
Integrates with Snowflake data warehouses to enable SQL query execution, database exploration, and result formatting with corporate proxy support and optional read-only mode for secure data analysis workflows.
best for
- / Data analysts querying Snowflake warehouses
- / Database administrators exploring schema structures
- / Corporate environments requiring proxy support
- / Teams needing read-only data access controls
capabilities
- / Execute SQL queries on Snowflake databases
- / Browse databases, schemas, tables and views
- / Get table samples and metadata details
- / Explain query execution plans
- / View warehouse status and query history
- / Validate SQL syntax without execution
what it does
Connects to Snowflake data warehouses to run SQL queries, explore database schemas, and analyze data with corporate proxy support and optional read-only mode.
about
Simple Snowflake is a community-built MCP server published by yannbrrd that provides AI assistants with tools and capabilities via the Model Context Protocol. Simple Snowflake enables secure SQL query execution and exploration on your Snowflake data warehouse, supporting proxies It is categorized under databases, analytics data.
how to install
You can install Simple Snowflake in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
license
MIT
Simple Snowflake is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
readme
Simple Snowflake MCP server
Enhanced Snowflake MCP Server with comprehensive configuration system and full MCP protocol compliance.
A production-ready MCP server that provides seamless Snowflake integration with advanced features including configurable logging, resource subscriptions, and comprehensive error handling. Designed to work seamlessly behind corporate proxies.
Tools
The server exposes comprehensive MCP tools to interact with Snowflake:
Core Database Operations:
- execute-snowflake-sql: Executes a SQL query on Snowflake and returns the result (list of dictionaries)
- execute-query: Executes a SQL query in read-only mode (SELECT, SHOW, DESCRIBE, EXPLAIN, WITH) or not (if
read_onlyis false), result in markdown format - query-view: Queries a view with an optional row limit (markdown result)
Discovery and Metadata:
- list-snowflake-warehouses: Lists available Data Warehouses (DWH) on Snowflake
- list-databases: Lists all accessible Snowflake databases
- list-schemas: Lists all schemas in a specified database
- list-tables: Lists all tables in a database and schema
- list-views: Lists all views in a database and schema
- describe-table: Gives details of a table (columns, types, constraints)
- describe-view: Gives details of a view (columns, SQL)
Advanced Operations:
- get-table-sample: Gets sample data from a table
- explain-query: Explains the execution plan of a SQL query
- show-query-history: Shows recent query history
- get-warehouse-status: Gets current warehouse status and usage
- validate-sql: Validates SQL syntax without execution
🆕 Configuration System (v0.2.0)
The server now includes a comprehensive YAML-based configuration system that allows you to customize all aspects of the server behavior.
Configuration File Structure
Create a config.yaml file in your project root:
# Logging Configuration
logging:
level: INFO # DEBUG, INFO, WARNING, ERROR, CRITICAL
format: "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
file_logging: false # Set to true to enable file logging
log_file: "mcp_server.log" # Log file path (when file_logging is true)
# Server Configuration
server:
name: "simple_snowflake_mcp"
version: "0.2.0"
description: "Enhanced Snowflake MCP Server with full protocol compliance"
connection_timeout: 30
read_only: true # Set to false to allow write operations
# Snowflake Configuration
snowflake:
read_only: true
default_query_limit: 1000
max_query_limit: 50000
# MCP Protocol Settings
mcp:
experimental_features:
resource_subscriptions: true # Enable resource change notifications
completion_support: false # Set to true when MCP version supports it
notifications:
resources_changed: true
tools_changed: true
limits:
max_prompt_length: 10000
max_resource_size: 1048576 # 1MB
Using Custom Configuration
You can specify a custom configuration file using the CONFIG_FILE environment variable:
Windows:
set CONFIG_FILE=config_debug.yaml
python -m simple_snowflake_mcp
Linux/macOS:
CONFIG_FILE=config_production.yaml python -m simple_snowflake_mcp
Configuration Override Priority
Configuration values are resolved in this order (highest to lowest priority):
- Environment variables (e.g.,
LOG_LEVEL,MCP_READ_ONLY) - Custom configuration file (via
CONFIG_FILE) - Default
config.yamlfile - Built-in defaults
🚀 Installation Rapide
Méthode 1 : Installation avec uvx (Recommandé)
# Installation et exécution directe
uvx simple-snowflake-mcp
Méthode 2 : Installation depuis le code source
# Cloner le repo
git clone https://github.com/YannBrrd/simple_snowflake_mcp
cd simple_snowflake_mcp
# Installer avec uv (crée automatiquement un venv)
uv sync
# Exécuter
uv run simple-snowflake-mcp
Méthode 3 : Développement
# Installer avec les dépendances de développement
uv sync --all-extras
# Lancer les tests
uv run pytest
# Linter avec ruff
uv run ruff check .
uv run ruff format .
Configuration Claude Desktop
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
"mcpServers": {
"simple_snowflake_mcp": {
"command": "uv",
"args": [
"--directory",
".",
"run",
"simple_snowflake_mcp"
]
}
}
</details>
<details>
<summary>Published Servers Configuration</summary>
"mcpServers": {
"simple_snowflake_mcp": {
"command": "uvx",
"args": [
"simple_snowflake_mcp"
]
}
}
</details>
Docker Setup
Prerequisites
- Docker and Docker Compose installed on your system
- Your Snowflake credentials
Quick Start with Docker
-
Clone the repository
git clone <your-repo> cd simple_snowflake_mcp -
Set up environment variables
cp .env.example .env # Edit .env with your Snowflake credentials -
Build and run with Docker Compose
# Build the Docker image docker-compose build # Start the service docker-compose up -d # View logs docker-compose logs -f
Docker Commands
Using Docker Compose directly:
# Build the image
docker-compose build
# Start in production mode
docker-compose up -d
# Start in development mode (with volume mounts for live code changes)
docker-compose --profile dev up simple-snowflake-mcp-dev -d
# View logs
docker-compose logs -f
# Stop the service
docker-compose down
# Clean up (remove containers, images, and volumes)
docker-compose down --rmi all --volumes --remove-orphans
Using the provided Makefile (Windows users can use make with WSL or install make for Windows):
# See all available commands
make help
# Build and start
make build
make up
# Development mode
make dev-up
# View logs
make logs
# Clean up
make clean
Docker Configuration
The Docker setup includes:
- Dockerfile: Multi-stage build with Python 3.11 slim base image
- docker-compose.yml: Service definition with environment variable support
- .dockerignore: Optimized build context
- Makefile: Convenient commands for Docker operations
Environment Variables
All Snowflake configuration can be set via environment variables:
Required:
SNOWFLAKE_USER: Your Snowflake usernameSNOWFLAKE_PASSWORD: Your Snowflake passwordSNOWFLAKE_ACCOUNT: Your Snowflake account identifier
Optional:
SNOWFLAKE_WAREHOUSE: Warehouse nameSNOWFLAKE_DATABASE: Default databaseSNOWFLAKE_SCHEMA: Default schemaMCP_READ_ONLY: Set to "TRUE" for read-only mode (default: TRUE)
Configuration System (v0.2.0):
CONFIG_FILE: Path to custom configuration file (default: config.yaml)LOG_LEVEL: Override logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
Development Mode
For development, use the development profile which mounts your source code:
docker-compose --profile dev up simple-snowflake-mcp-dev -d
This allows you to make changes to the code without rebuilding the Docker image.
Développement
Installation des dépendances
# Synchroniser toutes les dépendances (prod + dev)
uv sync --all-extras
# Mettre à jour les dépendances
uv lock --upgrade
# Ajouter une nouvelle dépendance
uv add <package-name>
# Ajouter une dépendance de dev
uv add --dev <package-name>
Build et Publication
# Build
uv build
# Publier sur PyPI
uv publish --token $UV_PUBLISH_TOKEN
Debugging avec MCP Inspector
Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.
You can launch the MCP Inspector via npm with this command:
npx @modelcontextprotocol/inspector uv run simple-snowflake-mcp
Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
New Feature: Snowflake SQL Execution
The server exposes an MCP tool execute-snowflake-sql to execute a SQL query on Snowflake and return the result.
Usage
Call the MCP tool execute-snowflake-sql with a sql argument containing the SQL query to execute. The result will be returned as a list of dictionaries (one per row).
Example:
{
"name": "execute-snowflake-sql",
"arguments": { "sql": "SELECT CURRENT_TIMESTAMP;" }
}
The result will be returned in the MCP response.
Installation et configuration dans VS Code
-
Cloner le projet et installer les dépendances
git clone https://github.com/YannBrrd/simple_snowflake_mcp cd simple_snowflake_mcp # Installer avec uv (crée automatiquement un venv) uv sync --all-extras -
Configurer l'accès Snowflake
- Copier
.env.examplevers.envet remplir vos credentials :SNOWFLAKE_USER=... SNOWFLAKE_PASSWORD=... SNOWFLAKE_ACCOUNT=... # SNOWFLAKE_WAREHOUSE Optionnel: Nom du warehouse Snowflake # SNOWFLAKE_DATABASE Optionnel: Nom de la base par défaut # SNOWFLAKE_SCHEMA Optionnel: Nom du schéma par défaut # MCP_READ_ONLY=true|false Optionnel: true/false pour forcer le mode lecture seule
- Copier
-
Configurer le serveur (v0.2.0)
- Le serveur créera automatiquement un fichier
config.yamlpar défaut au premier lancement - Personnalisez le logging, les limites et les fonctionnalités MCP en éditant
- Le serveur créera automatiquement un fichier
FAQ
- What is the Simple Snowflake MCP server?
- Simple Snowflake is a Model Context Protocol (MCP) server profile on explainx.ai. MCP lets AI hosts (e.g. Claude Desktop, Cursor) call tools and resources through a standard interface; this page summarizes categories, install hints, and community ratings.
- How do MCP servers relate to agent skills?
- Skills are reusable instruction packages (often SKILL.md); MCP servers expose live capabilities. Teams frequently combine both—skills for workflows, MCP for APIs and data. See explainx.ai/skills and explainx.ai/mcp-servers for parallel directories.
- How are reviews shown for Simple Snowflake?
- This profile displays 10 aggregated ratings (sample rows for discoverability plus signed-in user reviews). Average score is about 4.5 out of 5—verify behavior in your own environment before production use.
Ratings
4.5★★★★★10 reviews- ★★★★★Shikha Mishra· Oct 10, 2024
Simple Snowflake is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
- ★★★★★Piyush G· Sep 9, 2024
We evaluated Simple Snowflake against two servers with overlapping tools; this profile had the clearer scope statement.
- ★★★★★Chaitanya Patil· Aug 8, 2024
Useful MCP listing: Simple Snowflake is the kind of server we cite when onboarding engineers to host + tool permissions.
- ★★★★★Sakshi Patil· Jul 7, 2024
Simple Snowflake reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
- ★★★★★Ganesh Mohane· Jun 6, 2024
I recommend Simple Snowflake for teams standardizing on MCP; the explainx.ai page compares cleanly with sibling servers.
- ★★★★★Oshnikdeep· May 5, 2024
Strong directory entry: Simple Snowflake surfaces stars and publisher context so we could sanity-check maintenance before adopting.
- ★★★★★Dhruvi Jain· Apr 4, 2024
Simple Snowflake has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
- ★★★★★Rahul Santra· Mar 3, 2024
According to our notes, Simple Snowflake benefits from clear Model Context Protocol framing — fewer ambiguous “AI plugin” claims.
- ★★★★★Pratham Ware· Feb 2, 2024
We wired Simple Snowflake into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
- ★★★★★Yash Thakker· Jan 1, 2024
Simple Snowflake is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.