Skip to main content

Install and Setup Snowflake MCP with Claude

This tutorial was written for local testing and experimentation of Snowflake MCP with Claude using the latest Snowflake-hosted MCP service.

Snowflake Native MCP Service – April 2026

When you use Claude with Snowflake MCP:

  1. You authenticate via OAuth in your browser (your IP talks to Snowflake)
  2. Anthropic’s servers exchange the auth code for a token (Anthropic’s IP talks to Snowflake)
  3. Anthropic’s servers execute SQL via the MCP server using that token (Anthropic’s IP talks to Snowflake)
  4. Results flow back through Anthropic to your browser

Important: Your data passes through Anthropic’s infrastructure. Scope the role’s access accordingly.

Create Snowflake Hosted MCP Server

In this case, we named our MCP “CLAUDE_MCP_SERVER”

CREATE MCP SERVER <your_database>.<your_schema>.CLAUDE_MCP_SERVER
  FROM SPECIFICATION $$
    tools:
      - title: "SQL Execution Tool"
        name: "sql_exec_tool"
        type: "SYSTEM_EXECUTE_SQL"
        description: "A tool to execute SQL queries against the connected Snowflake database."
  $$;

Grant access to the MCP server:

GRANT USAGE ON MCP SERVER <your_database>.<your_schema>.CLAUDE_MCP_SERVER TO ROLE CLAUDE;

Create a Network Rule for Claude to Snowflake Access

-- Create a network rule for Anthropic's IP range
CREATE NETWORK RULE <your_database>.<your_schema>.ANTHROPIC_CLAUDE
  MODE = INGRESS
  TYPE = IPV4
  VALUE_LIST = ('160.79.106.0/24');

-- Add the rule to your existing network policy
ALTER NETWORK POLICY <your_network_policy>
  ADD ALLOWED_NETWORK_RULE_LIST = (<your_database>.<your_sche

Snowflake now natively supports MCP without needing to install the server locally. To connect to Snowflake MCP from Claude, simply open Claude, open Connectors, and locate the web Snowflake connector.

To acquire your Oauth secret and token requries administrative permissions into your Snowflake org. You need to set up a Snowflake Oauth for MCP to work with Claude first.

  1. Acquire and enter your Snowflake server Oauth URL in the following format: https://<account>.snowflakecomputing.com/api/v2/databases/<db>/schemas/<schema>/mcp-servers/<name>
https://<org-account>.snowflakecomputing.com/api/v2/databases/<database>/schemas/<schema>/mcp-servers/<mcp_name>
  1. Paste the OAuth Client ID
  2. Paste the OAuth Cllient Secrete

Install Snowflake MCP Server Locally

The following instructions are not

Test UVX with official Snowflake MCP server for self-hosted. To install and run your Snowflake MCP server locally, you will want to configure Python for MCP. These templates were built on a Windows 11 machine for testing and experimentation purposes.

uvx --from "git+https://github.com/Snowflake-Labs/mcp" mcp-server-snowflake --help

Claude Desktop Configuration Template for Self Hosted MCP

Create/update your Claude Desktop config at: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "mcp-server-snowflake": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/Snowflake-Labs/mcp",
        "mcp-server-snowflake",
        "--service-config-file",
        "C:/path/to/your/snowflake-config.yaml"
      ],
      "env": {
        "SNOWFLAKE_PAT": "your_token_here",
        "SNOWFLAKE_ACCOUNT": "your_account_here",
        "SNOWFLAKE_USER": "your_username_here"
      }
    }
  }
}

Securing your credentials: If you intend to run this on your computer beyond testing and experimentation, we recommend installing environment variables. If your Snowflake user has elevated permissions, including but not limited to AccountAdmin or SystemAdmin roles, do not store your credentials locally in your config.json

Setting Environment Variables:

# Set permanent environment variables
[Environment]::SetEnvironmentVariable("SNOWFLAKE_PAT", "your_token", "User")
[Environment]::SetEnvironmentVariable("SNOWFLAKE_ACCOUNT", "your_account", "User")
[Environment]::SetEnvironmentVariable("SNOWFLAKE_USER", "your_username", "User")

Troubleshooting Commands

Check Python Environment

# Check all Python installations
where python
Get-Command python -All

# Check installed packages
pip list

# Check UV installation
uv pip list

Test MCP Server Connection

# Test server manually (without Claude)
uvx --from "git+https://github.com/Snowflake-Labs/m