Snowflake
Snowflake database integration with read/write capabilities and insight tracking
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.
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 names -
list_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 claude
Installing 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 | sh
- Create 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_server
- Add 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
संबंधित सर्वर
OSV
Access the OSV (Open Source Vulnerabilities) database for vulnerability information. Query vulnerabilities by package version or commit, batch query multiple packages, and get detailed vulnerability information by ID.
NSE Ticker MCP Server
Provides access to National Stock Exchange (NSE) data using the Upstox API.
VictoriaMetrics
A server for writing and querying time series data using the VictoriaMetrics API.
Quanti: connectors MCP
Unify your marketing team around one AI-powered source of truth. Quanti connects your marketing data to your warehouse. Execute SQL queries on BigQuery, explore table schemas, discover pre-built use cases, and analyze performance across Google Analytics, Google Ads, Meta Ads, TikTok, affiliate networks and more. all through natural conversation
Veri5ight
An MCP server that enables chat-based interaction with Ethereum nodes.
Keboola
Build robust data workflows, integrations, and analytics on a single intuitive platform.
Epitome
Personal AI memory — gives every AI agent shared, persistent memory of you
Alliance of Genome Resources (JS)
A high-performance JavaScript server for the Alliance of Genome Resources (AGR) MCP.
楼宇大数据服务
Provides comprehensive building and office address information queries, including enterprise office address search and building information queries.
Financial Datasets
Stock market API made for AI agents
