
How to add Snowflake MCP Server (Snowflake Labs) to Claude Desktop
Snowflake Labs server for Cortex AI, object management, and SQL orchestration over Snowflake. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.
Last updated June 15, 2026 ยท 350โ ยท stdio ยท apikey ยท official
Claude Desktop config for Snowflake MCP Server (Snowflake Labs)
uvx snowflake-labs-mcp --service-config-file tools_config.yaml --connection-name default{
"mcpServers": {
"snowflake-mcp-server-snowflake-labs": {
"command": "uvx",
"args": [
"snowflake-labs-mcp",
"--service-config-file",
"/absolute/path/to/tools_config.yaml",
"--connection-name",
"default"
],
"env": {
"SNOWFLAKE_USER": "<your-user>",
"SNOWFLAKE_ACCOUNT": "<your-account-identifier>",
"SNOWFLAKE_PASSWORD": "<your-password-or-pat>"
}
}
}
}Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.
Setup steps
- 1Open Claude Desktop โ Settings โ Developer โ Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
- 2Paste the Snowflake MCP Server (Snowflake Labs) config below under the top-level "mcpServers" key.
- 3Fill in any placeholder secrets (API keys, paths) in the snippet.
- 4Save the file, then fully quit and reopen Claude Desktop.
- 5Open a chat and confirm Snowflake MCP Server (Snowflake Labs)'s tools appear under the ๐ tools menu.
Before you start
- Python with the uv package manager (run via `uvx snowflake-labs-mcp`), or Docker
- A Snowflake account and user with appropriate roles/warehouse access
- Snowflake credentials supplied via CLI flags or environment variables: SNOWFLAKE_ACCOUNT, SNOWFLAKE_USER, plus one of SNOWFLAKE_PASSWORD, key-pair (SNOWFLAKE_PRIVATE_KEY_FILE), OAuth, SSO, or MFA via --authenticator
- A `configuration.yaml` (service config) file declaring which Cortex services and managers to enable
- For Cortex Search/Analyst/Agent: pre-created service instances and semantic models in your Snowflake account
What Snowflake MCP Server (Snowflake Labs) can do in Claude Desktop
Cortex SearchQuery unstructured data for RAG over configured search service instances
Cortex AnalystAnswer questions over structured data using a semantic model
Cortex AgentAgentic orchestration across data retrieval and tools
Object ManagerCreate, drop, alter, describe, and list databases, schemas, tables, views, warehouses, compute pools, roles, stages, users, and image repositories
Query ManagerExecute LLM-generated SQL with configurable allow/deny statement permissions
Semantic ManagerDiscover and query Snowflake Semantic Views, including their metrics and dimensions
Security
The README flags this Labs project as deprecated in favor of the newer official Snowflake MCP server, so evaluate migration. Scope the service config and Snowflake role tightly, since object-management tools can create and drop database objects.
Snowflake MCP Server (Snowflake Labs) + 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 (Snowflake Labs) config there under the "mcpServers" key and restart the client.
Is Snowflake MCP Server (Snowflake Labs) safe to use with Claude Desktop?
The README flags this Labs project as deprecated in favor of the newer official Snowflake MCP server, so evaluate migration. Scope the service config and Snowflake role tightly, since object-management tools can create and drop database objects.
Is this the official Snowflake MCP server?
It is published by Snowflake Labs, but the GitHub repo is now marked deprecated and redirects to Snowflake's officially supported Cortex Agents MCP server in the Snowflake docs. Use the official one for new, long-lived deployments.
How do I authenticate?
It supports every method in the Snowflake Python connector: username/password, key-pair, OAuth, SSO, and MFA, passed via CLI flags (--account, --user, --private-key-file, --authenticator) or SNOWFLAKE_* environment variables.
Can I stop the agent from running destructive SQL?
Yes. The `sql_statement_permissions` section of configuration.yaml lets you allow or deny specific SQL statement types, so you can permit SELECT while blocking DROP/DELETE.