Snowflake Data Explorer MCP server

The Snowflake Data Explorer MCP server enables LLMs to discover, understand, and retrieve data from Snowflake through natural conversation. It provides tools to navigate databases, schemas, tables, and views, inspect schema metadata, sample data, and execute SQL queries without requiring direct interaction with the Snowflake interface.

Uses

Use the Snowflake Data Explorer MCP server to perform the following actions:

  • List Snowflake databases accessible to the configured user
  • Explore schemas within specific databases
  • Discover tables and views within schemas
  • Search for tables and views using keywords across accessible schemas
  • Retrieve column definitions and metadata for tables or views
  • Sample data from tables to validate assumptions about content
  • Execute read-only SQL queries against Snowflake
  • Check execution status of submitted queries
  • Retrieve results of completed queries
  • Access curated query templates for common business questions
  • Execute predefined SQL templates from curated queries

Example prompts

Use the following example prompts to invoke Snowflake Data Explorer MCP server tools:

  • What databases are available in Snowflake?
  • List the schemas in the SALES_DATA database.
  • Show me tables in the CUSTOMER_ANALYTICS schema.
  • Find tables related to subscriptions.
  • What columns are in the CUSTOMER_EVENTS table?
  • Show me a sample of data from the activity logs table.
  • Query the top 100 customers by revenue from last quarter.
  • Check the status of my running query.
  • What curated queries are available?
  • Run the monthly revenue summary query.

Snowflake Data Explorer MCP server tools

The Snowflake Data Explorer MCP server provides the following tools:

ToolDescription
list_databasesLists Snowflake databases accessible to the configured user.
list_schemasLists schemas within a specified Snowflake database.
list_tablesLists tables and views within a specified schema.
search_tablesSearches for tables and views using keywords across accessible schemas.
get_table_schemaRetrieves column definitions and metadata for a table or view.
get_table_sampleRetrieves a limited set of rows from a table or view.
execute_queryExecutes a read-only SQL query against Snowflake.
get_query_statusChecks the execution status of a submitted query.
get_query_resultsRetrieves results of a completed query.
list_curated_queriesLists available curated query templates.
get_curated_queryRetrieves a specific curated query template and executes it.

Install the Snowflake Data Explorer MCP server

Complete the following steps to install a prebuilt MCP server to your project:

1

Sign in to your Workato account.

2

Go to AI Hub > MCP servers.

3

Click + Create MCP server.

4

Go to the Start with pre-built MCP Servers using your connected apps section and select the prebuilt MCP server you plan to use.

5

Click Use this server.

6

Provide a name for your MCP server in the Server name field.

7

Use the Location drop-down menu to select the project for the MCP server.

8

Go to the Connections section and connect to your app account.

9

Select the connection type you plan to use for the MCP server template.

  • User's connection: MCP server tools perform actions based on the identity and permissions of the user who connects to the application. Users authenticate with their own credentials to execute the skill.
  • Your connection: This option uses the connection established by the recipe builder and follows the same principles as normal app connections.

Select your connection typeSelect your connection type

VERIFIED USER ACCESS AUTHENTICATION REQUIREMENTS

Only app connections that use OAuth 2.0 authorization code grant are available for user's connection. Refer to Verified user access for more information.

10

Complete the app-specific connection setup steps in the following section.

Snowflake connection setup

View Snowflake connection setup steps

Workato supports the following authentication methods for Snowflake connections:

Configure OAuth 2.0 authentication

View Configure OAuth 2.0 authentication steps

You must create a custom integration and generate a client ID and secret in Snowflake to use OAuth 2.0 authentication.

Snowflake setup for OAuth 2.0 authentication

Complete the following steps to create a custom integration and retrieve client credentials in Snowflake:

1

Run the following SQL command in Snowflake to register a custom OAuth integration:

sql
CREATE SECURITY INTEGRATION WORKATO_OAUTH
  TYPE = OAUTH
  ENABLED = TRUE
  OAUTH_CLIENT = CUSTOM
  OAUTH_CLIENT_TYPE = CONFIDENTIAL
  OAUTH_REDIRECT_URI = 'https://www.workato.com/oauth/callback'
  OAUTH_ISSUE_REFRESH_TOKENS = TRUE;

REQUIRED PRIVILEGE

Use the ACCOUNTADMIN role or a role with the global CREATE INTEGRATION privilege to run this command.

2

Run the following command to retrieve your client credentials:

sql
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('WORKATO_OAUTH');

Refer to the Snowflake Configure Snowflake OAuth for custom clients guide for more information.

3

Copy and save the Client ID and Client secret for use in Workato.

Connect to Snowflake with OAuth 2.0 authentication

