Connect Snowflake to Windsurf
Give Windsurf governed access to Snowflake’s 8 tools through Runlayer, with identity, policy, scanning, and audit on every call.
Set up
Add Snowflake to Windsurf in four steps
Admins approve the server once. Everyone in Windsurf then gets it through the same governed connection.
- 1
Approve Snowflake in Runlayer
Add Snowflake from the catalog and choose who can use it and which of its tools are allowed.
- 2
Connect Windsurf to Runlayer
Users add the Runlayer Plugin to Windsurf by following Runlayer’s setup guide. Windsurf reaches Snowflake’s 8 tools through the Runlayer Plugin’s search and execute tools instead of listing each one.
Windsurf setup guide - 3
Sign in to Snowflake
Each user signs in to Snowflake with OAuth. Runlayer keeps the tokens out of the client’s configuration.
- 4
Use Snowflake from Windsurf
Snowflake’s approved tools appear in Windsurf. Every call is checked against policy and recorded.
Tools
8 Snowflake tools in Windsurf
Runlayer policy decides which of these Windsurf users can call.
Describe semantic view
Describe a semantic view.
Get semantic view ddl
Get the DDL for a semantic view.
List semantic views
List all semantic views in the account, database, or schema.
Query semantic view
Writes and runs a statement to query a semantic view using DIMENSIONS, METRICS, and/or FACTS.
Run Snowflake query
Run a SQL query in Snowflake.
Show semantic dimensions
Show all semantic dimensions in the account, database, or schema.
Show semantic metrics
Show all semantic metrics in the account, database, or schema.
Write semantic view query tool
Writes a query statement to query a semantic view using DIMENSIONS, METRICS, and/or FACTS.
Control
What Runlayer can see and stop in Windsurf
Some controls apply to every client at the gateway. Others depend on what Windsurf exposes to Runlayer.
Gateway policy (available)
Every Snowflake call from Windsurf passes through Runlayer, where your policies can allow, alert, mask, or block it.
Audit trail (available)
Each call is recorded with the user, Windsurf as the client, the tool, and the policy and scanner decisions.
Client hooks (available)
Capture supported prompts, reasoning, local and MCP tool calls, responses, and scanner decisions in real time.
Stop a call before it runs (available)
Runlayer can deny a tool call before Windsurf runs it.
Block output after it runs (not available)
Windsurf ignores Runlayer after a tool runs, so Runlayer cannot block its output. The gateway still applies policy to the call.
Redact output in place (not available)
Windsurf has no way to receive replacement output, so Runlayer cannot mask it. The gateway still applies policy to the call.
In Windsurf
- Enforcement needs Windsurf 1.12.31 or newer.
- When Runlayer denies a call, Windsurf shows the reason to the user; Runlayer cannot adjust the call’s inputs.
Frequently asked questions
Connect more
