What you can do
- Natural language queries - Ask questions like “What were our top 10 customers by revenue last quarter?” and get results
- Direct SQL queries - Execute read-only SQL queries against your Snowflake warehouse
- Semantic models - Register YAML-based semantic models or Snowflake semantic views to define your data structure
Prerequisites
Before connecting Snowflake to Grapevine, you need:- A Snowflake account with
ACCOUNTADMINrole (or equivalent permissions) - Cortex Analyst enabled in your Snowflake account
- A semantic model or semantic view configured in Snowflake
Setup
1. Create a role for Grapevine (recommended)
Create a dedicated read-only role for Grapevine queries. Run the following SQL in Snowflake:Replace placeholders (
<your_warehouse>, <your_database>, etc.) with your actual Snowflake object names.2. Create an OAuth security integration
Create an OAuth integration in Snowflake for Grapevine authentication:3. Get your OAuth credentials
Retrieve the client ID and secret:4. Connect to Grapevine
1
Open Snowflake settings
In Grapevine, go to Integrations and click on Snowflake.
2
Enter your credentials
Enter your Snowflake Account Identifier (e.g.,
myorg-account123 from your Snowflake URL).For the OAuth credentials, you have two options:- Quick setup - Paste the JSON output from
SYSTEM$SHOW_OAUTH_CLIENT_SECRETSto auto-fill the Client ID and Secret - Manual entry - Enter the OAuth Client ID and OAuth Client Secret individually
3
Authorize
Click Connect with OAuth and authorize Grapevine in the Snowflake login prompt.
5. Register a semantic model
After connecting, register at least one semantic model to enable natural language queries.- YAML semantic model
- Semantic view
If you have a YAML semantic model file stored in a Snowflake stage:
- Click Add Semantic Model
- Select Semantic Model (YAML file in stage)
- Enter a Name for the model
- Select a Stage Path, then edit the path to include your YAML file (e.g.,
@MY_STAGE/models/sales.yaml) - Add a Description (optional)
- Select a Warehouse for query execution
- Click Add Model
Adding a description helps the agent understand what data is available in each semantic model, improving the quality of natural language query responses.
Using the connector
Once configured, users can query Snowflake data through the Grapevine MCP server.Natural language queries
Ask questions in plain English. Cortex Analyst translates them to SQL and returns results:Direct SQL queries
You can also execute read-only SQL directly:Permissions
- Queries execute using the OAuth user’s Snowflake permissions
- Snowflake role-based access control (RBAC) is respected
- Users only see data they have access to in Snowflake
- All queries are read-only (SELECT only)
Sync behavior
Unlike other connectors, Snowflake does not index data. Queries are executed in real-time against your Snowflake warehouse.- No data stored - Query results are not persisted in Grapevine
- Live queries - Each query runs against current Snowflake data
- Token refresh - OAuth tokens are automatically refreshed
Limitations
- Natural language queries require a configured semantic model
- SQL queries are read-only (no INSERT, UPDATE, DELETE)
- Query results are limited to 1,000 rows by default
- Large result sets may be truncated
- Cortex Analyst availability varies by Snowflake region