by isaacwasserman
mcp-snowflake-server is a Model Context Protocol (MCP) server that enables Language Models (LLMs) to interact with Snowflake databases, allowing for secure and controlled data operations.
mcp-snowflake-server is an MCP (Model Context Protocol) server implementation designed to facilitate interaction between Language Models (LLMs) and Snowflake databases. It allows LLMs to perform secure and controlled data operations by exposing Snowflake functionalities through a set of tools and resources.
mcp-snowflake-server can be installed and used with Claude Desktop via Smithery or UVX, or by installing it locally. Installation typically involves configuring Snowflake credentials and adding the server to your Claude Desktop configuration. The server exposes various tools that can be called by LLMs to interact with the Snowflake database.
memo://insights
resource that aggregates discovered data insights, updated automatically via an append_insight
tool.context://table/{table_name}
) when prefetch is enabled.--allow-write
flag for activation.SELECT
queries.append_insight
tool to record and aggregate data insights, aiding in automated analysis and report generation.--allow-write
flag.memo://insights
resource? It is a continuously updated memo that aggregates discovered data insights. It gets updated automatically when new insights are appended via the append_insight
tool..env
file with Snowflake credentials and configuring your Claude Desktop application.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.
memo://insights
A continuously updated memo aggregating discovered data insights.
Updated automatically when new insights are appended via the append_insight
tool.
context://table/{table_name}
(If prefetch enabled) Per-table schema summaries, including columns and comments, exposed as individual resources.
The server exposes the following tools:
read_query
Execute SELECT
queries to read data from the database.
Input:
query
(string): The SELECT
SQL query to executewrite_query
(enabled only with --allow-write
)
Execute INSERT
, UPDATE
, or DELETE
queries.
Input:
query
(string): The SQL modification querycreate_table
(enabled only with --allow-write
)
Create new tables in the database.
Input:
query
(string): CREATE TABLE
SQL statementlist_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 databaselist_tables
List all tables within a specific database and schema.
Input:
database
(string): Name of the databaseschema
(string): Name of the schemadescribe_table
View column information for a specific table.
Input:
table_name
(string): Fully qualified table name (database.schema.table
)append_insight
insight
(string): Data insight discovered from analysismemo://insights
resourceTo install Snowflake Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install mcp_snowflake_server --client claude
"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}"]
]
}
}
Install Claude AI Desktop App
Install uv
:
curl -LsSf https://astral.sh/uv/install.sh | sh
.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
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}"]
]
}
}
--allow-write
.append_insight
tool updates the memo://insights
resource dynamically.MIT
Please log in to share your review and rating for this MCP.
Discover more MCP servers with similar functionality and use cases
by googleapis
Provides a configurable MCP server that abstracts connection pooling, authentication, observability, and tool management to accelerate development of database‑backed AI tools.
by bytebase
DBHub is a universal database gateway that implements the Model Context Protocol (MCP) server interface, enabling MCP-compatible clients to interact with various databases.
by neo4j-contrib
Provides Model Context Protocol servers for interacting with Neo4j databases, managing Aura instances, and handling personal knowledge graph memory through natural‑language interfaces.
by mongodb-js
Provides a Model Context Protocol server that connects to MongoDB databases and Atlas clusters, exposing a rich set of tools for querying, managing, and administering data and infrastructure.
by benborla
A Model Context Protocol (MCP) server that provides read-only access to MySQL databases, enabling Large Language Models (LLMs) to inspect database schemas and execute read-only queries.
by ClickHouse
Provides tools that let AI assistants run read‑only SQL queries against ClickHouse clusters or the embedded chDB engine, plus a health‑check endpoint for service monitoring.
by elastic
Provides direct, natural‑language access to Elasticsearch indices via the Model Context Protocol, allowing AI agents to query and explore data without writing DSL.
by motherduckdb
Provides an MCP server that enables SQL analytics on DuckDB and MotherDuck databases, allowing AI assistants and IDEs to execute queries via a unified interface.
by redis
Provides a natural language interface for agentic applications to manage and search data in Redis efficiently.