Snowflake MCP Server

by sgriffin-magnoliacap

Not rated
GitHub

About

A read-only server for interacting with Snowflake databases, allowing SELECT queries and access to schema context.

Details

Author
sgriffin-magnoliacap
Categories
Database, Other

Setup

Install Snowflake MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/sgriffin-magnoliacap/mcp-snowflake-server-readonly

Follow the installation instructions in the repository README, then restart your MCP client.

A read-only server for interacting with Snowflake databases, allowing SELECT queries and access to schema context.

Slightly altered fromhttps://github.com/isaacwasserman/mcp-snowflake-server

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.

-

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.

- read_query
ExecuteSELECTqueries to read data from the database.
Input:

- query(string): TheSELECTSQL query to execute
Returns:Query results as array of objects

-

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

- 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

"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}"] ] } }
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] Modifyruntime_config.jsonto set exclusion patterns for databases, schemas, or tables.

uv --directory /absolute/path/to/mcp_snowflake_server run mcp_snowflake_server

- Add the server to yourclaude_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}"] ] } }

- 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.
- Theappend_insighttool updates thememo://insightsresource dynamically.

Read-only access to Snowflake databases. Requires Snowflake connection information provided via MCP client configuration.

A Snowflake MCP server — SQL queries, schema exploration, and data insights for AI assistants

API-first engine and MCP server that transforms declarative YAML model definitions into optimized SQL for Postgres, Snowflake, ClickHouse, Dremio, and Databricks

Interact with Snowflake databases to query and manage data.

Snowflake MCP server by CData for read-only querying of live Snowflake data from AI agents and MCP clients.

An MCP server for interacting with Snowflake databases.

Official MCP server for dbt (data build tool) providing integration with dbt Core/Cloud CLI, project metadata discovery, model information, and semantic layer querying capabilities.

Query and analyze data with MotherDuck and local DuckDB

A collection of tools for managing the platform, addressing data quality and reading and writing to Teradata Database.

A read-only MCP server for Avro data sources, powered by the CData JDBC Driver.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.