# Snowflake — MCP Server

> Query the warehouse through Cortex Analyst, Search and Agents.

**Source:** https://mcpplaygroundonline.com/mcp-servers/snowflake  
**Transport:** stdio  
**Requires auth:** Yes

---

## What it does

The server is configured by a service configuration file rather than by flags, and that file is where the interesting decisions live. You declare which Cortex Search services and which Cortex Analyst semantic models the agent may use, and you declare statement-level permissions for raw SQL — select, insert, update, delete, create, drop each allowed or refused independently. That design means a team can expose a governed, semantically modelled view of the warehouse instead of a bare connection. Cortex Analyst answers business questions against a semantic model, which sidesteps the usual failure mode of a model guessing at column meanings. Cortex Search covers RAG over unstructured data in Snowflake. Object management tools handle databases, schemas, warehouses, tables and roles. Everything runs through managed REST services, so there is no separate inference infrastructure to deploy.

## Tools exposed

- Cortex Analyst — natural-language questions answered against a semantic model
- Cortex Search — retrieval over unstructured data in Snowflake, for RAG workflows
- Cortex Agents — orchestrate structured and unstructured retrieval in one request
- Object management — create, list and describe databases, schemas, tables and warehouses
- SQL execution — run statements, gated per statement type by the service config
- Semantic view consumption — query and describe semantic views directly

## Example queries you can run

- "What was revenue by region last quarter, and how does that compare to the quarter before?"
- "Search our support transcripts for complaints about the new checkout flow."
- "Describe the schema of the ORDERS table and which warehouses query it most."
- "Which customers churned after a support ticket was escalated?"

## Details

- **Recommended model:** anthropic/claude-sonnet-4.5 — Warehouse questions are multi-step: pick the semantic model, ask, then sanity-check the numbers. Sonnet 4.5 does the last step, which cheaper models skip.
- **Transport:** stdio
- **Authentication:** Required — Snowflake credentials — a programmatic access token or key-pair auth. The agent inherits the role you connect with, so create a dedicated one.
- **Official source:** [Snowflake-Labs/mcp — official repository](https://github.com/Snowflake-Labs/mcp)

## Connecting to Snowflake

### Environment variables

- `SNOWFLAKE_ACCOUNT` (required) — Your Snowflake account identifier.
- `SNOWFLAKE_USER` (required) — Username for a dedicated service user, not a person’s account.
- `SNOWFLAKE_PAT` (required) — A programmatic access token. Key-pair and other supported auth methods work too.
- `SNOWFLAKE_ROLE` — Role to assume. This, not the config file, is the real security boundary.
- `SNOWFLAKE_WAREHOUSE` — Warehouse used to execute queries. Size it for agent traffic, with auto-suspend on.

### Client configuration

**uvx with a service configuration file**

The service config declares which Cortex services are exposed and which SQL statement types are permitted.

```
{
  "mcpServers": {
    "snowflake": {
      "command": "uvx",
      "args": [
        "--from", "snowflake-labs-mcp",
        "mcp-server-snowflake",
        "--service-config-file", "/path/to/tools_config.yaml"
      ],
      "env": {
        "SNOWFLAKE_ACCOUNT": "YOUR_ACCOUNT",
        "SNOWFLAKE_USER": "AGENT_SERVICE_USER",
        "SNOWFLAKE_PAT": "YOUR_TOKEN"
      }
    }
  }
}
```

## Frequently asked questions

### What is the Snowflake MCP server?

It is Snowflake’s official MCP server, maintained at Snowflake-Labs/mcp. It exposes Cortex Search, Cortex Analyst, Cortex Agents, object management and governed SQL execution as MCP tools, all through managed Snowflake REST services.

### What is the difference between Cortex Analyst and raw SQL?

Cortex Analyst answers questions against a semantic model you have defined — it knows what "revenue" means in your business. Raw SQL leaves the model to infer meaning from column names, which is where most wrong-but-plausible answers come from. Prefer Analyst where a semantic model exists.

### How do I stop an agent writing to the warehouse?

Two layers. The service configuration file permits or refuses each SQL statement type independently, so you can allow select and refuse everything else. Underneath that, connect with a Snowflake role that has no write grants — that is the boundary that holds regardless of configuration.

### Do I need to deploy anything in Snowflake?

No separate remote service. All the tools are managed services reached over REST, so the MCP server itself is the only process, and it runs wherever your client runs.

### How do I control the cost of agent queries?

Point the agent at its own warehouse with a small size, aggressive auto-suspend and a resource monitor with a credit quota. An agent exploring a schema will issue more queries than a person, and the warehouse is where that shows up on the bill.

---

_Test this server across 40+ models on MCP Playground: https://mcpplaygroundonline.com/mcp-servers/snowflake — free, no install._
