Snowflake MCP Server
A read-only server for interacting with Snowflake databases, allowing SELECT queries and access to schema context.
Snowflake MCP Server
Slightly altered from https://github.com/isaacwasserman/mcp-snowflake-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. Does not include the ability to execute write operations, and includes a system prompt.
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
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 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: "--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
.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"
# 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:
"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: "--log_dir", "/absolute/path/to/logs"
// Optionally: "--log_level", "DEBUG"/"INFO"/"WARNING"/"ERROR"/"CRITICAL"
// Optionally: "--exclude_tools", "{tool_name}", ["{other_tool_name}"]
]
}
}
Notes
- 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
Máy chủ liên quan
Metabase Server
Integrate with Metabase to query databases and visualize data. Requires Metabase URL and API key for authentication.
Keboola MCP Server
An MCP server for interacting with the Keboola Connection data platform.
Google Analytics MCP Server by CData
A read-only MCP server for querying live Google Analytics data using LLMs. Powered by CData.
Generect MCP
Generect MCP connects your live lead database directly to AI models like OpenAI or Claude without exports or delays. It streams enriched, up-to-date contact data (titles, firmographics, signals) straight into prompts so LLMs can personalize, score, and recommend leads automatically in real time.
Kuzu
Inspect schemas and execute queries on Kuzu databases.
CData Avalara AvaTax
A read-only MCP server for querying live Avalara AvaTax data. Powered by the CData JDBC Driver.
Postgres MCP Pro
An MCP server for PostgreSQL providing index tuning, explain plans, health checks, and safe SQL execution.
BioMCP
Connects AI assistants to authoritative biomedical data sources like PubMed and ClinicalTrials.gov, enabling natural language queries.
CData Amazon Redshift
Access and manage Amazon Redshift data using the CData MCP Server, which requires an external CData JDBC Driver.
MCP Database Server
Provides database access, supporting SQLite, SQL Server, PostgreSQL, and MySQL.