To allow Users to seamlessly interact with Snowflake Cortex AI directly from Concierge, Metric Insights supports connecting via Model Context Protocol (MCP) Server. Establishing this connection gives Users access to Snowflake's Conversational Analytic and other AI-powered tools, so Users can ask natural language questions about data from Concierge without the need to switch platforms.
Integration Between Snowflake Cortex and Concierge
There are two options for integration with Snowflake Cortex. It can be connected to Metric Insights via the native Snowflake Managed MCP Server or Metric Insights MCP Server for Snowflake. There are some differences between them.
Snowflake Managed MCP Server
The benefit of using a Snowflake Managed MCP Server is that it does not require additional setup in Snowflake or deployment of the MCP server in a separate server space.
Here is the diagram of how the connection between Snowflake and Metric Insights work. In this example, Snowflake Cortex has been configured with two Agents, Financial Data and Sales Data. These Agents correlate to their respective Domains in Metric Insights. A User can ask a financial question and Concierge will know to route that question through the correct MCP Server to the specific Domain.
Metric Insights MCP Server for Snowflake
Custom Metric Insights MCP Server was created before the native Snowflake option was available. It is still operational, but it requires some additional set up steps and deployment to a separate server. Its benefit is that it can be configured more flexibly in case there are some special needs.
Here is a diagram illustrating how the connection between Snowflake and Metric Insights works. In this example, Snowflake Cortex is configured with two agents: Financial Data and Sales Data. These Agents correspond to their respective Domains in Metric Insights. When a User asks a financial question, Concierge automatically identifies the appropriate MCP Server and routes the request to the correct Domain for processing.
Connecting Concierge and Snowflake Intelligence
Prerequisites
To perform all the steps necessary for connecting Concierge and Snowflake, you need the following:
- In Snowflake CLI or Snowsight:
- Snowflake account with ACCOUNTADMIN privileges.
- Snow CLI installed and configured with a working profile.
- Access to Snowsight or Snowflake CLI for executing SQL commands.
- Snowflake accounts for all users who will run queries against Snowflake from Concierge must have a default role configured with the required set of permissions:
- USAGE: agent, database, schema, warehouse;
- Additionally, USAGE permission for MCP server and database, schema and all the tables connected to it.
- SELECT on the tables and semantic views (if applicable);
- READ on stages (if applicable);
- USAGE: agent, database, schema, warehouse;
- Metric Insights Admin account.
Steps to Connect Concierge and Snowflake
Before starting, decide on the Authentication method. Choose how Concierge will perform authentication when connecting to Snowflake:
- User OAuth: This method is the same as the "Service Account Token" but takes into account the permissions of the User, who makes a query to Concierge. This Auth Type should be used if different users of the Snowflake have different levels of access to data and that difference has to be implemented in their Concierge queries.
- Service Account Token: The Token is requested form Snowflake and inserted into the configuration code automatically. The User only provides credentials to the service account in Snowflake. This Auth Type should be used if OAuth authentication method is used in Snowflake.
- Defined in configuration: The authentication Token has to be created in Snowflake account and manually inserted into the Concierge configuration code. This Auth Type should be used if the Snowflake has the security model which doesn't include OAuth or has some specific features that require flexible solution.
Afterward, go through this steps:
- Create and configure Cortex Agents.
- Set the Snowflake Managed MCP Server.
- Collect Connection Information in Snowflake account: Gather credentials for authentication. Create a user Role if necessary.
- Configure External Resource in Metric Insights account: Set up Concierge to connect with Snowflake.
- Create a Domain: Create a new Domain or use an existing one and associate it with External Resource. External Resources are not directly shown in the All Sources menu of the Concierge panel. Instead, they are associated with a Domain and the Domains are listed in the All Sources menu.
- NOTE: You will need the name of tool to use as Domain ID when associating External Resource with the Domain.
Prerequisites
To perform all the steps necessary for connecting Concierge and Snowflake, you need the following:
- In Snowflake CLI or Snowsight:
- Snowflake account with ACCOUNTADMIN privileges.
- Snow CLI installed and configured with a working profile.
- Access to Snowsight or Snowflake CLI for executing SQL commands.
- Snowflake accounts for all users who will run queries against Snowflake from Concierge must have a default role configured with the required set of permissions:
- USAGE: agent, database, schema, warehouse;
- SELECT on the tables and semantic views (if applicable);
- READ on stages (if applicable);
- The server space (on the same machine where the application is running or remotely on a separate server or cloud platform) to run the Server.
- It is a lightweight API proxy that doesn't require significant resources and runs well with minimal specifications: 256MB RAM and 1 vCPU.
- Metric Insights Admin account.
Steps to Connect Concierge and Snowflake
Before starting, decide on the Authentication method. Choose how Concierge will perform authentication when connecting to Snowflake:
- User OAuth: This method is the same as the "Service Account Token" but takes into account the permissions of the User, who makes a query to Concierge. This Auth Type should be used if different users of the Snowflake have different levels of access to data and that difference has to be implemented in their Concierge queries.
- Service Account Token: The Token is requested form Snowflake and inserted into the configuration code automatically. The User only provides credentials to the service account in Snowflake. This Auth Type should be used if OAuth authentication method is used in Snowflake.
- Defined in configuration: The authentication Token has to be created in Snowflake account and manually inserted into the Concierge configuration code. This Auth Type should be used if the Snowflake has the security model which doesn't include OAuth or has some specific features that require flexible solution.
Afterward, go through this steps:
- Configure Snowflake via Snowflake CLI: Set up the required roles, users, and permissions in Snowflake to get the MCP server working with your existing Snow CLI profile.
- Collect Connection Information in Snowflake account: Gather data for MCP Server setup and credentials for authentication. Create a user Role if necessary.
- Set up the Custom MCP Server: Run the MCP Server.
- Configure External Resource in Metric Insights account: Set up Concierge to connect with Snowflake.
- Create a Domain: Create a new Domain or use an existing one and associate it with External Resource. External Resources are not directly shown in the All Sources menu of the Concierge panel. Instead, they are associated with a Domain and the Domains are listed in the All Sources menu.