Skip to main content

Snowflake

Give agents tools to run SQL statements and read their results, and list databases, schemas, tables, warehouses, and roles in Snowflake through Mastra Connect. Each tool call goes through the Mastra platform, which adds the connection's credential. Your application never stores Snowflake credentials.

Connect
Direct link to Connect

Before you start, complete the Connect setup to install @mastra/connect and configure your platform project.

Connect an account
Direct link to Connect an account

Run this command from the directory that contains your .env file:

mastra connect add snowflake

The CLI guides you through Snowflake's authorization and waits until the connection is active.

Add tools to an agent
Direct link to Add tools to an agent

Pass tools() to the agent and select the snowflake provider:

src/mastra/agents/snowflake-agent.ts
import { Agent } from '@mastra/core/agent'
import { tools } from '@mastra/connect'

export const snowflakeAgent = new Agent({
id: 'snowflake-agent',
name: 'Snowflake agent',
instructions:
'You help people run SQL statements and read their results, and list databases, schemas, tables, warehouses, and roles in Snowflake.',
model: 'openai/gpt-6-luna',
tools: tools({ providers: ['snowflake'] }),
})

The agent gets 15 Snowflake tools, with keys such as snowflake_cancel_statement. See Snowflake tools for the full list, and the tools() parameters to restrict tools or require approval before a call runs.

On this page