mcp-snowflake
MCP server from isaacwasserman/mcp-snowflake-server
claude mcp add --transport stdio isaacwasserman-mcp-snowflake-server uvx --python=3.12 mcp_snowflake_server --connections-file /path/to/snowflake_connections.toml --connection-name production \ --env SNOWFLAKE_ROLE="Snowflake role" \ --env SNOWFLAKE_USER="Snowflake user" \ --env SNOWFLAKE_SCHEMA="Snowflake schema" \ --env SNOWFLAKE_ACCOUNT="Snowflake account" \ --env SNOWFLAKE_DATABASE="Snowflake database" \ --env SNOWFLAKE_PASSWORD="Snowflake password" \ --env SNOWFLAKE_WAREHOUSE="Snowflake warehouse" \ --env SNOWFLAKE_PRIVATE_KEY_PATH="Path to private key (optional)"
How to use
This MCP server provides a Snowflake-backed context and memo resources along with a set of tools to query, modify, and analyze data. You can run read-only queries via read_query to fetch data with SELECT statements, and use schema tools like list_databases, list_schemas, list_tables, and describe_table to explore the Snowflake metadata. When write access is enabled (using --allow-write), you can run write_query to perform INSERT/UPDATE/DELETE operations and create_table to define new tables. The append_insight tool lets you add data insights to the memo resource memo://insights, which updates automatically, enabling iterative data storytelling as insights are discovered. For per-table context (if prefetch is enabled), you can access context://table/{table_name} resources that describe table schemas and columns.
How to install
Prerequisites:\n- Python 3.12 (or compatible with uvx runtime) installed on the host system.\n- UV (uvx) runtime installed.\n- Access to a Snowflake account with credentials and a configured connections file.\n\nInstallation steps:\n1) Install the uvx runtime (example):\n curl -LsSf https://astral.sh/uv/install.sh | sh\n\n2) Prepare a Snowflake connections file (snowflake_connections.toml) with your connection details and credentials. Example structure will vary by your setup; ensure it contains a named connection (production in this example).\n\n3) Create environment variable placeholders or a .env file as needed: \n SNOWFLAKE_USER=your_user@example.com\n SNOWFLAKE_PASSWORD=your_password\n SNOWFLAKE_ACCOUNT=your_account\n SNOWFLAKE_ROLE=your_role\n SNOWFLAKE_DATABASE=your_database\n SNOWFLAKE_SCHEMA=your_schema\n SNOWFLAKE_WAREHOUSE=your_warehouse\n\n4) Run the server using uvx with the provided configuration:\n uvx --directory /absolute/path/to/mcp_snowflake_server run mcp_snowflake_server\n\n5) (Optional) If you want to enable write access, start with the --allow_write flag via the configuration options and ensure your Snowflake user has appropriate permissions.\n\n6) Integrate the server with Claude Desktop or your orchestration tooling using the mcp_config entry.
Additional notes
Notes:\n- By default, write operations are disabled. Enable them explicitly with the --allow-write option.\n- The server supports excluding particular databases, schemas, or tables via configuration patterns in your UVX/Claude runtime.\n- memo://insights is updated dynamically when append_insight is used.\n- If prefetch is enabled, per-table context resources at context://table/{table_name} become available.\n- Ensure that your Snowflake credentials are managed securely, preferably using environment variables or a secrets manager rather than hard-coding in files.\n- The provided example connections-file path and connection-name (production) should be replaced with your actual connection configuration.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP