Securely connecting Gemini Enterprise to Snowflake data A new developer guide details how to connect Google Cloud's Gemini Enterprise to Snowflake using the Model Context Protocol (MCP) and Google's Agent Development Kit (ADK), with Snowflake's Cortex Agent handling text-to-SQL translation and query execution inside Snowflake's governed boundary. The integration uses OAuth 2.0 user impersonation through a confidential Snowflake security integration, with refresh tokens valid for 7,776,000 seconds (90 days, Snowflake's maximum), and redirects through Google's handshake receiver at vertexaisearch.cloud.google.com/oauth-redirect. The approach is aimed at developers building multi-agent systems on Google Cloud and is positioned as an alternative to a direct Gemini Enterprise-to-Snowflake connection for standard enterprise use cases. Enterprise AI needs to go beyond simple chat interfaces. To provide real value, AI agents must access your data warehouses to generate actionable insights, all while maintaining strict security and data governance. This guide explores how to build a secure bridge between Google Cloud’s Gemini Enterprise and Snowflake. By using the Model Context Protocol MCP and the Google Agent Development Kit ADK , you can empower your agent to act as an assistant that understands natural language, generates precise SQL via Snowflake Cortex and executes queries with user-level permissions. Choosing the right integration pattern Direct Connection vs. custom orchestration The Google ADK architecture demonstrated in this post represents the advanced / custom orchestration pattern. It is designed for developers building complex, multi-agent systems on Google Cloud, such as workflows that combine Snowflake insights with external enterprise tools, custom reasoning loops, or cross-platform state management in Gemini Agent Engine. For standard enterprise basic use cases where you want to connect Gemini Enterprise directly to Snowflake use the joint solutions mentioned in this link https://www.snowflake.com/en/developers/guides/quickstart-iceberg-cortex-gemini/ . The architectural approach This architecture allows a business user to ask questions like, "What were our top 5 selling items in Texas last quarter?" Rather than exposing raw SQL execution to the client, the agent delegates both query generation and execution to a governed Snowflake Cortex Agent exposed through the Snowflake MCP server: 1. Governed translation : The ADK agent passes the user's natural language question to the Snowflake MCP server, which invokes the Cortex Agent CORTEX AGENT RUN backed by Cortex Analyst semantic view. 2. Direct execution within the governed boundary : The Cortex Agent translates the question into SQL and executes it directly inside Snowflake using the authenticated user's OAuth session and role privileges, returning the structured results to the ADK agent. This approach provides deterministic text-to-SQL translation mapped to your corporate semantic definitions, keeps query execution inside Snowflake's governed boundary, and reduces the risk of schema hallucinations or unvalidated SQL execution. System architecture flow The diagram below illustrates the trust boundaries and the numbered flow of execution between the Gemini Enterprise app and Snowflake ecosystems. Detailed execution sequence To highlight how the agent delegates natural language query translation and governed execution to the Snowflake Cortex Agent over MCP, see the sequence diagram below: Step 1: Setting up the Snowflake security integration A major risk in enterprise AI is granting the model broad access via a generic service account, which could allow users to bypass security restrictions. We solve this by using OAuth 2.0 to perform user impersonation. First, establish a confidential OAuth client in Snowflake to protect the client secret. The snippet below configures the security integration inside Snowflake: - code block -