← Back to directory
S

Snowflake MCP Server (OSS, Deprecated)

Official
[Deprecated] Community MCP server for Snowflake Cortex AI and SQL orchestration
GitHub source repository ↗
★ 296 Stars Category · Database Popular Source revision 662cb486395d
48FMRS · D
Reliability
7/20
Security and permissions
10/20
Maintenance
2/20
Documentation
16/20
Setup experience
13/20

This was Snowflake Labs' open-source MCP server bringing Cortex AI, object management, SQL execution, and semantic view querying to MCP clients, but the README explicitly marks it deprecated and no longer maintained, with official guidance to migrate to Snowflake's own hosted MCP Server. Its feature scope is broad, but its permission model depends entirely on the operator correctly configuring SQL statement allowlists and Snowflake roles; misconfiguration risks destructive SQL execution, and since it is unmaintained it is unsuitable for production or new projects.

Read the FMRS scoring method →

This repository (Snowflake-Labs/mcp) was a community-maintained MCP server from Snowflake Labs that connects to the Snowflake data platform, exposing Cortex Search (unstructured data retrieval for RAG), Cortex Analyst (semantic queries over structured data), Cortex Agent (orchestration across structured and unstructured sources), object management (create/drop/create-or-alter/describe/list for databases, schemas, tables, views, warehouses, compute pools, roles, stages, users, and image repositories), general SQL execution gated by sqlglot statement-type permissions, and discovery/querying of Snowflake Semantic Views. The README explicitly states the project is deprecated and no longer maintained, directing users to the official Snowflake-maintained MCP Server (documented at docs.snowflake.com). It ships as the PyPI package snowflake-labs-mcp, runs over stdio, sse (legacy), or streamable-http transport, and relies on the Snowflake Python Connector for authentication (password, PAT, key pair, MFA, SSO, OAuth).

Tools

cortex_search
Query unstructured data in Snowflake, commonly used in Retrieval Augmented Generation (RAG) applications.
cortex_analyst
Query structured data in Snowflake via a pre-configured semantic model or semantic view.
cortex_agent
Orchestrate retrieval across structured and unstructured data sources using pre-configured Cortex Agent objects in Snowflake.
object_management
Perform basic create, drop, create-or-alter, describe, and list operations against common Snowflake objects (databases, schemas, tables, views, warehouses, compute pools, roles, stages, users, image repositories), gated by SQL permissions in the configuration file.
sql_execution
Execute LLM-generated general SQL statements, allowed or blocked per sqlglot expression type as configured in sql_statement_permissions.
semantic_view_querying
Discover and query Snowflake Semantic Views, including listing/describing views and their metrics and dimensions, and running direct queries against them.

Setup

1) Install the package via pip/uvx (snowflake-labs-mcp); 2) prepare a service configuration YAML file defining agent_services/search_services/analyst_services plus the other_services toggles and sql_statement_permissions; 3) set Snowflake connection credentials via environment variables or CLI flags (e.g. SNOWFLAKE_ACCOUNT, SNOWFLAKE_USER, SNOWFLAKE_PASSWORD); 4) point your MCP client (Claude Desktop, Cursor, fast-agent, Codex) at the uvx command with --service-config-file and --connection-name arguments; 5) optionally deploy via the provided Dockerfile or docker-compose for streamable-http transport on port 9000. Note: this project is deprecated — new users should use the official Snowflake-maintained MCP Server instead.

claude_desktop_config.json
{"mcpServers":{"mcp-server-snowflake":{"command":"uvx","args":["snowflake-labs-mcp","--service-config-file","<path_to_file>/tools_config.yaml","--connection-name","default"]}}}

Fit and risk

Best for

  • Teams already on Snowflake who need to study or reproduce a legacy MCP integration for migration purposes
  • Developers researching this project's architecture before moving to the official Snowflake MCP Server

Not for

  • Any new project or production deployment, since the project is officially deprecated with no further fixes or features
  • Users unfamiliar with Snowflake RBAC and SQL statement allowlisting who cannot audit the permission configuration themselves

Required permissions

  • Requires valid Snowflake credentials (username/password, PAT, key pair, OAuth, or SSO)
  • Server behavior is fully bound by the RBAC permissions of the connecting role, which needs access to the target databases/schemas/warehouses/Cortex services
  • Enabling SQL execution or object-management tools requires explicitly allowlisting SQL statement types (Create, Drop, Update, etc.) in the configuration file

Risks and side effects

  • The project is officially marked deprecated and unmaintained, so unresolved security or functional issues may exist — not recommended for new deployments
  • Misconfigured sql_statement_permissions or an 'Unknown' statement type set to True can allow destructive SQL (DROP, DELETE, UPDATE) to execute beyond intended scope
  • Sensitive credentials (private keys, passwords) are passed via environment variables or CLI arguments, requiring careful protection of the deployment environment
  • Programmatic Access Tokens (PATs) do not evaluate secondary roles, forcing a single broadly-privileged role and coarser permission control

Troubleshooting

  1. Tools not appearing: check the configuration YAML syntax and confirm the relevant other_services flags are set to True; validate with MCP Inspector
  2. Connection failures: verify Snowflake connection parameters, authentication method, and that the role has access to the configured databases/schemas/services
  3. SSL errors: if the account identifier contains underscores, try the dashed form of the account URL
  4. Permission errors: check that a PAT's bound role covers all needed object permissions, since PATs ignore secondary roles
  5. Slow startup: initial connection and configuration validation can take a few seconds; over 30 seconds suggests checking network connectivity or credentials

Use cases

Letting MCP-capable AI clients query structured and unstructured Snowflake data via natural language
Running LLM-generated SQL against Snowflake under a configurable statement-type allowlist
Exploring and querying pre-configured Snowflake Semantic Views

Supported clients

Claude DesktopFull support
CursorFull support
fast-agentFull support
CodexFull support
Visual Studio Code (GitHub Copilot)Partial support