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.
Both formats append explainx.ai attribution and the canonical URL for this MCP server listing.
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 28 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.
Use Cases▌
Direct Database Queries from AI
Enable Claude to query your database directly using natural language
Example
Ask 'Show me top 10 customers by revenue this month' and get SQL results instantly
Eliminate manual SQL writing for ad-hoc queries, get insights 10x faster
Data Analysis & Reporting
Generate complex reports and analytics without leaving conversation
Example
Analyze sales trends, cohort retention, user behavior patterns conversationally
Democratize data access—non-technical team members can query databases
Schema Exploration
Understand database structure, relationships, and data models
Example
'Explain the user_orders table schema and its relationships'
Onboard engineers faster, explore unfamiliar databases efficiently
Data Validation & Quality Checks
Run data quality queries to catch anomalies and inconsistencies
Example
Find duplicate records, missing values, orphaned foreign keys automatically
Maintain data integrity with less manual SQL work
Implementation Guide▌
Prerequisites
- ›Claude Desktop 0.7.0+ or Cursor with MCP support
- ›Database credentials (read-only recommended for safety)
- ›Network access from Claude client to database
- ›Understanding of database security and access control
Time Estimate
15-30 minutes including configuration and testing
Installation Steps
- 1.Install MCP server: npm install -g @modelcontextprotocol/server-[name]
- 2.Configure database connection in Claude Desktop config (~/.claude/mcp.json)
- 3.Provide connection string: host, port, database, username, password
- 4.Restart Claude Desktop to load MCP server
- 5.Test connection: 'List all tables in database'
- 6.Run simple query: 'Show me 5 rows from users table'
- 7.Verify results and permissions are correct
- 8.Document query patterns for team use
Troubleshooting
- ⚠Connection refused: Check database is running and network accessible
- ⚠Authentication failed: Verify credentials, check user permissions
- ⚠Claude can't see tables: Grant appropriate read permissions to database user
- ⚠Slow queries: Add indexes, limit result set size, use read replicas
- ⚠MCP server not loading: Check config syntax, restart Claude Desktop
Best Practices▌
✓ Do
- +Use read-only database credentials to prevent accidental writes
- +Connect to read replica, not production primary database
- +Set query timeout limits to prevent long-running queries
- +Document database schema and common queries for AI context
- +Monitor query performance and optimize slow queries
- +Use connection pooling for better performance
- +Test with non-production data first
✗ Don't
- −Don't use production write credentials—risk of data corruption
- −Don't query production database during peak traffic hours
- −Don't expose sensitive PII without proper access controls
- −Don't skip query result validation—AI can misinterpret schema
- −Don't allow unlimited result set sizes—set LIMIT clauses
- −Don't share database credentials in plain text config files
💡 Pro Tips
- ★Create database views for common queries to simplify AI access
- ★Add schema comments/descriptions so AI understands column meanings
- ★Use semantic table/column names ('customer_lifetime_value' not 'clv')
- ★Set up query logging to audit what Claude is querying
- ★Create saved query templates for recurring analysis
- ★Combine with data visualization tools for better insights
Technical Details▌
Architecture
MCP server acts as bridge between Claude and database, translating natural language to SQL queries and returning results in structured format.
Protocols
- Model Context Protocol (MCP)
- Database-specific protocols (PostgreSQL, MySQL, MongoDB)
Compatibility
- PostgreSQL
- MySQL
- SQLite
- MongoDB
- Redis
When to Use This▌
✓ Use When
Use for ad-hoc data queries, exploratory analysis, report generation, schema exploration, and democratizing data access. Best for read-heavy analytics workloads.
✗ Avoid When
Avoid for production write operations, mission-critical transactions, real-time OLTP workloads, or when database contains sensitive PII without proper access controls. Use read replicas, not primary.
Integration▌
- →Read replica connection for analytics queries
- →Database view layer to abstract complex joins
- →Query result caching for repeated questions
- →Audit logging of all AI-generated queries
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
List & Promote Your MCP Server
Share your MCP server with the developer community
Ratings
4.5★★★★★28 reviews- ★★★★★Li Taylor· Dec 16, 2024
Simple Snowflake reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
- ★★★★★Mei Rao· Nov 7, 2024
Useful MCP listing: Simple Snowflake is the kind of server we cite when onboarding engineers to host + tool permissions.
- ★★★★★Mei Srinivasan· Oct 26, 2024
Simple Snowflake is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
- ★★★★★Yash Thakker· Sep 21, 2024
Simple Snowflake is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
- ★★★★★Chen Mehta· Sep 5, 2024
Simple Snowflake has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
- ★★★★★Olivia Jackson· Sep 1, 2024
We evaluated Simple Snowflake against two servers with overlapping tools; this profile had the clearer scope statement.
- ★★★★★James Farah· Aug 24, 2024
We evaluated Simple Snowflake against two servers with overlapping tools; this profile had the clearer scope statement.
- ★★★★★Liam Khanna· Aug 20, 2024
Simple Snowflake has been reliable for tool-calling workflows; the MCP profile page is a good permalink for internal docs.
- ★★★★★Dhruvi Jain· Aug 12, 2024
Useful MCP listing: Simple Snowflake is the kind of server we cite when onboarding engineers to host + tool permissions.
- ★★★★★Chen Gonzalez· Jul 23, 2024
We wired Simple Snowflake into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
showing 1-10 of 28