The Snowflake app exposes the Snowflake SQL API and selected Snowflake REST APIs to Agent Factory agents through MCP and to Builder workflows through DSUL instructions. It runs in the installing workspace’s tenant context and covers SQL execution, asynchronous results, databases, schemas and virtual warehouses. Authentication supports platform-managed or tenant-owned Snowflake OAuth with PKCE, key-pair JWT, programmatic access tokens and pre-minted access tokens.
SQL and results
Database catalog
Virtual warehouses
Who is this for?
This connector is used by three different roles. Jump to the section that matches yours — each one is self-contained.Agent builder
Platform admin
Workspace builder
Prerequisites (Snowflake side)
- A Snowflake account and its public HTTPS account URL, for example
https://myorg-myaccount.snowflakecomputing.com. - A Snowflake user or OAuth integration whose role has the privileges required by the operations you intend to expose. Use a dedicated least-privilege role rather than an account-admin role.
- One supported credential:
- A Snowflake OAuth custom-client integration with refresh tokens and PKCE.
- A key pair assigned to the Snowflake user.
- A programmatic access token.
- A valid pre-minted OAuth or External OAuth access token.
- A virtual warehouse for SQL that needs compute. Database and schema metadata operations may not require an active warehouse.
Platform admin (Governance) — one-time platform setup
Platform admin (Governance) — one-time platform setup
1. Configure the connector
Create a dedicated Snowflake role
Create a Snowflake OAuth security integration
<api-url> is https://api.studio.prisme.ai/v2.Retrieve the OAuth client credentials
oauth_client_id and two rotatable client secrets.Enter the credentials through the configuration app
snowflake workspace and launch its Configuration app at <studio>/apps/snowflake (for example https://studio.prisme.ai/apps/snowflake). Enter the Snowflake account URL, client ID, client secret, default role and optional warehouse. The app writes the central secret; do not edit Studio Secrets manually.Tell workspaces to use the central client
oauthCentral in its connector configuration. The central client is tied to the Snowflake account configured above; another account must use tenant-owned OAuth or a non-OAuth credential.2. Declare the capability in AI Governance
Create the Snowflake capability
Point it at the MCP endpoint
agent_id lets the connector identify and authorize the calling agent. user_id keeps delegated OAuth sessions user-specific.Make it available to agent builders
Smoke-test
SELECT CURRENT_USER(), CURRENT_ROLE().- Agent builder (Agent Factory)
- Workspace builder (DSUL)
Agent builder
Goal: let an Agent Factory agent query and manage Snowflake through five MCP tools.Option A — Enable the shared capability from the catalog
Open your agent
Enable Snowflake
context_id,agent_id,user_id scope are already configured.Connect to Snowflake
Option B — Run it from your own workspace (recommended)
Install and configure Snowflake
Allowlist the agent
Add the MCP capability
Connect the user when using OAuth
Brief the agent in its system prompt
ALLOWED_ROLES_LIST on the security integration and configure the connector to request a dedicated read-only role. For a programmatic access token, use ROLE_RESTRICTION; for key-pair or access-token modes, restrict the backing user’s grants. The connector remains usable for reads while Snowflake rejects writes with 403 or a SQL privilege error. This provider-side role boundary cannot be widened from the Prisme.ai workspace.Available Tools
Each tool takes anaction argument that selects the concrete operation.Output Formats
Snowflake tool calls return one bounded JSON payload in MCP text content. The connector:- limits SQL execution to one statement;
- asks Snowflake for at most 100 rows and caps the final MCP response at 80 KB;
- omits binary cell values;
- adds
_mcpLimitsand, when truncation occurs,_truncationmetadata with a refinement suggestion.
outputFormat (verbose, structured or both) for compatibility. The current Snowflake implementation returns the same bounded JSON text envelope for all three values.Tool Details
sql
results
databases
schemas
warehouses
Error Handling
Common Issues
“This agent is not authorized to use this connector” — Open the configuration app, add the agent under Authorized agents (or enable Allow all agents) and save. “The calling agent could not be identified” — The capability scope is missingagent_id. Set it to context_id,agent_id,user_id, then authorize the agent.
“Snowflake OAuth is not connected for this user” — Open the configuration app and click Connect, or follow the connection URL surfaced by Agent Factory.
“Snowflake token refresh failed … must reconnect” — The refresh token expired or was revoked. Reconnect the user. Snowflake OAuth refresh-token validity is controlled by the security integration.
“Snowflake platform OAuth is not configured for an account” — Ask the platform maintainer to configure the central client, or select tenant OAuth, key-pair, programmatic-token or access-token mode.
SQL output is truncated — MCP responses are intentionally limited to 100 rows and 80 KB. Narrow the query with selected columns, WHERE, aggregation and deterministic keyset pagination. A provider partition cannot recover rows omitted locally by the connector.