MCP Server for Snowflake
by dynamike
A Model Context Protocol (MCP) server for performing read-only operations against Snowflake databases. This tool enables Claude to securely query Snowflake data without modifying any information.
Last updated: N/A
What is MCP Server for Snowflake?
The MCP Server for Snowflake is a tool that allows Claude to securely query data from Snowflake databases using the Model Context Protocol (MCP). It supports read-only operations and provides a secure way to access and analyze Snowflake data.
How to use MCP Server for Snowflake?
- Clone the repository. 2. Install the package using
uv pip install -e .
. 3. Configure your Snowflake credentials in a.env
file (either using private key or external browser authentication). 4. Run the server withuv run snowflake-mcp
. 5. Integrate with Claude Desktop by adding a new MCP server with the correct path to your uv executable.
Key features of MCP Server for Snowflake
Flexible authentication (service account or external browser)
Connection pooling with automatic refresh
Support for querying multiple views and databases
Support for multiple SQL statement types (SELECT, SHOW, DESCRIBE, EXPLAIN, WITH)
MCP-compatible handlers
Read-only operations with security checks
Use cases of MCP Server for Snowflake
Listing available databases and views
Describing the structure of specific views
Querying data from views with optional row limits
Executing custom read-only SQL queries
Integrating Snowflake data with Claude for analysis and insights
FAQ from MCP Server for Snowflake
What authentication methods are supported?
What authentication methods are supported?
The server supports both service account authentication with a private key and external browser authentication for interactive sessions.
How do I configure the server to use private key authentication?
How do I configure the server to use private key authentication?
Set SNOWFLAKE_AUTH_TYPE=private_key
in your .env
file and provide the path to your private key in SNOWFLAKE_PRIVATE_KEY_PATH
.
How do I configure the server to use external browser authentication?
How do I configure the server to use external browser authentication?
Set SNOWFLAKE_AUTH_TYPE=external_browser
in your .env
file. When you start the server, a browser window will open asking you to log in.
What SQL statement types are allowed?
What SQL statement types are allowed?
Only SELECT, SHOW, DESCRIBE, EXPLAIN, and WITH statements are allowed to ensure read-only operations.
How can I configure connection pooling behavior?
How can I configure connection pooling behavior?
You can configure the time interval between connection refreshes using the SNOWFLAKE_CONN_REFRESH_HOURS
environment variable.