MCP Directory

How to add Snowflake MCP Server to Claude Desktop

Query Snowflake databases over MCP — read/write SQL, schema discovery, and data-insight memos. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.

Last updated June 14, 2026 · 183 · stdio · apikey

Claude Desktop config for Snowflake MCP Server

npx -y @smithery/cli install mcp_snowflake_server --client claude
{
  "mcpServers": {
    "snowflake-mcp-server": {
      "command": "uvx",
      "args": [
        "--python=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"
      ]
    }
  }
}

Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.

Setup steps

  1. 1Open Claude Desktop → Settings → Developer → Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
  2. 2Paste the Snowflake MCP Server config below under the top-level "mcpServers" key.
  3. 3Fill in any placeholder secrets (API keys, paths) in the snippet.
  4. 4Save the file, then fully quit and reopen Claude Desktop.
  5. 5Open a chat and confirm Snowflake MCP Server's tools appear under the 🔌 tools menu.

Before you start

  • A Snowflake account with credentials (account, user, warehouse, role, database, schema)
  • Authentication via password, private key path, or external-browser authenticator
  • uv / uvx (or Python <=3.12) to run the server
  • An MCP client such as Claude Desktop

What Snowflake MCP Server can do in Claude Desktop

read_query

Execute SELECT queries to read data from the database. Input: query (string). Returns query results as an array of objects.

write_query

Execute INSERT, UPDATE, or DELETE queries. Enabled only with --allow-write. Input: query (string). Returns number of affected rows or confirmation.

create_table

Create new tables in the database. Enabled only with --allow-write. Input: query (CREATE TABLE SQL statement). Returns confirmation of table creation.

list_databases

List all databases in the Snowflake instance. Returns an array of database names.

list_schemas

List all schemas within a specific database. Input: database (string). Returns an array of schema names.

list_tables

List all tables within a specific database and schema. Input: database (string), schema (string). Returns an array of table metadata.

describe_table

View column information for a specific table. Input: table_name (fully qualified database.schema.table). Returns column definitions with names, types, nullability, defaults, and comments.

append_insight

Add new data insights to the memo resource. Input: insight (string). Returns confirmation and triggers an update of the memo://insights resource.

Security

By default, write operations are disabled; enable them explicitly with --allow-write, which turns on write_query and create_table. Snowflake credentials (password, private key path, or external-browser authentication) are supplied via command-line args, environment variables, or a TOML connections file. The server can filter out specific databases, schemas, or tables via exclusion patterns, and supports --exclude_tools to disable individual tools.

Snowflake MCP Server + Claude Desktop FAQ

Where is the Claude Desktop config file?

Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the Snowflake MCP Server config there under the "mcpServers" key and restart the client.

Is Snowflake MCP Server safe to use with Claude Desktop?

By default, write operations are disabled; enable them explicitly with --allow-write, which turns on write_query and create_table. Snowflake credentials (password, private key path, or external-browser authentication) are supplied via command-line args, environment variables, or a TOML connections file. The server can filter out specific databases, schemas, or tables via exclusion patterns, and supports --exclude_tools to disable individual tools.

Are write operations enabled by default?

No. Write operations are disabled by default. You must start the server with --allow-write to enable the write_query and create_table tools.

How do I provide Snowflake credentials?

Via individual command-line arguments (--account, --user, --password, etc.), environment variables / a .env file, or a TOML connections file referenced with --connections-file and --connection-name. Password, private key path, or external-browser authentication are supported.

Can I restrict which databases, schemas, or tables are visible?

Yes. The server supports filtering out specific databases, schemas, or tables via exclusion patterns (e.g. configured in runtime_config.json), and individual tools can be disabled with --exclude_tools.

View repo Full Snowflake MCP Server page