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:
- You authenticate via OAuth in your browser (your IP talks to Snowflake)
- Anthropic’s servers exchange the auth code for a token (Anthropic’s IP talks to Snowflake)
- Anthropic’s servers execute SQL via the MCP server using that token (Anthropic’s IP talks to Snowflake)
- 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.
- 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> - Paste the OAuth Client ID
- 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