MCP.so
Sign In
Servers

Snowflake MCP Server

@isaacwasserman

Overview

What is Snowflake MCP Server?

A Model Context Protocol (MCP) server implementation that provides database interaction with Snowflake. It enables running SQL queries via tools and exposes data insights and schema context as resources.

How to use Snowflake MCP Server?

Install via Smithery (npx -y @smithery/cli install mcp_snowflake_server --client claude) or locally using uvx. Configure with Snowflake credentials via environment variables, individual parameters, or a TOML connections file, then add the server to your claude_desktop_config.json. Invoke tools such as read_query, write_query, list_databases, list_schemas, list_tables, describe_table, and append_insight.

Key features of Snowflake MCP Server

  • Execute SELECT queries with the read_query tool
  • Write operations (INSERT, UPDATE, DELETE) via write_query (requires --allow-write)
  • Create tables with the create_table tool (requires --allow-write)
  • List databases, schemas, and tables with schema discovery tools
  • Describe table columns including names, types, nullability, defaults, and comments
  • Append and aggregate data insights in a dynamic memo://insights resource
  • Support for TOML-based multi-connection configuration

Use cases of Snowflake MCP Server

  • Run ad-hoc SQL queries on Snowflake from an MCP client
  • Explore database schema (databases, schemas, tables, columns) interactively
  • Log and accumulate data insights during analysis sessions
  • Perform controlled write operations (insert, update, delete, create table) when explicitly enabled

FAQ from Snowflake MCP Server

How do I enable write operations?

Write operations (write_query, create_table) are disabled by default. Enable them with the --allow-write flag.

What authentication methods are supported?

The server supports password-based authentication, private key authentication (--private_key_path), and external browser authentication (SNOWFLAKE_AUTHENTICATOR="externalbrowser").

Can I exclude certain databases, schemas, or tables?

Yes. You can set exclusion patterns via a runtime_config.json file.

How are data insights managed?

Use the append_insight tool to add insights, which automatically updates the memo://insights resource. Insights are aggregated in this dynamic memo.

What transports and configuration formats are available?

The server uses stdio transport. Configuration can be provided via environment variables, individual command-line arguments, or a TOML connections file (recommended for multiple connections).

More from Databases