mcp-snowflake-server
Provides database interaction with Snowflake, enabling SQL query execution, table management, and schema exploration. Includes tools for reading data, modifying data (with appropriate permissions), creating tables, listing available tables, and describing table structures.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-snowflake-server list tables in the sales database"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Snowflake MCP Server
Overview
A Model Context Protocol (MCP) server implementation that provides database interaction with Snowflake. This server enables running SQL queries via tools and exposes data insights and schema context as resources.
Related MCP server: Snowflake MCP Server
Components
Resources
memo://insights
A continuously updated memo aggregating discovered data insights.
Updated automatically when new insights are appended via theappend_insighttool.context://table/{table_name}
(If prefetch enabled) Per-table schema summaries, including columns and comments, exposed as individual resources.
Tools
The server exposes the following tools:
Query Tools
read_query
ExecuteSELECTqueries to read data from the database.
Input:query(string): TheSELECTSQL query to execute
Returns: Query results as array of objects
write_query(enabled only with--allow-write)
ExecuteINSERT,UPDATE, orDELETEqueries.
Input:query(string): The SQL modification query
Returns: Number of affected rows or confirmation
create_table(enabled only with--allow-write)
Create new tables in the database.
Input:query(string):CREATE TABLESQL statement
Returns: Confirmation of table creation
Schema Tools
list_databases
List all databases in the Snowflake instance.
Returns: Array of database nameslist_schemas
List all schemas within a specific database.
Input:database(string): Name of the database
Returns: Array of schema names
list_tables
List all tables within a specific database and schema.
Input:database(string): Name of the databaseschema(string): Name of the schema
Returns: Array of table metadata
describe_table
View column information for a specific table.
Input:table_name(string): Fully qualified table name (database.schema.table)
Returns: Array of column definitions with names, types, nullability, defaults, and comments
Analysis Tools
append_insight
Add new data insights to the memo resource.
Input:insight(string): Data insight discovered from analysis
Returns: Confirmation of insight addition
Effect: Triggers update ofmemo://insightsresource
Usage with Claude Desktop
Installing via Smithery
To install Snowflake Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install mcp_snowflake_server --client claudeInstalling via UVX
Traditional Configuration (Individual Parameters)
"mcpServers": {
"snowflake_pip": {
"command": "uvx",
"args": [
"--python=3.12", // Optional: specify Python version <=3.12
"mcp_snowflake_server",
"--account", "your_account",
"--warehouse", "your_warehouse",
"--user", "your_user",
"--password", "your_password",
"--role", "your_role",
"--database", "your_database",
"--schema", "your_schema"
// Optionally: "--private_key_path", "your_private_key_absolute_path"
// Optionally: "--allow_write"
// Optionally: "--log_dir", "/absolute/path/to/logs"
// Optionally: "--log_level", "DEBUG"/"INFO"/"WARNING"/"ERROR"/"CRITICAL"
// Optionally: "--exclude_tools", "{tool_name}", ["{other_tool_name}"]
]
}
}TOML Configuration (Recommended)
"mcpServers": {
"snowflake_production": {
"command": "uvx",
"args": [
"--python=3.12",
"mcp_snowflake_server",
"--connections-file", "/path/to/snowflake_connections.toml",
"--connection-name", "production"
// Optionally: "--allow_write"
// Optionally: "--log_dir", "/absolute/path/to/logs"
// Optionally: "--log_level", "DEBUG"/"INFO"/"WARNING"/"ERROR"/"CRITICAL"
// Optionally: "--exclude_tools", "{tool_name}", ["{other_tool_name}"]
]
},
"snowflake_staging": {
"command": "uvx",
"args": [
"--python=3.12",
"mcp_snowflake_server",
"--connections-file", "/path/to/snowflake_connections.toml",
"--connection-name", "staging"
]
}
}Installing Locally
Install Claude AI Desktop App
Install
uv:
curl -LsSf https://astral.sh/uv/install.sh | shCreate a
.envfile with your Snowflake credentials:
SNOWFLAKE_USER="xxx@your_email.com"
SNOWFLAKE_ACCOUNT="xxx"
SNOWFLAKE_ROLE="xxx"
SNOWFLAKE_DATABASE="xxx"
SNOWFLAKE_SCHEMA="xxx"
SNOWFLAKE_WAREHOUSE="xxx"
SNOWFLAKE_PASSWORD="xxx"
SNOWFLAKE_PASSWORD="xxx"
SNOWFLAKE_PRIVATE_KEY_PATH=/absolute/path/key.p8
# Alternatively, use external browser authentication:
# SNOWFLAKE_AUTHENTICATOR="externalbrowser"[Optional] Modify
runtime_config.jsonto set exclusion patterns for databases, schemas, or tables.Test locally:
uv --directory /absolute/path/to/mcp_snowflake_server run mcp_snowflake_serverAdd the server to your
claude_desktop_config.json:
Traditional Configuration (Using Environment Variables)
"mcpServers": {
"snowflake_local": {
"command": "/absolute/path/to/uv",
"args": [
"--python=3.12", // Optional
"--directory", "/absolute/path/to/mcp_snowflake_server",
"run", "mcp_snowflake_server"
// Optionally: "--allow_write"
// Optionally: "--log_dir", "/absolute/path/to/logs"
// Optionally: "--log_level", "DEBUG"/"INFO"/"WARNING"/"ERROR"/"CRITICAL"
// Optionally: "--exclude_tools", "{tool_name}", ["{other_tool_name}"]
]
}
}TOML Configuration (Recommended)
"mcpServers": {
"snowflake_local": {
"command": "/absolute/path/to/uv",
"args": [
"--python=3.12",
"--directory", "/absolute/path/to/mcp_snowflake_server",
"run", "mcp_snowflake_server",
"--connections-file", "/absolute/path/to/snowflake_connections.toml",
"--connection-name", "development"
// Optionally: "--allow_write"
// Optionally: "--log_dir", "/absolute/path/to/logs"
// Optionally: "--log_level", "DEBUG"/"INFO"/"WARNING"/"ERROR"/"CRITICAL"
// Optionally: "--exclude_tools", "{tool_name}", ["{other_tool_name}"]
]
}
}Notes
By default, write operations are disabled. Enable them explicitly with
--allow-write.The server supports filtering out specific databases, schemas, or tables via exclusion patterns.
The server exposes additional per-table context resources if prefetching is enabled.
The
append_insighttool updates thememo://insightsresource dynamically.
License
MIT
Available Tools
6 toolsappend_insightB
Add a data insight to the memo
Inputs: insight (required).
describe_tableA
Get the schema information for a specific table
Inputs: table_name (required).
list_databasesA
List all available databases in Snowflake
Inputs: no named parameters.
list_schemasB
List all schemas in a database
Inputs: database (required).
list_tablesB
List all tables in a specific database and schema
Inputs: database (required), schema (required).
read_queryB
Execute a SELECT query.
Inputs: query (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool targets a distinct operation: metadata listing, schema description, query execution, and memo insight. No overlap.
All tool names follow a consistent verb_noun pattern with lowercase and underscores, e.g., list_databases, read_query.
6 tools is well-scoped for a Snowflake server covering metadata exploration and querying without being excessive.
Covers metadata listing and SELECT queries thoroughly, but lacks DML/DDL operations like INSERT or CREATE, which may be needed depending on use case.
Maintenance
Related MCP Connectors
Search, access, and get insights on your Amplitude data
Query BigQuery, Snowflake, Redshift & Azure Synapse with natural language
Build and manage data pipelines, add custom connectors, and chat with your data.
List reverse-ETL sources, destinations, models, syncs and runs; trigger syncs into SaaS tools.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables interaction with Snowflake databases through SQL queries, schema exploration, and data analysis. Supports read/write operations, table management, and automatic insight tracking for comprehensive database operations through natural language.7GPL 3.0
- AlicenseAqualityNot gradedmaintenanceEnables AI assistants to securely connect to Snowflake data warehouses and execute SQL queries through natural language interactions. Supports multiple authentication methods and provides formatted query results with built-in security controls.12MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Snowflake through Cortex AI services including search, analyst, and agents for querying structured and unstructured data, plus SQL execution and object management capabilities.19,707 PyPI302Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to securely access Snowflake data warehouses through natural language, executing SQL queries and retrieving insights with support for multiple authentication methods.3MIT