drio
Open app

MCP Server for Snowflake

Source

MCP Server for connecting to Snowflake with read-only questions

Catalog onlyCatalog onlySTDIO

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
  1. Listing all accessible Snowflake databases
  2. Describing the structure of specific views in a database
  3. Executing custom read-only SQL queries
  4. 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"}]]}]