Back to MCP Servers

Snowflake MCP Server

Official Snowflake Labs MCP server for Cortex AI (Search, Analyst, Agent), Snowflake object management, SQL execution, and semantic view querying.

Data & Enrichment by Snowflake Labs API Key active
Overview

The Snowflake MCP server (snowflake-labs-mcp) is an open-source server maintained by Snowflake Labs that lets MCP-compatible clients like Claude Desktop, Cursor, and fast-agent interact with a Snowflake account. It bundles Snowflake's Cortex AI services (Cortex Search for unstructured/RAG queries, Cortex Analyst for semantic-model-driven structured queries, and Cortex Agent for agentic orchestration across both) with general Snowflake object management and SQL execution.

When enabled, the server can create, drop, describe, list, and create-or-alter common Snowflake objects: databases, schemas, tables, views, warehouses, compute pools, roles, stages, users, and image repositories. A generic query manager runs LLM-generated SQL with permission filters configured by the operator, and semantic view tools let agents list, describe, and query Snowflake Semantic Views including their metrics and dimensions.

The server is configured through a YAML file that declares which Cortex services to expose and which capability groups (object_manager, query_manager, semantic_manager) to enable. It authenticates with any method supported by the Snowflake Python Connector, including password, key pair, OAuth, SSO, and MFA. The project is Apache-2.0 licensed.

Tools

Tool Description
Cortex Search Query unstructured data in Snowflake for Retrieval Augmented Generation (RAG) workflows. One tool is registered per configured search service.
Cortex Analyst Query structured data in Snowflake using a semantic model. One tool is registered per configured analyst service.
Cortex Agent Agentic orchestrator that routes between structured (Analyst) and unstructured (Search) data retrieval.
Object Management Create, drop, create-or-alter, describe, and list operations for databases, schemas, tables, views, warehouses, compute pools, roles, stages, users, and image repositories. Enabled via object_manager flag.
Query Manager (SQL execution) Generic SQL execution tool that runs LLM-generated statements. Enabled via query_manager flag. Statement types can be allow/deny-listed via configuration.
Semantic View Tools List Semantic Views, describe them, enumerate their metrics and dimensions, and run queries against them. Enabled via semantic_manager flag.
Setup Guide

Prerequisites

  • A Snowflake account with appropriate roles/permissions
  • Python with uvx available (from the uv toolchain)
  • An MCP-compatible client (Claude Desktop, Cursor, fast-agent, etc.)

1. Create a service configuration file

Copy the template from the repo to a local config directory and edit it to declare the Cortex services you want to expose and which capability groups (object_manager, query_manager, semantic_manager) to enable.

mkdir -p ${HOME}/.mcp/
# Then place your tools_config.yaml in ${HOME}/.mcp/

2. Configure Snowflake authentication

Set environment variables for your chosen auth method. For username/password:

export SNOWFLAKE_ACCOUNT=your_account_identifier
export SNOWFLAKE_USER=your_username
export SNOWFLAKE_PASSWORD=your_password_or_pat
export SNOWFLAKE_ROLE=your_role           # optional
export SNOWFLAKE_WAREHOUSE=your_warehouse # optional

Key pair, OAuth, SSO, and MFA are also supported (any method the Snowflake Python Connector supports).

3. Add to your MCP client

Claude Desktop / Cursor config:

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

The server is started by the MCP client; there is no managed/hosted endpoint provided by Snowflake Labs.

Use Cases
  • Let an AI agent answer natural-language business questions by routing through Cortex Analyst against a curated semantic model.
  • Build a RAG assistant over internal docs indexed in Snowflake using Cortex Search.
  • Allow analysts to ask cross-domain questions where the Cortex Agent decides whether to hit structured tables or unstructured search.
  • Automate Snowflake admin tasks (creating databases, schemas, warehouses, roles, stages) from a chat interface with permission guardrails.
  • Run ad hoc SQL exploration where the LLM drafts queries and the query manager executes them under a restricted role.
Example Prompts
  • "Use Cortex Analyst to show me monthly revenue by region for the last 12 months."
  • "Search our support knowledge base in Snowflake for known issues with the v3 API."
  • "Create a new schema called staging_marketing in the ANALYTICS database and a warehouse WH_MARKETING_XS."
  • "List all semantic views in the SALES database and describe the metrics available in SALES.PUBLIC.PIPELINE_VIEW."
  • "Run a SQL query to find the top 20 customers by ARR this quarter and return the result as a table."
Pros
  • Official Snowflake Labs project, Apache-2.0 licensed, with first-class support for Cortex Search, Analyst, and Agent.
  • Broad object management coverage (databases, schemas, tables, views, warehouses, compute pools, roles, stages, users, image repositories).
  • Fine-grained control via YAML config: enable/disable object manager, query manager, and semantic manager independently; restrict SQL statement types.
  • Supports all Snowflake Python Connector auth methods including key pair, OAuth, SSO, and MFA.
Limitations
  • Self-hosted only; there is no Snowflake-managed remote MCP endpoint, so you must run uvx locally or in your own infra.
  • Setup requires a YAML configuration file and Snowflake credentials, which is heavier than a simple drop-in token.
  • Exact tool names depend on the services you configure, which can make discovery less predictable for end users.
Alternatives