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_insight
tool.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
ExecuteSELECT
queries to read data from the database.
Input:query
(string): TheSELECT
SQL query to execute
Returns: Query results as array of objects
write_query
(enabled only with--allow-write
)
ExecuteINSERT
,UPDATE
, orDELETE
queries.
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 TABLE
SQL 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://insights
resource
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
"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: "--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}"]
]
}
}
Installing Locally
Install Claude AI Desktop App
Install
uv
:
curl -LsSf https://astral.sh/uv/install.sh | sh
- Create a
.env
file 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"
# Alternatively, use external browser authentication:
# SNOWFLAKE_AUTHENTICATOR="externalbrowser"
[Optional] Modify
runtime_config.json
to 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
:
"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}"]
]
}
}
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_insight
tool updates thememo://insights
resource dynamically.
License
MIT
Snowflake Server
Project Details
- isaacwasserman/mcp-snowflake-server
- GNU General Public License v3.0
- Last Updated: 4/21/2025
Recomended MCP Servers

Dart AI Model Context Protocol (MCP) server
Help LLMs to understand your Next apps better
A powerful headless browser MCP server that enables AI agents to fetch web content and perform Google searches...
mcp for handling hwp
特定のWeb APIに関するBaselineの状況を提供するModel Context Protocolサーバー
OmniMCP uses Microsoft OmniParser and Model Context Protocol (MCP) to provide AI models with rich UI context and...
The Logfire MCP Server is here! :tada:
A secure Model Context Protocol (MCP) server providing filesystem access within predefined directories
A Model Context Protocol (MCP) server implementation for remote memory bank management, inspired by Cline Memory Bank.
An implementation of the Model Context Protocol for the World Bank open data API
HTTP-4-MCP configuration tool allows you to easily convert HTTP API to MCP tool without writing code. With simple...
A mcp server that bridges Dune Analytics data to AI agents.