What It Provides
An admin configures which of the following tool types are exposed when they create the MCP server object in Snowflake (up to 50 tools per server):Prerequisites
- A paid Snowflake account. Free and trial accounts don’t have the entitlements needed to create or connect to MCP server objects.
- A Snowflake user with enough privileges to create a warehouse, database, schema, role, and the MCP server object itself (typically
ACCOUNTADMIN, or a role explicitly granted those privileges).
Setting Up the MCP Server in Snowflake
If your organization already has an MCP server object configured in Snowflake, skip to Connecting to Airia. Otherwise, a Snowflake admin needs to create one first.1
Create a warehouse, database, and schema
2
Create a role and grant it access
USAGE on a Cortex Search Service or SELECT on the tables a SQL tool should query.3
Assign the role to the connecting user
4
Create the MCP server object
tools for any of the tool types above, then grant USAGE on the finished server to every role that should be able to use it.Connecting to Airia
Snowflake supports two authentication options. Both give an agent the same Snowflake access, so pick whichever fits how your organization wants to manage credentials.
See Tenant vs. Personal Level App Credentials if you’re not sure which one you need.
Option A: Programmatic Access Token
1
Generate a token
Run the following as, or on behalf of, the user that should connect:
2
Copy the token
Copy the token value from the result. Snowflake only shows it once.
3
Add it to Airia
Paste the token in as your API key credential when connecting Snowflake to a Gateway or Deployment.
Option B: OAuth Integration
Creating an OAuth integration requiresACCOUNTADMIN (or an equivalent role).
1
Create a security integration
2
Retrieve the client credentials
3
Add them to Airia
Enter the Client ID and Client Secret when registering the Snowflake OAuth app in Airia. After that, each person clicks Connect and signs in with their own Snowflake user.
Connection Details
Whichever option you use, adding Snowflake to a Gateway or Deployment asks for four fields:
If you don’t already know your account URL, run:
Limitations
DEFAULT_ROLEandDEFAULT_WAREHOUSEmust be set on the connecting user. This applies to both authentication options, but OAuth sessions fail outright without them.- No support for MCP resources, prompts, roots, notifications, or sampling.
- Responses aren’t streamed.
- A single server can expose at most 50 tools.
- SQL and custom tool responses are capped at 250 KB. Cortex Agent responses include every intermediate step and can be considerably larger.
Troubleshooting
The connection is rejected no matter what you enter
The connection is rejected no matter what you enter
Confirm the Snowflake account is on a paid plan. Free and trial accounts can’t create or connect to MCP server objects, and this produces the same rejection as a misconfigured connection.
OAuth succeeds but the connection still fails
OAuth succeeds but the connection still fails
If your Snowflake account has a network policy in place (check with
SHOW NETWORK POLICIES IN ACCOUNT), Airia’s egress IPs need to be added to the allowed list. Contact Airia support for the current IP range. This applies to both authentication options, but is easy to miss when OAuth sign-in itself appears to succeed.OAuth fails with an invalid_client error
OAuth fails with an invalid_client error
This almost always means the Client ID or Client Secret saved in Airia no longer matches your security integration, for example after it was recreated or the secret was rotated. Re-run
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('<integration_name>') in Snowflake and update the credentials in Airia.The connection works, but tools fail or return no data
The connection works, but tools fail or return no data
Snowflake enforces access control at both the server and tool level, so a successful connection doesn’t automatically grant access to everything a tool touches. Check that the connected role has been separately granted whatever each tool needs, such as
USAGE on a Cortex Search Service or SELECT on the underlying tables.Learn More
- Snowflake Managed MCP Server
- OAuth Custom Client Security Integration
- Programmatic Access Tokens
- Network Policies
Related Resources
Tenant vs. Personal Level App Credentials
Decide whether your Snowflake credential is shared or personal
Supported Credential Types
See how each authentication method works across servers
Server Management
Approve which MCP servers your organization can use
Gateway/Deployment Creation
Add Snowflake to the Gateway or Deployment you’re building