Complete the following steps to set up an OAuth 2.0 authentication connection to Snowflake Data Explorer in Workato:

1

Click Create > Connection or press C twice.

2

Search for Snowflake and select it as your app.

3

Enter a name for your connection in the Connection name field.

Snowflake OAuth 2.0 connectionSnowflake OAuth 2.0 connection

4

Use the Location drop-down menu to select the project where you plan to store the connection.

5

Enter the Snowflake instance Account identifier in one of the supported formats:

  • Account name: https://{org_name}-{account_name}
  • Connection name: https://{org_name}-{connection_name}
  • Account locator: https://{account_locator}.{region}.{cloud}

Refer to the Snowflake Connecting to your accounts guide for more information.

ACCOUNT LOCATOR FORMAT

Certain locations require you to include the {region} and {cloud} in your account locator URL. For example:

  • AWS US West (Oregon): your-account-locator
  • AWS US East (Ohio): your-account-locator.us-east-2
  • Azure West Europe: your-account-locator.west-europe.azure

Refer to the Snowflake Using an account locator as an identifier guide for more information.

6

Enter the Warehouse name to define the compute resources for this connection. Refer to Warehouse considerations for more information.

7

Enter the Database name for the target Snowflake database.

8

Use the Authentication type drop-down menu to select OAuth 2.0.

9

Enter the Client ID and Client secret. Refer to Snowflake setup for OAuth 2.0 authentication for information on how to retrieve these credentials.

10

Optional. Specify a Role for authentication. This role must be an existing role assigned to the user. If left blank, Snowflake uses the default role assigned to the user.

11

Optional. Enter the Schema. If left blank, the default schema is public.

12

Optional. Set the Use improved datetime handling (Recommended) to Yes to ensure correct timezone handling for timestamps.

13

Optional. Define the Database timezone to apply to timestamps without an assigned timezone. Defaults to your workspace's timezone if left blank.

14

Click Connect.

15

Click Allow to provision access to Workato.

Configure key-pair authentication

View Configure key-pair authentication steps

Use key-pair authentication to connect to Snowflake without a password. This method uses a client-generated RSA key pair and provides strong security. You must use a command-line tool to generate the key pair.

Snowflake setup for key-pair authentication

Complete the following steps to create a key pair in Snowflake:

1

Run one of the following commands in a terminal to generate a private key.

PRIVATE KEY PASSPHRASE

If you generate an encrypted private key, you must enter the Private key passphrase when you configure the connection in Workato.

2

Copy and save the PRIVATE KEY for use in Workato. Copy everything from -----BEGIN PRIVATE KEY----- to -----END PRIVATE KEY-----.

3

Run the following command to create a public key from the private key. OpenSSL prompts you for the passphrase if you generated an encrypted private key.

bash
openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
4

Copy and save the PUBLIC KEY for use in the next step.

Refer to the Snowflake Key-pair authentication and key-pair rotation guide for more information.

5

Run the following SQL command in a Snowflake worksheet to assign the public key to your Snowflake user:

sql
ALTER USER <USERNAME> SET RSA_PUBLIC_KEY='<PUBLIC_KEY>';

Replace <USERNAME> with your Snowflake user and <PUBLIC_KEY> with the key content. Exclude the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- lines.

ROLE REQUIREMENT

You must have the SYSADMIN or SECURITYADMIN role to run this command.

Connect to Snowflake with key-pair authentication

Complete the following steps to set up a key-pair authentication connection to Snowflake Data Explorer in Workato:

1

Click Create > Connection or press C twice.

2

Search for Snowflake and select it as your app.

3

Enter a name for your connection in the Connection name field.

Snowflake Key-pair connectionSnowflake key-pair connection

4

Use the Location drop-down menu to select the project where you plan to store the connection.

5

Enter the Snowflake instance Account identifier in one of the supported formats:

  • Account name: https://{org_name}-{account_name}
  • Connection name: https://{org_name}-{connection_name}
  • Account locator: https://{account_locator}.{region}.{cloud}

Refer to the Snowflake Connecting to your accounts guide for more information.

ACCOUNT LOCATOR FORMAT

Certain locations require you to include the {region} and {cloud} in your account locator URL. For example:

  • AWS US West (Oregon): your-account-locator
  • AWS US East (Ohio): your-account-locator.us-east-2
  • Azure West Europe: your-account-locator.west-europe.azure

Refer to the Snowflake Using an account locator as an identifier guide for more information.

6

Enter the Warehouse name to define the compute resources for this connection. Refer to Warehouse considerations for more information.

7

Enter the Database name for the target Snowflake database.

8

Use the Authentication type drop-down menu to select Key-pair authentication.

