
mcp-snowflake-server
3 years
Works with Finder
2
Github Watches
15
Github Forks
43
Github Stars
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 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 database -
schema
(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
相关推荐
I find academic articles and books for research and literature reviews.
Converts Figma frames into front-end code for various mobile frameworks.
Confidential guide on numerology and astrology, based of GG33 Public information
Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.
Advanced software engineer GPT that excels through nailing the basics.
Delivers concise Python code and interprets non-English comments
💬 MaxKB is a ready-to-use AI chatbot that integrates Retrieval-Augmented Generation (RAG) pipelines, supports robust workflows, and provides advanced MCP tool-use capabilities.
Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx
The all-in-one Desktop & Docker AI application with built-in RAG, AI agents, No-code agent builder, MCP compatibility, and more.
MCP server to provide Figma layout information to AI coding agents like Cursor
AI Agents & MCPs & AI Workflow Automation • (280+ MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
Python code to use the MCP3008 analog to digital converter with a Raspberry Pi or BeagleBone black.
Reviews

user_bZKU5orN
As a dedicated user of mcp applications, I must say that the mcp-snowflake-server by isaacwasserman is a fantastic addition. It provides seamless integration with Snowflake, making data management a breeze. Highly recommend checking it out on GitHub: https://github.com/isaacwasserman/mcp-snowflake-server. This server has significantly improved our workflow efficiency and reliability. Great job, Isaac!