MCP Server for Snowflake
MCP Server for connecting to Snowflake with read-only questions
Overview
MCP Server for Snowflake is a Model Context Protocol (MCP) server designed for performing read-only operations against Snowflake databases, allowing secure querying of Snowflake data without modifying any information.
To use the MCP Server, clone the repository, install the required packages, and configure your Snowflake credentials in a .env file. Then, run the server using the command uv run snowflake-mcp.
- Secure connection to Snowflake using service account authentication with private key - MCP-compatible handlers for querying Snowflake data - Read-only operations with security checks to prevent data modification - Support for Python 3.12+ - Stdio-based MCP server for easy integration with Claude Desktop
- Listing all accessible Snowflake databases
- Describing the structure of specific views in a database
- Executing custom read-only SQL queries
- Integrating with Claude Desktop for enhanced data querying capabilities
Add to your AI client
Use these steps to connect MCP Server for Snowflake in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"mcp-server-snowflake-dynamike": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-server-snowflake-dynamike"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"mcp-server-snowflake-dynamike": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-server-snowflake-dynamike"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"mcp-server-snowflake-dynamike": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-server-snowflake-dynamike"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"mcp-server-snowflake-dynamike": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-server-snowflake-dynamike"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"mcp-server-snowflake-dynamike": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-server-snowflake-dynamike"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"mcp-server-snowflake-dynamike": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-mcp-server-snowflake-dynamike"
]
}
}
}FAQ
Can I modify data using this server?
No, the MCP Server enforces read-only operations, allowing only SELECT statements.
What are the prerequisites for using this server?
You need Python 3.12 or higher and a configured Snowflake service account.
How do I secure my credentials?
Keep your `.env` file secure and do not commit it to version control.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":3648,"uuid":"587599d3-4524-4d56-9494-f72b4e7a7307","name":"mcp-server-snowflake","title":"MCP Server for Snowflake","description":"MCP Server for connecting to Snowflake with read-only questions","avatar_url":"https://avatars.githubusercontent.com/u/675823?v=4","created_at":"2025-03-20T20:34:11.474Z","updated_at":"2025-03-20T21:00:54.135Z","status":"created","author_name":"dynamike","author_avatar_url":"https://avatars.githubusercontent.com/u/675823?v=4","tags":"snowflake,modelcontextprotocol","category":"research-and-data","is_featured":false,"sort":1,"url":"https://github.com/dynamike/mcp-server-snowflake","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":"{\"star\":\"4\",\"license\":\"MIT license\",\"language\":\"Python\",\"is_official\":false,\"latest_commit_time\":\"2025-04-08 13:51:24\"}","user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]