- Home
- MCP servers
- Simple Snowflake
Simple Snowflake
- python
7
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"yannbrrd-simple_snowflake_mcp": {
"command": "uv",
"args": [
"--directory",
".",
"run",
"simple_snowflake_mcp"
],
"env": {
"LOG_LEVEL": "INFO",
"CONFIG_FILE": "config_production.yaml",
"MCP_READ_ONLY": "true",
"SNOWFLAKE_USER": "user@example.com",
"SNOWFLAKE_SCHEMA": "PUBLIC",
"SNOWFLAKE_ACCOUNT": "abcd1234",
"SNOWFLAKE_DATABASE": "MYDB",
"SNOWFLAKE_PASSWORD": "************************",
"SNOWFLAKE_WAREHOUSE": "COMPUTE_WH"
}
}
}
}You can run the Simple Snowflake MCP Server to interact with Snowflake through the MCP protocol. It provides a production-ready MCP service with comprehensive configuration options, resource subscriptions, and robust error handling, making it suitable for deployments behind corporate proxies and in complex environments.
How to use
You will connect to the server using an MCP client, which lets you discover Snowflake data sources, query data, and perform management operations through standardized MCP tools. Start the server, then use the client to call tools like list-databases, list-schemas, describe-table, query-view, and execute-snowflake-sql. The server also supports advanced features such as resource subscriptions for real-time updates and SQL syntax validation without executing queries.
How to install
Prerequisites: a recent Python environment and Docker if you plan to run via container, or you can install and run directly with the package manager used in your workflow.
# Option A: Install and run with uvx (recommended for production)
uvx simple-snowflake-mcp
# Option B: Install from source and run
# Cloning the repository
git clone https://github.com/YannBrrd/simple_snowflake_mcp
cd simple_snowflake_mcp
# Install with uv (creates a virtual environment)
uv sync
# Run the server
uv run simple-snowflake-mcp
Additional setup and notes
Configuration and runtime behavior are controlled through a YAML configuration file and environment variables. You can enable read-only mode, set query limits, adjust logging, and opt into experimental MCP features such as resource subscriptions. The server exposes a set of MCP tools for Snowflake operations and discovery, which you use via an MCP client.
Configuration and runtime tips
- You can customize logging level, log format, and whether to write to a log file. - You can override defaults by setting environment variables or providing a custom YAML configuration file via the CONFIG_FILE variable. - The server supports a read-only mode to prevent write operations. - Advanced features include query plan explanations, query history, and warehouse status checks.
Troubleshooting and debugging
If you encounter connection or permission issues, verify your Snowflake credentials and network access. If queries fail due to limits, adjust default_query_limit or max_query_limit in the configuration. Ensure MCP clients are compatible with the server version for feature support.
Available tools
execute-snowflake-sql
Executes a SQL query on Snowflake and returns the result as a list of dictionaries, with one entry per row.
execute-query
Executes a SQL query with support for multiple output formats and an optional read-only constraint.
query-view
Queries a Snowflake view with an optional row limit and returns results in the requested format.
list-snowflake-warehouses
Lists available Snowflake data warehouses along with their status.
list-databases
Lists all accessible Snowflake databases with metadata.
list-schemas
Lists all schemas within a specified database.
list-tables
Lists all tables in a database and schema, including column details.
list-views
Lists all views in a database and schema.
describe-table
Provides detailed information about a table, including columns and constraints.
describe-view
Provides detailed information about a view, including its SQL and columns.
get-table-sample
Retrieves sample data from a table, with configurable sampling options.
explain-query
Explains the execution plan for a given SQL query.
show-query-history
Shows recent query history and related metrics.
get-warehouse-status
Fetches current warehouse status and usage metrics.
validate-sql
Validates SQL syntax without executing the query.