Connecting to Snowflake MCP Server: Overview (v7.2.0)
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 AI-powered tools, so Users can ask natural language questions about data from Concierge without the need to switch platforms.
Architectural Diagrams for Snowflake MCP Server Integration with Concierge
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 MCP Server to the specific 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.
- NOTE: You will need the name of each Agent to use as Domain ID when associating External Resource with the Domain.
