MCP server providing read-only and optional write access to Snowflake with advanced query, metadata, and note tools.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We ran the install command below but it didn't respond within our test window β this can mean a slow first-time install rather than a real problem.
uvx simple-snowflake-mcpNo response to initialize.
This is an experimental automated check and can have false negatives β missing environment variables, a slow cold install, etc. It doesnβt necessarily mean somethingβs wrong. Last checked 1mo ago.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Simple Snowflake MCP.
execute-snowflake-sqlExecutes a SQL query on Snowflake and returns the result. Supports `json` (default), `markdown`, and `csv` output via the `format` argument.
execute-queryExecutes a SQL query with server-enforced read-only protection. In read-only mode (the default) only `SELECT`, `SHOW`, `DESCRIBE`, `EXPLAIN`, and `WITH` statements (without DML) are allowed. Read-only mode is governed **solely by server configuration** and cannot be relaxed by the caller. Supportsβ¦
get-connection-infoReturns current Snowflake connection information and server status.
list-snowflake-warehousesLists available Data Warehouses (DWH) on Snowflake. Pass `include_details: false` for names only.
list-databasesLists all accessible Snowflake databases. Supports a `pattern` filter (wildcards) and `include_details`.
list-schemasLists schemas in a `database`. Supports a `pattern` filter (wildcards) and `include_details`.
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.
For release details, see CHANGELOG.md.
The server exposes the following MCP tools to interact with Snowflake:
Database Operations:
json (default), markdown, and csv output via the format argument.SELECT, SHOW, DESCRIBE, EXPLAIN, and WITH statements (without DML) are allowed. Read-only mode is governed solely by server configuration and cannot be relaxed by the caller. Supports a limit, an offset for paging, and markdown (default)/json/csv output via format. When a result is truncated the response includes the offset for the next page.Discovery and Metadata:
include_details: false for names only.pattern filter (wildcards) and include_details.database. Supports a pattern filter (wildcards) and include_details.database/schema. Supports a pattern filter (wildcards) and include_details.database/schema. Supports a pattern filter (wildcards) and include_details.database/schema/table (works for views too). Supports json (default)/markdown/csv via format.database/schema/view (or table) by name, with the same server-enforced read-only protection and row limiting as execute-query. Supports a limit, an offset for paging, and markdown (default)/json/csv via format.json (default), yaml, and sql via format, an optional database filter, and opt-in include_data_samples (table rows only, max 3 rows per table).Notes (in-memory session state):
name, content) kept in server memory for the session.name.name, content) for a given note name.The server also exposes MCP prompts that bundle server context into ready-to-use messages:
style (brief/detailed/executive), format (text/markdown/json).database (optional focus), focus (tables/views/functions/all).intent (required), complexity (simple/intermediate/advanced).error_message (optional).This server executes client-supplied SQL against Snowflake using a single set of credentials. Treat the MCP client as untrusted (an LLM can be prompt-injected) and deploy accordingly.
The real security boundary is a least-privilege Snowflake role, not the server's keyword filter. The built-in read-only check is defense-in-depth only. Always connect with a role scoped to exactly what you need.
Required deployment posture:
USAGE/SELECT (and the relevant SHOW/DESCRIBE visibility) β no
INSERT/UPDATE/DELETE/DDL/GRANT. If the role cannot write, no bypass of the
keyword filter can cause damage.read_only: true (the default). Read-only mode is governed solely by
server configuration / the MCP_READ_ONLY environment variable. It is not
client-controllable β there is no read_only tool argument.config.yaml) to bound runaway
or abusive queries and warehouse-credit consumption.What the server enforces:
WITH ... DELETE) are rejected.pattern / database arguments are validated against a strict allow-list before
being placed into LIKE clauses; limit is coerced to a bounded integer and
applied at the driver, never concatenated into SQL.LIMIT are capped at
default_query_limit rows (applied at the driver). When a result is capped the
response includes an explicit "results were truncated" notice β rows are never
dropped silently. Pass a larger limit (up to max_query_limit) or add your own
LIMIT clause to retrieve more.INFO (only a length + hash); full SQL is DEBUG-only.The server now includes a comprehensive YAML-based configuration system that allows you to customize all aspects of the server behavior.
Create a config.yaml file in your project root:
You can specify a custom configuration file using the CONFIG_FILE environment variable:
Windows:
Linux/macOS:
Configuration values are resolved in this order (highest to lowest priority):
LOG_LEVEL, MCP_READ_ONLY)CONFIG_FILE)config.yaml fileuvx (Recommended)On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Clone the repository
Set up environment variables
Build and run with Docker Compose
Using Docker Compose directly:
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/yannbrrd-simple-snowflake-mcp)<a href="https://allmcps.com/mcp/yannbrrd-simple-snowflake-mcp"><img src="https://allmcps.com/api/badge/yannbrrd-simple-snowflake-mcp?style=directory" alt="Simple Snowflake MCP on AllMCPs" /></a>