{"allowedRenditionsWidth":["320","480","640","768","960","1200","1440","1920"],"templateName":"base-page-template54","cssClassNames":"page basicpage summit-page","robotsTags":[],"canonicalLink":"https://www.snowflake.com/en/artificial-intelligence/infrastructure/mcp/","description":"The Model Context Protocol (MCP) standardizes how AI agents discover and invoke external tools. Learn how MCP works, its architecture, security and governance.","language":"en","title":"What Is MCP? Model Context Protocol Explained | Snowflake","analyticsPageType":"homepage","analyticsCategory":"general","analyticsSubCategory":"","excludeFromAnalytics":false,":hierarchyType":"page",":path":"/content/snowflake-site/global/en/artificial-intelligence/infrastructure/mcp","analyticsDebugMode":false,"analyticsData":{"excludeFromAnalytics":false,"subCategory":"","pageType":"homepage","templateName":"base-page-template54","siteName":"snowflake","pageUrl":"/content/snowflake-site/global/en/artificial-intelligence/infrastructure/mcp","language":"en","category":"general","pageName":"How MCP Connects AI Agents — and What Production Adoption Requires","contentTags":["snowflake-site:taxonomy/content-type/fundamentals","snowflake-site:taxonomy/product/ai"]},"isPasswordProtected":false,"analyticsContentTags":["snowflake-site:taxonomy/content-type/fundamentals","snowflake-site:taxonomy/product/ai"],"analyticsEnabled":true,"coveoConfig":{"searchHub":"snowflake.com","organizationId":"snowflakecomputingproduction8neljofn","apiKey":"xx335921a6-2a0a-40f2-a167-e390b4766c3d","pipeline":"snowflake.com"},":mappedPath":"/en/artificial-intelligence/infrastructure/mcp/",":type":"snowflake-site/components/structure/page",":items":{"root":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"markup_editor_928258845":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-banner":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-header":"aem-GridColumn aem-GridColumn--default--12","responsivegrid":"aem-GridColumn aem-GridColumn--default--12","markup_editor_597730182":"aem-GridColumn aem-GridColumn--default--12","experiencefragment-footer":"aem-GridColumn aem-GridColumn--default--12","experiencefragment":"aem-GridColumn aem-GridColumn--default--12","modal_container":"aem-GridColumn aem-GridColumn--default--12","markup_editor":"aem-GridColumn aem-GridColumn--default--12"},"columnCount":12,":items":{"experiencefragment-banner":{"id":"experiencefragment-90ca671e15","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/pushdown-banner/master/jcr:content","configured":true,"xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/pushdown-banner/master.xfmodel.json",":type":"snowflake-site/components/experiencefragment"},"experiencefragment-header":{"id":"experiencefragment-5515b50625","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master/jcr:content","configured":true,"xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/mega-nav-header/master.xfmodel.json","languageNavPath":"/content/snowflake-site/global/en/artificial-intelligence/infrastructure/mcp.languagenav.json",":type":"snowflake-site/components/experiencefragment"},"responsivegrid":{"gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"flexible_column_cont_939100716":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_1158003461":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_663228916":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_912630531":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_1398138236":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_1786318617":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_1467213961":"aem-GridColumn aem-GridColumn--default--12","flexible_column_cont_1377146023":"aem-GridColumn aem-GridColumn--default--12"},"columnCount":12,":items":{"flexible_column_cont":{"id":"flexible-column-container-e11bc4227c","propertiesId":"hub-hero-breadcrumbs","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"small","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"page-section","backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-08c0561126",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"breadcrumb":{"id":"breadcrumb-03cbd40eac","items":[{"id":"breadcrumb-03cbd40eac-item-4b75ed29e6","link":{"valid":true,"url":"/en/artificial-intelligence/"},"active":false,"current":false,"title":"Artificial Intelligence",":type":"snowflake-site/components/structure/page","appliedCssClassNames":"summit-page"},{"id":"breadcrumb-03cbd40eac-item-8301d5c66b","link":{"valid":true,"url":"/en/artificial-intelligence/infrastructure/"},"active":false,"current":false,"title":"AI Infrastructure",":type":"snowflake-site/components/structure/fundamentals-page","appliedCssClassNames":"summit-page"},{"id":"breadcrumb-03cbd40eac-item-02ad7b9742","link":{"valid":true,"url":"/en/artificial-intelligence/infrastructure/mcp/"},"active":true,"current":true,"title":"Model Context Protocol",":type":"snowflake-site/components/structure/page","appliedCssClassNames":"summit-page"}],":type":"snowflake-site/components/breadcrumb"}},":itemsOrder":["breadcrumb"]},"isActiveTOC":false,"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_939100716":{"id":"flexible-column-container-15e4298193","propertiesId":"hub-hero","type":"2-column-even","alignColumns":"center","containerMaxWidth":"extra-large","topPadding":"extra-small","bottomPadding":"extra-small","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"page-section","backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-93613b4c7f",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small",":items":{"title_v2":{"id":"title-v2-8d35afe11a","additionalClasses":"hub-hero__headline","type":"heading1","lines":["How MCP Connects AI Agents — and What Production Adoption Requires"],":type":"snowflake-site/components/title-v2","appliedCssClassNames":"left-alignment"},"text":{"id":"text-ba92161f81","additionalClasses":"hub-hero__subheadline","text":"\u003Cp\u003EMCP standardizes how AI applications discover and invoke external capabilities. This guide explains the protocol’s architecture, capabilities and limits, along with the security and operational controls behind secure enterprise adoption.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"},"container":{"additionalClasses":"hub-hero__authors","gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"content_chip_copy":"aem-GridColumn aem-GridColumn--default--12","content_chip":"aem-GridColumn aem-GridColumn--default--12"},"layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-9344299591",":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"content_chip":{"id":"content-chip-d108d64acf","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/blog/authors/Laurie-Macpherson/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Read bio"},"image":{"id":"image","isLcpImage":true,"alt":"Laurie MacPherson","lazyEnabled":true,"src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--a7e9fdff-6f08-4edc-9cd1-e213bb234aaa/laurie-macpherson.jpg?quality=85&preferwebp=true","height":"800","width":"800",":type":"snowflake-site/components/image"},"headline":{"id":"title","type":"heading5","lines":["Laurie MacPherson","Technical Writer, Snowflake"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip"},"content_chip_copy":{"id":"content-chip-5c17102330","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/blog/authors/david-gaule/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Read bio"},"image":{"id":"image","isLcpImage":false,"alt":"David Gaule","lazyEnabled":true,"src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--fd9454ea-3b59-4d19-95be-534774cbd226/david.jpg?quality=85&preferwebp=true","height":"512","width":"512",":type":"snowflake-site/components/image"},"headline":{"id":"title","type":"heading5","lines":["David Gaule","Technical Editor, Snowflake"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip"}},":itemsOrder":["content_chip","content_chip_copy"]}},":itemsOrder":["title_v2","text","container"]},"flexible_column_content_container_2":{"additionalClasses":"hub-hero__video-column","layout":"SIMPLE","id":"container-fb91f40849",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"youtube":{"id":"embed-da34a3f3a4","youtubeVideoId":"EV_8flXgrog","layout":"responsive","youtubeAspectRatio":"56.25","youtubeAutoPlay":false,"youtubeLoop":false,"youtubeMute":false,"youtubePlaysInline":false,"youtubeRel":false,"embeddableResourceType":"core/wcm/components/embed/v1/embed/embeddable/youtube","type":"EMBEDDABLE",":type":"snowflake-site/components/youtube"}},":itemsOrder":["youtube"]},"isActiveTOC":false,"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_1398138236":{"id":"flexible-column-container-2bf1073aca","propertiesId":"hub-hero-related-topics","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"extra-small","bottomPadding":"medium","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"page-section","backgroundImageOption":"none","flexible_column_content_container_1":{"additionalClasses":"related-topics-outer-container border-top","layout":"SIMPLE","id":"container-b625bc6263",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"text_894059747":{"id":"text-4d5ff7ea61","additionalClasses":"seo-hub-hero__related-topic-label","text":"\u003Cp\u003EArtificial Intelligence Topics:\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"},"text":{"id":"text-781d807054","additionalClasses":"related-topics ","text":"\u003Cul\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/agents/\"\u003EAI Agents\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/ai-engineering/\"\u003EAI Engineering\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/ai-governance/\"\u003EAI Governance\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/business/\"\u003EAI in Business\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/industries/\"\u003EAI in Industries\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/infrastructure/\"\u003EAI Infrastructure\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/observability/\"\u003EAI Observability\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/transformation/\"\u003EAI Transformation\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/computer-vision/\"\u003EComputer Vision\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/generative-ai/\"\u003EGenerative AI\u003C/a\u003E\u003C/li\u003E\r\n\u003Cli\u003E\u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/machine-learning/\"\u003EMachine Learning\u003C/a\u003E\u003C/li\u003E\r\n\u003C/ul\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small"}},":itemsOrder":["text_894059747","text"]},"isActiveTOC":false,"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_663228916":{"id":"flexible-column-container-49d936fe9e","propertiesId":"hub-body","type":"2-column-60-40","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"medium","bottomPadding":"medium","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"propertiesCSSClasses":"page-section","backgroundImageOption":"none","flexible_column_content_container_1":{"additionalClasses":"longform-content","layout":"SIMPLE","id":"hub-body-content",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-medium",":items":{"callout__0":{"id":"text-4c7e70a505","additionalClasses":"callout callout--general","text":"\u003Cp\u003E\u003Cstrong\u003EMCP DEFINED\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EThe Model Context Protocol provides a two-way connection between AI applications and the systems they rely on, reducing the need for custom integrations.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"},"text__0":{"id":"text-dcac0ffa7b","text":"\u003Cp\u003E\u003Ca href=\"https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation\" target=\"_blank\"\u003EWithin roughly a year of its release\u003C/a\u003E, the Model Context Protocol (MCP) had more than 10,000 active public servers and more than 97 million monthly downloads across its SDKs. The reason MCP usage spread so quickly is straightforward: AI applications, particularly \u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/agents/\"\u003Eagents\u003C/a\u003E, need access to data and tools outside the model. MCP provides a standard interface for discovering and invoking capabilities, while the MCP server manages the system-specific integrations behind them. A single server can support multiple compatible assistants, agents and applications.\u003C/p\u003E\n\u003Cp\u003EThis shared access layer also handles some of the most sensitive parts of an agent workflow. It may receive login credentials, process private data and carry requests into systems that update records, send messages or trigger other actions. Implementing MCP requires understanding both the protocol mechanics and the controls that must be in place once those connections move into production.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_what-is-the-model-context-protocol":{"id":"title-v2-e0fc31d9cc","additionalClasses":"anchor-title anchor-title--what-is-the-model-context-protocol","type":"heading2","lines":["What is the Model Context Protocol?"],":type":"snowflake-site/components/title-v2"},"text_what-is-the-model-context-protocol_0":{"id":"text-f499e3ace8","text":"\u003Cp\u003EThe Model Context Protocol is an open standard for connecting AI applications with external tools and data sources. Introduced by Anthropic in November 2024, it defines how AI applications discover external capabilities, exchange structured messages and invoke tools exposed by compatible servers.\u003C/p\u003E\n\u003Cp\u003EMCP is often called “the USB-C for AI agents” because both provide a common interface between otherwise separate systems. The analogy explains portability: an AI application that supports MCP can connect with many compatible servers without requiring a unique protocol for each one.\u003C/p\u003E\n\u003Cp\u003EBut the comparison only goes so far. MCP standardizes the connection, but each organization remains responsible for approving servers, controlling user access and limiting what connected tools can reach. Those decisions are typically enforced by the broader agent system rather than by MCP. In many implementations, MCP sits within the \u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/agents/harness/\"\u003Eagent harness\u003C/a\u003E — the orchestration layer that determines which external capabilities to expose, when to invoke them and what controls to apply.\u003C/p\u003E\n\u003Cp\u003EOrganizations must also account for the protocol’s continued evolution. MCP is an actively developed, versioned standard. The July 2026 release, for example, made substantial changes to transport, discovery and session handling, while introducing a formal lifecycle and deprecation policy for future changes. Clients and servers can support multiple versions of MCP. If a server doesn’t support the version used by a client, it identifies the versions it does support so the client can retry with a mutually supported version.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_how-mcp-connections-work":{"id":"title-v2-a65ff4fb0c","additionalClasses":"anchor-title anchor-title--how-mcp-connections-work","type":"heading2","lines":["How MCP connections work"],":type":"snowflake-site/components/title-v2"},"text_how-mcp-connections-work_0":{"id":"text-4f5e4cc786","text":"\u003Cp\u003EAn MCP connection links an AI application to capabilities made available by one or more servers. The architecture defines the components involved and how they work together. It describes how tools, resources and prompts are presented and discovered, how requests reach the underlying system, and whether messages travel to a local process or a remote service. Together, these elements define the path a request takes from the host to the server and back.\u003C/p\u003E\n\u003Ch3\u003EHosts, clients and servers\u003C/h3\u003E\n\u003Cp\u003EThe host is the AI application that receives the user’s request and manages the model, user experience, orchestration logic and application-level policies. An integrated development environment, desktop assistant or enterprise agent application could serve as a host.\u003C/p\u003E\n\u003Cp\u003EInside the host, an MCP client communicates with a particular server. A host connecting to several servers generally creates a separate client for each one, allowing it to control which capabilities and context are available through each connection.\u003C/p\u003E\n\u003Cp\u003EThe MCP server provides access to capabilities that clients can discover and use, while handling the system-specific integration behind them. A server might connect to a database, repository or business application. It can run locally as a process on the same computer as the host or remotely as a service used by clients over a network.\u003C/p\u003E\n\u003Ch3\u003ETools, resources and prompts\u003C/h3\u003E\n\u003Cp\u003EMCP defines several protocol primitives, or building blocks, that servers can provide to clients. Three of the most widely used are tools, resources and prompts, each supporting a different type of interaction.\u003C/p\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Cstrong\u003ETools\u003C/strong\u003E are operations that a model or host can request, such as querying inventory, retrieving a customer record or creating an issue. Each definition describes the operation and the structured inputs it accepts.\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EResources\u003C/strong\u003E provide contextual data, including files, database schemas and application records. The host decides when and how to include that information in the model’s context.\u003C/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EPrompts\u003C/strong\u003E are reusable templates supplied by the server and made available through the client experience. A repository server, for example, might provide a prompt for reviewing a proposed code change.\u003C/li\u003E\n\u003C/ul\u003E\n\u003Cp\u003ETogether, these primitives give the host a structured description of the server’s available context and capabilities.\u003C/p\u003E\n\u003Ch3\u003EDiscovery and invocation\u003C/h3\u003E\n\u003Cp\u003EConsider an analyst who asks an agent to explain a decline in subscription renewals. The host has an MCP client connected to an approved analytics server.\u003C/p\u003E\n\u003Cp\u003EThe client retrieves the server’s available tools, including one that queries a governed revenue semantic model. Its definition tells the application what the tool does and which inputs it requires. The agent selects that tool and supplies structured arguments based on the analyst’s question.\u003C/p\u003E\n\u003Cp\u003EThe client sends the request to the MCP server, which validates it and invokes the underlying analytics service. Access controls attached to the server or data system determine what data the request is permitted to reach. The result returns through the client to the host, where the model can use it to continue the analysis or prepare a response.\u003C/p\u003E\n\u003Cp\u003ETools can be added or revised on the server side and made available to compatible clients through the same interface. Chris Caudill, Snowflake Sr. AI/ML Architect, Applied Field Engineering, explains: “One of the most important problems that MCP solves is tool discoverability. With rigid integrations like traditional APIs, the toolset behind the API can’t evolve independently from the agent.” MCP changes that relationship by decoupling the components. “The MCP toolset can grow and evolve, and the agent will discover what’s available at runtime,” he says. The same standard can also make a common set of tools available across multiple agents.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"quote_how-mcp-connections-work_0":{"id":"quote-item-1a57925348","alignment":"left","layout":"simple","quoteSourceName":"Chris Caudill","quoteSourceTitle":"Senior AI/ML Architect, Snowflake","showQuoteIcon":true,"quote":"One of the most important problems that MCP solves is tool discoverability.","showHangingPunctuation":false,":type":"snowflake-site/components/quote-item"},"text_how-mcp-connections-work_1":{"id":"text-d2e9d0359e","text":"\u003Ch3\u003ELocal and remote transport\u003C/h3\u003E\n\u003Cp\u003EMCP uses JSON-RPC, a structured format for exchanging requests, responses and notifications. Local connections commonly use standard input/output, or stdio, to communicate with a server process running on the same computer. Remote servers use Streamable HTTP to receive protocol requests over a network.\u003C/p\u003E\n\u003Cp\u003EThe transport affects where the work occurs and what needs to be protected. A local server may reach files, credentials or development tools on the user’s computer, while a remote server requires authentication, encrypted network connections and service monitoring. In both cases, operators need to know which system executes the request and which data passes through the connection.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"card_v2_how-mcp-connections-work_0":{"id":"card-v2-356b2d2758","additionalClasses":"seo-customer","configurationStatus":{"configured":true,"message":""},"text":{"id":"text","text":"\u003Cp\u003EGlobal commerce platform Cleverbridge uses Snowflake Cortex AI, Snowflake CoWork, Cortex Search and Cortex Analyst to accelerate insights across more than $1 billion in global software commerce. With a natural-language analytics experience built in Snowflake in just weeks, Cleverbridge saved an estimated 13–21 months of engineering effort, reduced time to insight by 33% and helped customer success teams more quickly identify revenue opportunities tied to conversion, renewals and average order value.\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text"},"layoutStyle":"horizontal","title":{"id":"title","type":"heading4","lines":["Cleverbridge"],":type":"snowflake-site/components/title-v2"},"button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/customers/all-customers/case-study/cleverbridge/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Read the full case study"},"image":{"id":"image","isLcpImage":false,"alt":"Cleverbridge lgoo","lazyEnabled":true,"src":"https://www.snowflake.com/adobe/dynamicmedia/deliver/dm-aid--51dfce6f-8625-48df-b8c0-f8406a3969f6/cleverbridge.png?quality=85&preferwebp=true","height":"468","width":"832",":type":"snowflake-site/components/image"},"type":"content-card",":type":"snowflake-site/components/card-v2"},"title_mcp-vs-apis-function-calling-and-rag":{"id":"title-v2-5fbf809722","additionalClasses":"anchor-title anchor-title--mcp-vs-apis-function-calling-and-rag","type":"heading2","lines":["MCP vs. APIs, function calling and RAG"],":type":"snowflake-site/components/title-v2"},"text_mcp-vs-apis-function-calling-and-rag_0":{"id":"text-54ac1f1abe","text":"\u003Cp\u003EMCP sits alongside several established mechanisms in AI application architecture. APIs, function calling and retrieval-augmented generation (\u003Ca href=\"https://www.snowflake.com/en/fundamentals/rag/\"\u003ERAG\u003C/a\u003E) each address a different part of the system.\u003C/p\u003E\r\n\u003Ch3\u003EMCP and APIs\u003C/h3\u003E\r\n\u003Cp\u003EAn API defines how software interacts with a particular service. Its endpoints, data structures, authentication requirements and error behavior belong to that service.\u003C/p\u003E\r\n\u003Cp\u003EAn MCP server frequently uses those APIs underneath, translating one or more service-specific operations into tools or resources that MCP clients can discover through a common interface. The API continues to perform the service interaction, while MCP standardizes how the AI application finds and requests the capability.\u003C/p\u003E\r\n\u003Cp\u003ESuppose an organization wants three agent applications to use the same customer support platform. With direct integrations, each application needs code that understands the platform’s API, authorization flow and response formats. An MCP server can hold that service-specific logic, then publish a smaller set of approved operations — perhaps searching tickets, adding an internal note and retrieving account history — for all three clients.\u003C/p\u003E\r\n\u003Cp\u003EMCP often acts as an AI-facing integration layer over existing APIs, databases and application logic. It provides consistency for AI-facing discovery and invocation while preserving the underlying service contract.\u003C/p\u003E\r\n\u003Ch3\u003EMCP and function calling\u003C/h3\u003E\r\n\u003Cp\u003EFunction calling refers to a model producing a structured request for a named operation. The application provides the model with function or tool definitions, including schemas for accepted arguments. When the model determines that an operation is useful, it returns a structured call. Application code validates the request, runs the function and sends the result back to the model.\u003C/p\u003E\r\n\u003Cp\u003EMCP can supply the connection, tool definitions and invocation path used by that process. Through discovery, the client obtains schemas from an MCP server. The host may then give selected tool definitions to the model, which produces the structured arguments needed for the call.\u003C/p\u003E\r\n\u003Cp\u003EAn AI application can use function calling with locally implemented functions and no MCP connection. It can also use MCP while keeping tool selection outside the model, such as when a user selects a predefined operation through the interface.\u003C/p\u003E\r\n\u003Ch3\u003EMCP and RAG\u003C/h3\u003E\r\n\u003Cp\u003ERAG retrieves information from an external knowledge source and adds that material to the model’s context before generation. A RAG application might search product documentation, select relevant passages and ask the model to answer using the retrieved evidence.\u003C/p\u003E\r\n\u003Cp\u003EMCP can provide a route to the retrieval system. A search server might expose a tool that accepts a query and returns matching passages, or publish resources that the host can read. After retrieval, the host decides how to construct the model context and generate the answer.\u003C/p\u003E\r\n\u003Cp\u003EThe protocol also supports work far beyond retrieval. Tools may update records, trigger workflows, perform calculations or communicate with business applications. Likewise, a RAG pipeline may connect directly to a search engine or database without using MCP.\u003C/p\u003E\r\n\u003Cp\u003E\u003Ci\u003ESafe Software CEO Don Murray demonstrates&nbsp;how AI agents use Model Context Protocol with FME to connect complex enterprise and spatial data to Snowflake:\u003C/i\u003E\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"youtube":{"id":"embed-471a2b70ca","youtubeVideoId":"oxpv0MPVB2o","layout":"responsive","youtubeAspectRatio":"56.25","youtubeAutoPlay":false,"youtubeLoop":false,"youtubeMute":false,"youtubePlaysInline":false,"youtubeRel":false,"embeddableResourceType":"core/wcm/components/embed/v1/embed/embeddable/youtube","type":"EMBEDDABLE",":type":"snowflake-site/components/youtube"},"title_what-mcp-standardizes-and-what-it-leaves-open":{"id":"title-v2-e32c70b166","additionalClasses":"anchor-title anchor-title--what-mcp-standardizes-and-what-it-leaves-open","type":"heading2","lines":["What MCP standardizes — and what it leaves open"],":type":"snowflake-site/components/title-v2"},"text_what-mcp-standardizes-and-what-it-leaves-open_0":{"id":"text-f12576b036","text":"\u003Cp\u003EMCP gives clients and servers a common way to describe and request capabilities. A tool definition includes a name, a description and an input schema, while protocol methods let a client discover that tool and invoke it. JSON-RPC structures the messages, and standard transports carry them between local processes or over HTTP.\u003C/p\u003E\n\u003Cp\u003EBecause those elements are consistent, one MCP client can communicate with servers from different providers without learning a separate protocol for each one. Version negotiation and capability declarations help clients and servers account for differences among implementations as the standard evolves.\u003C/p\u003E\n\u003Cp\u003EThat interoperability has limits, however. MCP confirms that a client and server can exchange messages in an agreed format, but it doesn’t verify that the server is trustworthy, that a tool behaves as described or that its output is reliable. Decisions about ownership, approval, authorization and operational review remain with the organization using the server.\u003C/p\u003E\n\u003Cp\u003EMCP standardizes how tools are described and invoked, but each server determines what those tools actually do. Similar names and input schemas don’t guarantee similar behavior, so reviewers need to evaluate both the tool information shown to clients and the underlying implementation.\u003C/p\u003E\n\u003Cp\u003EA separate concern is how server capabilities change over time. Because clients discover those capabilities dynamically, a newly added tool, revised schema or expanded operation can become available across every connected application as soon as the server advertises it. Version controls, approval gates and change notifications let operators assess those changes before they reach production workflows.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_mcp-security-limitations-and-governance":{"id":"title-v2-4efb6cf977","additionalClasses":"anchor-title anchor-title--mcp-security-limitations-and-governance","type":"heading2","lines":["MCP security, limitations and governance"],":type":"snowflake-site/components/title-v2"},"text_mcp-security-limitations-and-governance_0":{"id":"text-719faacdd9","text":"\u003Cp\u003EAs MCP spreads across an organization, the security problem extends beyond any one agent or server. Different teams may connect coding assistants, internal agents and third-party applications to separate MCP servers, each with its own credentials, permissions and logs. Without a shared control layer, the organization can lose track of which servers are in use, what tools they expose, which identities can access them and where data moves after an action.\u003C/p\u003E\n\u003Cp\u003EGovernance has to cover the MCP environment as a whole, then follow requests through it. Organizations need an inventory of approved servers and tools, policies that remain attached to the underlying data and systems, distinct user and agent identities, safeguards around untrusted content, approval for consequential actions and an end-to-end record of what occurred.\u003C/p\u003E\n\u003Ch3\u003EPreserve identity through the connection\u003C/h3\u003E\n\u003Cp\u003EA tool call may originate with a person, an application acting for that person or an agent working autonomously within a longer task. The receiving system needs enough identity context to evaluate the request correctly.\u003C/p\u003E\n\u003Cp\u003ECaudill points to a fundamental risk in direct agent connections. “The biggest risk of allowing agents to connect directly is credential scope,” he says. “Agents are typically configured with a long-lived credential that has a broadly scoped service account.” The server may see the same powerful credential regardless of which user initiated the action, which agent selected the tool or what task is underway.\u003C/p\u003E\n\u003Cp\u003EA better approach preserves the relevant identity through the connection and evaluates authorization when the action occurs. OAuth can support delegated access to remote servers, while role-based access control (\u003Ca href=\"https://www.snowflake.com/en/data-governance/data-security/rbac/\"\u003ERBAC\u003C/a\u003E) and service-specific policies restrict which resources and operations the authenticated identity may use. Credentials should remain scoped to the intended server and audience.\u003C/p\u003E\n\u003Cp\u003EThe agent should also remain identifiable as a distinct actor separate from the human user. This allows policies and audit records to show that an operation occurred during an agent session, even when the agent was acting on behalf of an authorized user.\u003C/p\u003E\n\u003Cp\u003ESession scope adds another boundary. An agent performing a read-only variance analysis, for example, has no reason to inherit every available privilege. Restricting the session to the task reduces the set of actions exposed if the model selects the wrong tool, receives manipulated context or follows an ambiguous instruction.\u003C/p\u003E\n\u003Ch3\u003ETreat retrieved content as untrusted input\u003C/h3\u003E\n\u003Cp\u003EAgents routinely process text from documents, websites, messages and tool results. Some of that content may contain instructions written to influence the model. In an \u003Ca href=\"https://www.crowdstrike.com/en-us/blog/indirect-prompt-injection-attacks-hidden-ai-risks/\" target=\"_blank\"\u003Eindirect prompt injection\u003C/a\u003E, malicious directions appear inside external data, and an agent may interpret those directions as trusted instructions.\u003C/p\u003E\n\u003Cp\u003EMCP expands the number of sources and actions available to an application, so the consequences of poor content separation can extend far beyond an incorrect answer. A deceptive or compromised tool description could affect tool selection, while manipulated content returned by one server could induce a later call to another.\u003C/p\u003E\n\u003Cp\u003ENo single filter reliably resolves prompt injection. Practical defenses combine narrowly scoped permissions, separation between instructions and retrieved data, input and output validation, tool allowlists and approval requirements for consequential actions. The host should also limit which server outputs may influence later tool calls, particularly when several systems participate in the same task.\u003C/p\u003E\n\u003Ch3\u003EAvoid confused-deputy authorization flows\u003C/h3\u003E\n\u003Cp\u003EA \u003Ca href=\"https://cornucopia.owasp.org/taxonomy/attacks/confused-deputy-attack\" target=\"_blank\"\u003Econfused deputy problem\u003C/a\u003E arises when an intermediary uses its legitimate authority on behalf of an unauthorized requester. Within MCP, a proxy server may connect clients to a third-party API using a shared OAuth client identity. Without per-client consent and careful validation of redirect \u003Ca href=\"https://www.techtarget.com/whatis/definition/URI-Uniform-Resource-Identifier\" target=\"_blank\"\u003EURIs\u003C/a\u003E and authorization state, an attacker may exploit that intermediary relationship to obtain access that the user didn’t approve.\u003C/p\u003E\n\u003Cp\u003EThis consideration applies beyond OAuth. Every intermediary should preserve enough request context for the next system to make its own authorization decision. When a chain of servers collapses several identities into one privileged connection, downstream controls lose the information needed to enforce least privilege.\u003C/p\u003E\n\u003Ch3\u003EMatch approval requirements to the action\u003C/h3\u003E\n\u003Cp\u003EApproval requirements should track the consequences of the action. Low-risk reads can typically proceed automatically, while consequential actions should require explicit approval or narrowly scoped preauthorization.\u003C/p\u003E\n\u003Cp\u003EReading a public knowledge article, for example, may require no interruption. But sending a customer message, changing a financial record or deleting a cloud resource typically warrants a review step or an equivalent policy control. The approval interface should identify the tool, proposed arguments, target system and likely effect, giving the user enough information to make a meaningful decision.\u003C/p\u003E\n\u003Cp\u003EFor multi-step workflows, one approval at the beginning may be too broad. The task can branch as the agent receives new information, so high-impact actions should require approval immediately before the tool call. Organizations can also require a second human reviewer for particularly sensitive operations.\u003C/p\u003E\n\u003Ch3\u003ERecord the action sequence\u003C/h3\u003E\n\u003Cp\u003ETraditional application logs will typically show that an API received a request, but omit the agent context around it. Investigating an MCP workflow requires a wider trail: who initiated the task, which agent and client participated, what tools were available, which tool was selected, what arguments were sent and which systems the workflow touched afterward. Centralized tracing reduces the need to reconstruct that sequence from separate client, server and application logs. It also supports operational debugging.\u003C/p\u003E\n\u003Cp\u003EAudit data must receive its own access and retention controls. Tool inputs and results may contain sensitive business information, so capturing every interaction without filtering can create another repository of high-value data.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"callout_mcp-security-limitations-and-governance_0":{"id":"text-338ec4642f","additionalClasses":"callout callout--warning","text":"\u003Cp\u003E\u003Cstrong\u003ECOMMON PITFALL\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EA common mistake is logging only the downstream API request. Without the initiating user, agent, selected tool, arguments and approval history, investigators may be unable to reconstruct why an action occurred.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"},"title_operating-mcp-across-an-enterprise-choosing-and-deploying-mcp-servers":{"id":"title-v2-84b5fd7fd0","additionalClasses":"anchor-title anchor-title--operating-mcp-across-an-enterprise-choosing-and-deploying-mcp-servers","type":"heading2","lines":["Operating MCP across an enterprise: choosing and deploying MCP servers"],":type":"snowflake-site/components/title-v2"},"text_operating-mcp-across-an-enterprise-choosing-and-deploying-mcp-servers_0":{"id":"text-ea99c8906c","text":"\u003Cp\u003EA single local MCP server is relatively easy to manage: one host connects to one process, and the developer who configured it usually knows which files, credentials and tools it can reach. As adoption spreads across teams, several applications may connect to the same remote server, servers may expose tools owned by different departments, and clients may discover new capabilities without a corresponding change to the application itself.\u003C/p\u003E\n\u003Cp\u003EFor this reason, enterprise MCP operations begin with an approved server inventory. For each server, the inventory should identify its owner, source, version, authentication method, exposed tools and underlying systems. Local, remote, managed and self-hosted deployments create different infrastructure responsibilities, but each one still needs a named owner who can explain what the server does and who is accountable for its operation.\u003C/p\u003E\n\u003Cp\u003EThis ownership continues after deployment. Because clients discover capabilities dynamically, a newly added tool, revised schema or expanded operation can reach every connected application as soon as the server advertises it. Version controls, review gates and change notifications give operators a chance to assess those changes before they enter production workflows. The same lifecycle should cover credential rotation, vulnerability remediation and retirement when a server no longer supports an active use case.\u003C/p\u003E\n\u003Cp\u003ECentralized authorization gives administrators one place to approve servers, restrict specific tools and revoke access across multiple clients. It also reduces the chance that one application retains broader permissions than another simply because its configuration was never updated.\u003C/p\u003E\n\u003Cp\u003EOperational visibility completes the control path. Service metrics such as latency, availability and error rates show whether the connection is healthy, while agent-level traces show which tools were discovered, what arguments were sent and which systems the workflow reached next. Together, those records support both incident investigation and routine debugging.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_securing-mcp-connections-with-snowflake":{"id":"title-v2-2fd91c3cf4","additionalClasses":"anchor-title anchor-title--securing-mcp-connections-with-snowflake","type":"heading2","lines":["Securing MCP connections with Snowflake"],":type":"snowflake-site/components/title-v2"},"text_securing-mcp-connections-with-snowflake_0":{"id":"text-e268b548d9","text":"\u003Cp\u003EMCP gives agents a standard route into databases, business applications and internal tools. That access also combines several forms of authority that security teams have historically governed separately: reading sensitive data, performing actions in operational systems and moving information across boundaries. As different business units add agents and MCP servers independently, organizations can lose track of which servers have been approved, what tools each agent can use and where the resulting data travels. Unvetted servers, tool hijacking and data exfiltration are all part of the MCP adoption problem, alongside the \u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/ai-engineering/\"\u003EAI engineering\u003C/a\u003E work required to build the connections.\u003C/p\u003E\n\u003Cp\u003ESnowflake’s approach treats MCP traffic as part of the enterprise security plane. Rather than relying on each coding assistant, agent framework or internal application to implement its own controls, \u003Ca href=\"https://www.snowflake.com/en/blog/enterprise-ai-security-agentic-mcp-governance\"\u003ECortex AI Gateway\u003C/a\u003E places a shared governance layer between agents and the models, data, MCP servers and enterprise tools they access. This gateway enables identity, policy and audit controls to be applied at the level of an individual tool call.\u003C/p\u003E\n\u003Cp\u003EAs Caudill explains, “Consider MCP as a scoped collection of capabilities, whereas the AI gateway acts as the governance layer that standardizes controls and policies across all integrations.”\u003C/p\u003E\n\u003Cp\u003EAdministrators gain a central place to grant, restrict and review access across Snowflake agents and third-party environments, including external agent platforms, coding assistants and custom applications. This reduces the security drift that develops when every client maintains its own server configuration and authorization rules.\u003C/p\u003E\n\u003Cp\u003EIdentity requires particular care when an agent acts for a user with broad privileges. Snowflake Agent Identity records the agent as a distinct participant in the session, allowing access policies and account usage records to differentiate its activity from the person directing it. Restricted Session Scope (GA soon) is designed to narrow the agent’s authority to the current task, so a workflow created for read-only analysis cannot automatically inherit every action available through the user’s normal role.\u003C/p\u003E\n\u003Cp\u003ECentral governance also gives security teams visibility across the MCP environment. Teams can discover and monitor agent connections, including unsanctioned MCP servers, and use fine-grained authorization controls to restrict the tools an agent can invoke. Trace records support usage monitoring, troubleshooting, incident investigation and compliance review without requiring every agent application to build a separate audit layer (features in public preview soon).\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"title_from-standardized-connections-to-governed-agent-operations":{"id":"title-v2-81fae65415","additionalClasses":"anchor-title anchor-title--from-standardized-connections-to-governed-agent-operations","type":"heading2","lines":["From standardized connections to governed agent operations"],":type":"snowflake-site/components/title-v2"},"text_from-standardized-connections-to-governed-agent-operations_0":{"id":"text-d6cef4ef8c","text":"\u003Cp\u003EMCP gives AI applications a common way to discover external capabilities and request their use. This shared interface reduces repeated integration work and allows tools to travel across hosts more readily, while APIs, function calling and RAG continue to perform their distinct roles within the wider \u003Ca href=\"https://www.snowflake.com/en/artificial-intelligence/infrastructure/\"\u003EAI infrastructure\u003C/a\u003E stack.\u003C/p\u003E\r\n\u003Cp\u003EBut production adoption requires an operating model around the protocol. Server ownership, identity propagation, scoped authorization, content validation, approval controls and end-to-end tracing determine how safely an organization can expand the number of connected agents and tools.\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"},"callout_from-standardized-connections-to-governed-agent-operations_0":{"id":"text-474f3c7908","additionalClasses":"callout callout--general","text":"\u003Cp\u003E\u003Cstrong\u003EKEY TAKEAWAY\u003C/strong\u003E\u003C/p\u003E\n\u003Cp\u003EMCP standardizes how AI applications discover and invoke external tools, but it doesn’t make those connections inherently trustworthy or secure. Production adoption requires identity-aware authorization, scoped access, server governance, approval controls and end-to-end visibility.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular text-color-text-05"},"text_from-standardized-connections-to-governed-agent-operations_1":{"id":"text-37d6b9b88c","text":"\u003Cp\u003E&nbsp;\u003C/p\u003E\r\n\u003Cp\u003E\u003Ci\u003E\u003Csub\u003EForward-looking statements: This content contains forward-looking statements, including about our future product offerings, and are not commitments to deliver any product offerings. Actual results and offerings may differ and are subject to known and unknown risk and uncertainties. See our latest 10-Q for more information.\u003C/sub\u003E\u003C/i\u003E\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"}},":itemsOrder":["callout__0","text__0","title_what-is-the-model-context-protocol","text_what-is-the-model-context-protocol_0","title_how-mcp-connections-work","text_how-mcp-connections-work_0","quote_how-mcp-connections-work_0","text_how-mcp-connections-work_1","card_v2_how-mcp-connections-work_0","title_mcp-vs-apis-function-calling-and-rag","text_mcp-vs-apis-function-calling-and-rag_0","youtube","title_what-mcp-standardizes-and-what-it-leaves-open","text_what-mcp-standardizes-and-what-it-leaves-open_0","title_mcp-security-limitations-and-governance","text_mcp-security-limitations-and-governance_0","callout_mcp-security-limitations-and-governance_0","title_operating-mcp-across-an-enterprise-choosing-and-deploying-mcp-servers","text_operating-mcp-across-an-enterprise-choosing-and-deploying-mcp-servers_0","title_securing-mcp-connections-with-snowflake","text_securing-mcp-connections-with-snowflake_0","title_from-standardized-connections-to-governed-agent-operations","text_from-standardized-connections-to-governed-agent-operations_0","callout_from-standardized-connections-to-governed-agent-operations_0","text_from-standardized-connections-to-governed-agent-operations_1"]},"flexible_column_content_container_2":{"additionalClasses":"hub-sidebar","layout":"SIMPLE","id":"hub-body-aside",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-small",":items":{"container":{"additionalClasses":"sticky-sidebar","gridClassNames":"aem-Grid aem-Grid--12 aem-Grid--default--12","columnClassNames":{"text_943981956_copy_":"aem-GridColumn aem-GridColumn--default--12","text_copy":"aem-GridColumn aem-GridColumn--default--12"},"layout":"RESPONSIVE_GRID","columnCount":12,"id":"container-8c9a5c0d51",":type":"snowflake-site/components/container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-medium",":items":{"text_943981956_copy_":{"id":"text-abc113eb7b","additionalClasses":"eyebrow-text","text":"\u003Cp\u003EIn This Guide\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-regular"},"text_copy":{"id":"text-9a7de995d0","additionalClasses":"page-toc","text":"\u003Cul\u003E\u003Cli data-anchor=\"what-is-the-model-context-protocol\"\u003EWhat is the Model Context Protocol?\u003C/li\u003E\u003Cli data-anchor=\"how-mcp-connections-work\"\u003EHow MCP connections work\u003C/li\u003E\u003Cli data-anchor=\"mcp-vs-apis-function-calling-and-rag\"\u003EMCP vs. APIs, function calling and RAG\u003C/li\u003E\u003Cli data-anchor=\"what-mcp-standardizes-and-what-it-leaves-open\"\u003EWhat MCP standardizes — and what it leaves open\u003C/li\u003E\u003Cli data-anchor=\"mcp-security-limitations-and-governance\"\u003EMCP security, limitations and governance\u003C/li\u003E\u003Cli data-anchor=\"operating-mcp-across-an-enterprise-choosing-and-deploying-mcp-servers\"\u003EOperating MCP across an enterprise: choosing and deploying MCP servers\u003C/li\u003E\u003Cli data-anchor=\"securing-mcp-connections-with-snowflake\"\u003ESecuring MCP connections with Snowflake\u003C/li\u003E\u003Cli data-anchor=\"from-standardized-connections-to-governed-agent-operations\"\u003EFrom standardized connections to governed agent operations\u003C/li\u003E\u003C/ul\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-size-small text-color-text-05"}},":itemsOrder":["text_943981956_copy_","text_copy"]}},":itemsOrder":["container"]},"isActiveTOC":false,"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container"},"flexible_column_cont_1786318617":{"id":"flexible-column-container-58619a9eb4","propertiesId":"hub-faq","type":"2-column-40-60","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"large","bottomPadding":"large","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"hub-faq-intro",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small",":items":{"title_v2_copy":{"id":"title-v2-8ee7778ea9","additionalClasses":"hub-faq__headline","type":"heading2","lines":["Frequently Asked Questions"],":type":"snowflake-site/components/title-v2","appliedCssClassNames":"left-alignment"},"text_copy":{"id":"text-6ba6c9acc2","additionalClasses":"hub-faq__subheadline","text":"\u003Cp\u003EYour common questions about MCP, answered by Snowflake experts.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"}},":itemsOrder":["title_v2_copy","text_copy"]},"flexible_column_content_container_2":{"layout":"SIMPLE","id":"hub-faq-accordions",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"simple_snowflake_acc":{"id":"simple-snowflake-accordion-c0fe127922","additionalClasses":"seo-hub__faqs","showDivider":false,"accordionItemsList":[{"title":"How is MCP different from an API?","richText":"\u003Cp\u003EAn API defines how software accesses a particular service. MCP gives AI applications a consistent way to discover and invoke capabilities that may use those APIs underneath. An MCP server commonly translates standardized tool calls into service-specific API operations.\u003C/p\u003E"},{"title":"Does MCP replace function calling?","richText":"\u003Cp\u003ENo. Function calling describes how a model returns a structured request for an operation. MCP supplies a standardized connection through which an application can discover that operation and send the request to an external server. Applications frequently use both mechanisms in the same workflow.\u003C/p\u003E"},{"title":"Is MCP secure?","richText":"\u003Cp\u003EMCP includes protocol-level guidance for authorization, consent and data handling, while security ultimately depends on each organization’s implementation. Organizations still need to authenticate clients, restrict tool and data access, review servers, protect credentials, validate untrusted content and record consequential actions.\u003C/p\u003E"}],":type":"snowflake-site/components/simple-snowflake-accordion"}},":itemsOrder":["simple_snowflake_acc"]},"isActiveTOC":false,"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_1467213961":{"id":"flexible-column-container-ebd22350b4","propertiesId":"hub-explore-resources-header","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"large","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-12de895da7",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"title_v2":{"id":"title-v2-a07b0affaf","additionalClasses":"hub-explore-resources-header__headline","type":"heading2","lines":["Explore AI Resources"],":type":"snowflake-site/components/title-v2","appliedCssClassNames":"left-alignment"}},":itemsOrder":["title_v2"]},"isActiveTOC":false,"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_912630531":{"id":"flexible-column-container-66d53a7775","propertiesId":"hub-explore-resources-grid","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"small","bottomPadding":"large","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"hub-explore-resources-grid-inner",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"resource_chip_0":{"id":"content-chip-10854668d7","tagText":"BLOG","tagColor":"#71D3DC","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/blog/managed-mcp-servers-secure-data-agents/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Read more"},"headline":{"id":"title-v2-e49863201e","type":"heading5","lines":["Snowflake Managed MCP Servers for Secure, Governed Data Agents"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip","appliedCssClassNames":"snowflake-content-chip-white-bg"},"resource_chip_1":{"id":"content-chip-560de45cba","tagText":"WEBINAR","tagColor":"#29B5E8","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/webinars/virtual-hands-on-lab/snowflake-cortex-agents-mcp-exposing-agents-to-external-ai-clients-via-snowflake-mcp-2026-07-09/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Watch now"},"headline":{"id":"title-v2-58320e0866","type":"heading5","lines":["Snowflake Cortex Agents + MCP: Exposing Agents to External AI Clients via Snowflake MCP"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip","appliedCssClassNames":"snowflake-content-chip-white-bg"},"resource_chip_2":{"id":"content-chip-cba4d2e5ab","tagText":"GUIDE","tagColor":"#71D3DC","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/developers/guides/mcp-server-for-cortex-agents/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Read more"},"headline":{"id":"title-v2-9210b98e56","type":"heading5","lines":["Build an MCP Server for Cortex Agents"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip","appliedCssClassNames":"snowflake-content-chip-white-bg"},"resource_chip_3":{"id":"content-chip-b0206f0333","tagText":"BLOG","tagColor":"#71D3DC","cta":{"id":"cta","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"https://www.snowflake.com/en/blog/observe-mcp-server-cli-ai-agents-telemetry/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_EXTERNAL",":type":"snowflake-site/components/button","text":"Read more"},"headline":{"id":"title-v2-e6a4903e40","type":"heading5","lines":["Connect AI Agents to Your Telemetry with the Observe MCP Server and CLI"],":type":"snowflake-site/components/title-v2"},":type":"snowflake-site/components/content-chip","appliedCssClassNames":"snowflake-content-chip-white-bg"}},":itemsOrder":["resource_chip_0","resource_chip_1","resource_chip_2","resource_chip_3"]},"isActiveTOC":false,"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-gray-10-bg"},"flexible_column_cont_1158003461":{"id":"flexible-column-container-e7d98d9c2b","propertiesId":"hub-explore-topics-header","type":"1-column","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"large","bottomPadding":"none","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-9fdbe68d10",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container","appliedCssClassNames":"snowflake-responsive-container-inner-padding-extra-small",":items":{"title_v2_copy_copy":{"id":"title-v2-f0c57739fb","additionalClasses":"hub-explore-topics-header__headline","type":"heading2","lines":["Explore AI Topics"],":type":"snowflake-site/components/title-v2","appliedCssClassNames":"left-alignment"},"text_copy_copy":{"id":"text-54b2b821ba","additionalClasses":"hub-explore-topics-header__subheadline","text":"\u003Cp\u003EDeep dives into every aspect of artificial intelligence\u003C/p\u003E\r\n","richText":true,":type":"snowflake-site/components/text","appliedCssClassNames":"text-color-text-05"}},":itemsOrder":["title_v2_copy_copy","text_copy_copy"]},"isActiveTOC":false,"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-white-bg"},"flexible_column_cont_1377146023":{"id":"flexible-column-container-21ff48badd","propertiesId":"hub-explore-topics-grid","type":"3-column-even","alignColumns":"top","containerMaxWidth":"extra-large","topPadding":"small","bottomPadding":"large","spaceBetween":"small","reverseOnMobile":false,"carouselOnMobile":false,"backgroundImageOption":"none","flexible_column_content_container_1":{"layout":"SIMPLE","id":"container-40cbde2d3d",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"topic_card_0":{"id":"card-v2-caaf586f07","configurationStatus":{"configured":true,"message":""},"text":{"id":"text","text":"\u003Cp\u003EA software system that uses AI to pursue a goal, make decisions and take action through applications or other systems.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text"},"layoutStyle":"vertical","title":{"id":"title","type":"heading4","lines":["AI Agents"],":type":"snowflake-site/components/title-v2"},"button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/artificial-intelligence/agents/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Learn more"},"type":"content-card",":type":"snowflake-site/components/card-v2"}},":itemsOrder":["topic_card_0"]},"flexible_column_content_container_2":{"layout":"SIMPLE","id":"container-6e5fa26663",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"topic_card_1":{"id":"card-v2-fa6a53942e","configurationStatus":{"configured":true,"message":""},"text":{"id":"text","text":"\u003Cp\u003EThe operating system around an AI model that coordinates how it reasons, uses tools, accesses context and takes action.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text"},"layoutStyle":"vertical","title":{"id":"title","type":"heading4","lines":["Agent Harness"],":type":"snowflake-site/components/title-v2"},"button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/artificial-intelligence/agents/harness/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Learn more"},"type":"content-card",":type":"snowflake-site/components/card-v2"}},":itemsOrder":["topic_card_1"]},"flexible_column_content_container_3":{"layout":"SIMPLE","id":"container-5937920a61",":type":"snowflake-site/components/flexible-column-container/flexible-column-content-container",":items":{"topic_card_2":{"id":"card-v2-9bb8f0879a","configurationStatus":{"configured":true,"message":""},"text":{"id":"text","text":"\u003Cp\u003EThe software engineering discipline of designing, building, deploying and operating AI systems.\u003C/p\u003E","richText":true,":type":"snowflake-site/components/text"},"layoutStyle":"vertical","title":{"id":"title","type":"heading4","lines":["AI Engineering"],":type":"snowflake-site/components/title-v2"},"button":{"id":"button","showOutboundIcon":false,"buttonLink":{"valid":true,"url":"/en/artificial-intelligence/ai-engineering/"},"linkTargetContentType":"GENERIC","linkType":"SNOWFLAKE_INTERNAL",":type":"snowflake-site/components/button","text":"Learn more"},"type":"content-card",":type":"snowflake-site/components/card-v2"}},":itemsOrder":["topic_card_2"]},"isActiveTOC":false,"isBlogPage":false,":type":"snowflake-site/components/flexible-column-container","appliedCssClassNames":"snowflake-flexible-column-container-white-bg"}},":itemsOrder":["flexible_column_cont","flexible_column_cont_939100716","flexible_column_cont_1398138236","flexible_column_cont_663228916","flexible_column_cont_1786318617","flexible_column_cont_1467213961","flexible_column_cont_912630531","flexible_column_cont_1158003461","flexible_column_cont_1377146023"],":type":"wcm/foundation/components/responsivegrid"},"modal_container":{"layout":"SIMPLE","id":"container-9f5abd4e57",":type":"snowflake-site/components/modal/modal-container",":items":{},":itemsOrder":[]},"markup_editor_928258845":{"id":"markup-editor-eacdb5d6a5","title":" ","cssContent":".snowflake-flexible-column-container-gray-10-bg\u003E.snowflake-flexible-column-container{background-color:var(--ui-background-05) !important}.text-size-regular:has(.seo-hub-hero__related-topic-label){display:flex;align-items:center}.hub-hero__headline span{text-transform:none !important}.hub-hero__subheadline p{max-width:70ch;margin-top:8px}.hub-hero__authors \u003E .container \u003E .cmp-container \u003E .aem-container{display:flex;flex-direction:row}.hub-hero__authors \u003E .container \u003E .cmp-container \u003E .aem-container \u003E div{width:auto !important;margin:24px 48px 0 0 !important}.hub-hero__authors .heading-5-v2{gap:var(--spacing-00)}.hub-hero__authors .snowflake-content-chip-button{display:none !important}.hub-hero__authors .snowflake-person-chip-content .body-2,.hub-hero__authors .snowflake-content-chip-content .snowflake-title-v2-line{font-size:16px !important;line-height:20px !important;font-family:\"Lato\",sans-serif !important;color:#000 !important;font-weight:600 !important}.hub-hero__authors .snowflake-person-chip-content .body-3,.hub-hero__authors .snowflake-content-chip-content .snowflake-title-v2-line:not(:first-child){font-weight:400 !important;color:var(--text-05) !important;font-size:16px !important}.hub-hero__authors .snowflake-image-container img{aspect-ratio:1 !important;border-radius:100%;overflow:hidden}.hub-hero__authors .snowflake-person-chip-avatar{width:56px;height:56px}.hub-hero__authors .snowflake-content-chip{align-items:center;display:inline-flex}.hub-hero__authors .snowflake-content-chip-image{max-width:56px;line-height:0;margin-right:var(--spacing-03)}.hub-hero__authors .snowflake-person-chip-inner-horizontal{gap:var(--spacing-03)}@media screen and (min-width:1367px){.hub-hero__headline .heading-1-v2{font-size:48px;line-height:44px}}#hub-explore-resources-grid-inner\u003E.container\u003E.cmp-container\u003E.aem-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:24px}#hub-explore-resources-grid-inner\u003E.container\u003E.cmp-container\u003E.aem-container::before,#hub-explore-resources-grid-inner\u003E.container\u003E.cmp-container\u003E.aem-container::after{display:none}#hub-explore-resources-grid-inner\u003E.container\u003E.cmp-container\u003E.aem-container\u003Ediv{width:calc(25% - 18px)}.text-color-text-05 .snowflake-text h2,.text-color-text-05.cq-Editable-dom h2,.text-color-text-05 .snowflake-text h3,.text-color-text-05.cq-Editable-dom h3,.text-color-text-05 .snowflake-text h4,.text-color-text-05.cq-Editable-dom h4,.text-color-text-05 .snowflake-text h5,.text-color-text-05.cq-Editable-dom h5,.text-color-text-05 .snowflake-text h6,.text-color-text-05.cq-Editable-dom h6{color:#000 !important}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"},"markup_editor_597730182":{"id":"markup-editor-4a5f9070d3","title":" ","cssContent":".sf-copy-markdown [data-copy-md]{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-family:'Texta',sans-serif;text-transform:uppercase;font-weight:800 !important;font-size:14px;font-weight:500;color:#11567f;background:#f0faff;border:1px solid #b8e6f9;border-radius:24px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.sf-copy-markdown [data-copy-md]:hover{background:#ddf3fc;border-color:#29b5e8}.sf-copy-markdown [data-copy-md][data-copied=\"1\"]{color:#0f7b3e;background:#ecfdf5;border-color:#6ee7a0;pointer-events:none}.sf-copy-markdown [data-copy-md] svg{flex-shrink:0}.longform-conten .snowflake-content-chip-white-bg .snowflake-content-chip{box-shadow:0 0 24px 4px rgba(0,0,0,.02),0 4px 8px 0 rgba(0,0,0,.04);flex-direction:row-reverse;align-items:center}.longform-conten .snowflake-content-chip-button{display:none}.longform-conten .snowflake-content-chip-image__inner{aspect-ratio:5 / 3;display:flex;justify-content:center;align-items:center;background-color:var(--ui-01);border-radius:4px}.longform-conten .snowflake-content-chip-image{margin-right:0;margin-left:48px}.longform-conten .snowflake-content-chip-image img{width:50%;border-radius:0 !important;object-fit:contain}.longform-content .black-blue-text-color .snowflake-title-v2-line:not(:first-child){font-size:14px !important;font-weight:400 !important;color:rgba(0,0,0,.6) !important;margin-top:8px !important}.page-toc ul li:first-child{padding-top:0 !important}.page-toc ul li:last-child{padding-bottom:0 !important}.seo-hub__top-bar \u003E .container \u003E .cmp-container \u003E .aem-container \u003E div:first-child{flex-grow:1}.sf-copy-markdown{margin-top:40px !important}.page-toc ul{margin-top:16px !important}.seo-hub__top-bar \u003E .container \u003E .cmp-container \u003E .aem-container{display:flex;justify-content:space-between}.sf-copy-markdown{}.callout.snowflake-text p:not(:first-child){margin-top:var(--spacing-01)}.callout \u003E span \u003E p:first-child \u003E strong,.callout \u003E span \u003E p:first-child \u003E b{text-transform:uppercase;font-family:'Texta',sans-serif;font-size:16px !important;color:var(--ui-01) !important}.seo-hub-hero__subheadline p{max-width:50ch}.tag-group ul{list-style-type:none;padding:0;margin:0;display:flex;flex-direction:row;row-gap:12px;column-gap:8px;align-items:center;flex-wrap:wrap}.tag-group ul li:first-child{flex-shrink:0}.tag-group ul li a{display:inline-block;padding:2px 12px;border-radius:48px;background-color:#ededed;color:#666;font-size:14px !important}@media screen and (min-width:1367px){.seo-hub-hero__headline span.snowflake-title-v2-line{font-size:56px !important}}.callout.snowflake-text p:not(:first-child){margin-top:var(--spacing-01)}.callout \u003E span \u003E p:first-child \u003E b{text-transform:uppercase;font-family:'Texta',sans-serif;font-size:16px !important;color:var(--ui-01) !important}.seo-hub-hero__subheadline p{max-width:80ch}#hero:has(.snowflake-youtube-lite) .seo-hub-hero__subheadline p{max-width:50ch}.tag-group ul{list-style-type:none;padding:0;margin:0;display:flex;flex-direction:row;row-gap:12px;column-gap:8px;align-items:center;flex-wrap:wrap}.tag-group ul li:first-child{width:100%;flex-shrink:0}.tag-group ul li a{display:inline-block;padding:2px 12px;border-radius:48px;background-color:#ededed;color:#666;font-size:14px !important}@media screen and (min-width:1367px){.seo-hub-hero__headline span.snowflake-title-v2-line{font-size:56px !important}}","isGSAPEnabled":false,":type":"snowflake-site/components/markup-editor"},"markup_editor":{"id":"markup-editor-8ea5ec77ab","title":" ","cssContent":"div.snowflake-breadcrumb a.snowflake-breadcrumb-item,.snowflake-breadcrumb div.snowflake-breadcrumb-item{text-transform:none;font-weight:500}.snowflake-breadcrumb svg{display:none !important}.snowflake-breadcrumb a:has(svg)::after{content:'/';margin:0 12px;color:#666}.hub-sidebar{padding:0 40px}.sticky-sidebar{max-width:340px;margin-left:auto}.page-toc ul{list-style-type:none;padding:0}.page-toc li{padding:8px 16px;border-left:4px solid var(--ui-01);cursor:pointer;transition:300ms ease all}.page-toc li:hover{color:var(--ui-01);border-color:#7fd3f1;transition:300ms ease all}.callout,.customer-card{background-color:#eef9fd;border-left:4px solid var(--ui-01);padding:24px 24px 24px 32px;border-radius:4px}.logo-container{max-width:180px}.longform-content li{margin-top:1rem !important}div.longform-content p{max-width:80ch}.bolder .snowflake-title-v2-line{font-weight:900 !important}.border-top\u003Ediv{border-top:1px solid #ccc;padding-top:48px}.related-topics ul{list-style-type:none;padding:0;margin:0;display:flex;gap:8px;flex-wrap:wrap}.related-topics li{display:inline-block;border:1px solid #ccc;padding:4px 12px;border-radius:24px}div.longform-content .snowflake-text h2,div.longform-content .snowflake-text .heading-2-v2,div.longform-content .snowflake-text h3,div.longform-content .snowflake-text .heading-3-v2,div.longform-content .snowflake-title-v2 .heading-3-v2,div.longform-content .snowflake-text h4,div.longform-content .snowflake-text .heading-4-v2,div.longform-content .snowflake-title-v2 .heading-4-v2,div.longform-content .snowflake-text h5,div.longform-content .snowflake-text .heading-5-v2,div.longform-content .snowflake-title-v2 .heading-5-v2,div.longform-content .snowflake-text h6,div.longform-content .snowflake-title-v2 .heading-6-v2,div.longform-content .snowflake-text .heading-6-v2{text-transform:none !important}div.longform-content .snowflake-text h2,div.longform-content .snowflake-text .heading-2-v2,div.longform-content .snowflake-text h3,div.longform-content .snowflake-text .heading-3-v2,div.longform-content .snowflake-text h4,div.longform-content .snowflake-text .heading-4-v2,div.longform-content .snowflake-text h5,div.longform-content .snowflake-text .heading-5-v2,div.longform-content .snowflake-text h6,div.longform-content .snowflake-text .heading-6-v2{margin-top:1.5rem !important;line-height:1.1 !important}div.longform-content .snowflake-text h3,div.longform-content .snowflake-text .heading-3-v2,div.longform-content .snowflake-title-v2 .heading-3-v2,div.longform-content .snowflake-text h4,div.longform-content .snowflake-text .heading-4-v2,div.longform-content .snowflake-title-v2 .heading-4-v2,div.longform-content .snowflake-text h5,div.longform-content .snowflake-text .heading-5-v2,div.longform-content .snowflake-title-v2 .heading-5-v2,div.longform-content .snowflake-text h6,div.longform-content .snowflake-text .heading-6-v2,div.longform-content .snowflake-title-v2 .heading-6-v2{font-family:Lato,sans-serif !important;font-weight:800 !important}div.longform-content .snowflake-text h2,div.longform-content .snowflake-text .heading-2-v2,div.longform-content .snowflake-title-v2 .heading-2-v2{text-transform:none !important;font-size:28px !important}div.longform-content .snowflake-text h3,div.longform-content .snowflake-text .heading-3-v2,div.longform-content .snowflake-title-v2 .heading-3-v2{font-size:22px !important}div.longform-content .snowflake-text h4,div.longform-content .snowflake-text .heading-4-v2,div.longform-content .snowflake-title-v2 .heading-4-v2{font-size:18px !important}div.longform-content .snowflake-text h5,div.longform-content .snowflake-text .heading-5-v2,div.longform-content .snowflake-title-v2 .heading-5-v2{font-size:16px !important}div.longform-content .snowflake-text h6,div.longform-content .snowflake-text .heading-6-v2,div.longform-content .snowflake-title-v2 .heading-6-v2{font-size:14px !important}@media screen and (min-width:992px){div.longform-content .snowflake-text h2,div.longform-content .snowflake-text .heading-2-v2,div.longform-content .snowflake-title-v2 .heading-2-v2{font-size:38px !important}div.longform-content .snowflake-text h3,div.longform-content .snowflake-text .heading-3-v2,div.longform-content .snowflake-title-v2 .heading-3-v2{font-size:26px !important}div.longform-content .snowflake-text h4,div.longform-content .snowflake-text .heading-4-v2,div.longform-content .snowflake-title-v2 .heading-4-v2{font-size:22px !important}div.longform-content .snowflake-text h5,div.longform-content .snowflake-text .heading-5-v2,div.longform-content .snowflake-title-v2 .heading-5-v2{font-size:18px !important}div.longform-content .snowflake-text h6,div.longform-content .snowflake-text .heading-6-v2,div.longform-content .snowflake-title-v2 .heading-6-v2{font-size:16px !important}}.sticky-sidebar .page-toc li.is-active{font-weight:600;color:var(--snow-blue,#29b5e8)}.sticky-sidebar .page-toc li[data-anchor]{cursor:pointer}.longform-content table{margin-top:24px;margin-bottom:24px;width:100%;background-color:var(--ui-background-01);border-collapse:collapse;border:2px solid var(--ui-background-09);font-family:'Lato',sans-serif;color:var(--ui-background-09)}.longform-content table thead{background-color:var(--ui-01)}.longform-content th,.longform-content td{min-width:120px;border:2px solid var(--ui-background-09);padding:var(--spacing-01)}.longform-content ol{margin-top:0 !important}.longform-content ol li{margin-bottom:1rem !important}.longform-content ul li{margin:0;padding:0 0 0 32px;position:relative}.longform-content ul{list-style-type:none}.longform-content ul li::before{content:\"\";display:block;border-radius:100%;background:#29b5e8;width:18px;height:18px;position:absolute;top:4px;left:0;border:5px solid #e5f2f7;box-sizing:border-box}.seo-customer.snowflake-card-v2-advanced-horizontal .snowflake-card-v2-advanced-image-container{max-width:200px}.seo-customer.snowflake-card-v2-advanced-horizontal .snowflake-card-v2-advanced-image-container img{object-fit:contain}.related-topics-outer-container \u003E .container \u003E .cmp-container \u003E .aem-container{display:flex;flex-direction:row}.related-topics-outer-container \u003E .container \u003E .cmp-container \u003E .aem-container \u003E div{width:auto !important;margin:0 !important}.related-topics-outer-container \u003E .container \u003E .cmp-container \u003E .aem-container \u003E div:first-child{margin-right:16px !important;flex-shrink:0}","jsContent":"(function(){var OFFSET=100;if(window.gsap&&window.ScrollTrigger){gsap.registerPlugin(ScrollTrigger);var sidebar=document.querySelector('.sticky-sidebar');var body=document.querySelector('.longform-content');if(sidebar&&body){ScrollTrigger.create({trigger:sidebar,start:'top 100px',endTrigger:body,end:'bottom bottom',pin:sidebar,pinSpacing:false});}}document.addEventListener('click',function(e){var li=e.target.closest('li[data-anchor]');if(!li)return;var slug=li.getAttribute('data-anchor');var heading=document.querySelector('.anchor-title--'+CSS.escape(slug));if(!heading)return;e.preventDefault();var top=heading.getBoundingClientRect().top+window.pageYOffset-OFFSET;window.scrollTo({top:top,behavior:'smooth'});history.replaceState(null,'','#'+slug);},false);var headings=document.querySelectorAll('[class*=\"anchor-title--\"]');if(headings.length&&'IntersectionObserver'in window){var io=new IntersectionObserver(function(entries){entries.forEach(function(entry){if(!entry.isIntersecting)return;var cls=Array.from(entry.target.classList).find(function(c){return c.indexOf('anchor-title--')===0;});if(!cls)return;var slug=cls.replace('anchor-title--','');document.querySelectorAll('li[data-anchor]').forEach(function(li){li.classList.toggle('is-active',li.getAttribute('data-anchor')===slug);});});},{rootMargin:'-20% 0px -70% 0px',threshold:0});headings.forEach(function(h){io.observe(h);});}})();","isGSAPEnabled":true,":type":"snowflake-site/components/markup-editor"},"experiencefragment-footer":{"id":"experiencefragment-d8556a3a07","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/footer/master/jcr:content","configured":true,"xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/footer/master.xfmodel.json",":type":"snowflake-site/components/experiencefragment"},"experiencefragment":{"id":"experiencefragment-d25e9ec096","localizedFragmentVariationPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/footer-legal-disclaimers/master/jcr:content","configured":true,"xfModelPath":"/content/experience-fragments/snowflake-site/language-masters/en/site/footer-legal-disclaimers/master.xfmodel.json",":type":"snowflake-site/components/experiencefragment"}},":itemsOrder":["experiencefragment-banner","experiencefragment-header","responsivegrid","modal_container","markup_editor_928258845","markup_editor_597730182","markup_editor","experiencefragment-footer","experiencefragment"],":type":"wcm/foundation/components/responsivegrid"}},":itemsOrder":["root"],"locale":"en"}
  