9

Enter the User name and Private key. Refer to Snowflake setup for key-pair authentication for information on how to retrieve these credentials.

10

Optional. Enter the Private key passphrase if you generated an encrypted private key.

11

Optional. Specify a Role for authentication. This role must be an existing role assigned to the user. If left blank, Snowflake uses the default role assigned to the user.

12

Optional. Enter the Schema. If left blank, the default schema is public.

13

Optional. Set the Use improved datetime handling (Recommended) to Yes to ensure correct timezone handling for timestamps.

14

Optional. Define the Database timezone to apply to timestamps without an assigned timezone. Defaults to your workspace's timezone if left blank.

15

Click Connect.

How to use Snowflake Data Explorer MCP server tools

Refer to the following sections for detailed information on available tools:

list_databases tool

The list_databases tool lists Snowflake databases accessible to the configured user. Your LLM uses this tool to discover available databases or begin navigating the Snowflake structure.

Try asking:

  • What databases are available in Snowflake?
  • Show me all accessible databases.
  • List the databases I can query.
  • What data groupings exist in Snowflake?

list_schemas tool

The list_schemas tool lists schemas within a Snowflake database you specify. Your LLM uses this tool to explore schemas within a known database.

Try asking:

  • List the schemas in the SALES_DATA database.
  • What schemas exist in the ANALYTICS database?
  • Show me available schemas in CUSTOMER_DATA.
  • What namespaces are in this database?

list_tables tool

The list_tables tool lists tables and views within a schema you specify. Your LLM uses this tool to discover tables or views within a known schema.

Try asking:

  • Show me tables in the CUSTOMER_ANALYTICS schema.
  • List all tables and views in the SALES schema.
  • What tables can I query in MARKETING.CAMPAIGNS?
  • Display available tables in this schema.

search_tables tool

The search_tables tool searches for tables and views using keywords across accessible schemas. Your LLM uses this tool to locate tables by topic or keyword rather than exact name.

Try asking:

  • Find tables related to subscriptions.
  • Search for tables containing customer activity data.
  • Look for tables about support tickets.
  • Find any tables with 'revenue' in the name.

get_table_schema tool

The get_table_schema tool retrieves column definitions and metadata for a table or view. Your LLM uses this tool to understand table structure before constructing a query.

Try asking:

  • What columns are in the CUSTOMER_EVENTS table?
  • Show me the schema for SALES.TRANSACTIONS.
  • What's the structure of the activity logs table?
  • Get column definitions for the subscription data table.

get_table_sample tool

The get_table_sample tool retrieves a limited set of rows from a table or view. Your LLM uses this tool to validate assumptions about data content.

Try asking:

  • Show me a sample of data from the activity logs table.
  • Get some example rows from the customer events table.
  • What does the data in the transactions table look like?
  • Display a few sample records from subscriptions.

execute_query tool

The execute_query tool executes a read-only SQL query against Snowflake with enforced safety and access boundaries. Your LLM uses this tool to retrieve data using SQL.

Try asking:

  • Query the top 100 customers by revenue from last quarter.
  • Get all active subscriptions created in the last 30 days.
  • Show me support tickets opened this week by priority.
  • Find the total sales by region for January 2026.

get_query_status tool

The get_query_status tool checks the execution status of a submitted query. Your LLM uses this tool after receiving a query ID from execute_query.

Try asking:

  • Check the status of my running query.
  • Is query abc123 complete?
  • What's the execution status of my data retrieval query?
  • Has my query finished running?

get_query_results tool

The get_query_results tool retrieves results of a completed query. Your LLM uses this tool after query completion is confirmed by get_query_status.

Try asking:

  • Get the results of my completed query.
  • Show me the data from query abc123.
  • Retrieve the results of the customer analysis query.
  • What did my query return?

list_curated_queries tool

The list_curated_queries tool lists available curated query templates. Your LLM uses this tool when you ask a common business question that may have a predefined query.

Try asking:

  • What curated queries are available?
  • Show me the predefined query templates.
  • List common business queries I can run.
  • What pre-built queries exist?

get_curated_query tool

The get_curated_query tool retrieves a curated query template that you specify and executes it. Your LLM uses this tool after identifying a relevant curated query from the list, using the SQL template exactly as provided.

Try asking:

  • Run the monthly revenue summary query.
  • Execute the customer churn analysis template.
  • Get results from the sales pipeline curated query.
  • Run the predefined query for active subscriptions.

Getting started

View and manage your MCP server tools in the Overview page Tools section. Tool management provides the following capabilities:

TOOLS MUST BE STARTED

Your LLM can only access active tools in your MCP server connector.

Last updated: