MCP Directory

How to add Snowflake MCP Server to Cursor

Query Snowflake databases over MCP — read/write SQL, schema discovery, and data-insight memos. Paste the config into ~/.cursor/mcp.json and restart Cursor.

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

Cursor 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 Cursor → Settings → MCP → Add new MCP server (or edit ~/.cursor/mcp.json directly).
  2. 2Paste the Snowflake MCP Server config below into the "mcpServers" object.
  3. 3Fill in placeholder secrets, then save.
  4. 4Cursor reloads MCP servers automatically — check Settings → MCP for a green status dot.
  5. 5Ask Cursor to use one of Snowflake MCP Server's tools to confirm it's connected.

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 Cursor

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 + Cursor FAQ

Where is the Cursor config file?

Cursor reads MCP servers from ~/.cursor/mcp.json. Paste the Snowflake MCP Server config there under the "mcpServers" key and restart the client.

Is Snowflake MCP Server safe to use with Cursor?

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