Servidor MCP gerenciado pelo Snowflake¶
Visão geral¶
Nota
Snowflake oferece suporte à revisão do protocolo de contexto do modelo 2025-06-18.
Protocolo de contexto do modelo (MCP), é um padrão de código aberto que permite que os agentes de AI interajam de forma segura com aplicativos comerciais e sistemas de dados externos, como bancos de dados e repositórios de conteúdo. o MCP permite que as empresas reduzam os desafios de integração e forneçam resultados rapidamente a partir de modelos. Desde seu lançamento, o MCP tornou-se fundamental para aplicativos de agente, fornecendo um mecanismo consistente e seguro para invocar ferramentas e recuperar dados.
O servidor MCP gerenciado pelo Snowflake permite que os agentes de AI recuperam com segurança os dados de contas Snowflake sem precisar implementar uma infraestrutura separada. Você pode configurar o servidor MCP para fornecer o Cortex Analyst, o Cortex Search e os Cortex Agents como ferramentas, junto com as ferramentas personalizadas e as execuções SQL na interface baseada em padrões. Os clientes MCP descobrem e invocam essas ferramentas, além de recuperar os dados necessários para o aplicativo. Com servidores MCP gerenciados no Snowflake, você pode criar aplicativos escaláveis de nível empresarial, mantendo controles de acesso e privacidade. O servidor MCP no Snowflake fornece:
Integração padronizada: interface unificada para descoberta e invocação de ferramentas, em conformidade com os padrões em rápida evolução.
Autenticação abrangente: serviço OAuth integrado do Snowflake para permitir a autenticação baseada em OAuth para integrações MCP.
Governança robusta: controle de acesso baseado em função (RBAC) para servidor MCP e ferramentas para gerenciar a descoberta e a invocação de ferramentas.
Para obter mais informações sobre o ciclo de vida do MCP, consulte Ciclo de vida. Para um exemplo de uma implementação do MCP, consulte o guia de início rápido Introdução ao servidor MCP gerenciado pelo Snowflake.
Recomendações de segurança para o servidor MCP¶
Importante
Quando você configurar nomes de host para conexões de servidor MCP, use hifens (-) em vez de sublinhados (_). Os servidores MCP apresentam problemas de conexão com nomes de host que têm sublinhados.
O uso de vários servidores MCP sem verificação das ferramentas e descrições pode levar a vulnerabilidades, como envenenamento ou sombreamento de ferramenta. A Snowflake recomenda verificar os servidores MCP de terceiros antes de usá-los. Isso inclui o servidor MCP de outro usuário ou conta Snowflake. Verifique todas as ferramentas oferecidas pelos servidores MCP de terceiros.
Recomendamos usar OAuth como método de autenticação. O uso de tokens codificados pode levar a vazamento de tokens.
Ao usar um token de acesso programático (PAT), configure-o para usar a função menos privilegiada permitida para trabalhar com o MCP. Isso ajuda a impedir o vazamento de um segredo com acesso a uma função altamente privilegiada.
Configure as permissões adequadas para o servidor MCP e as ferramentas seguindo o princípio de privilégio mínimo. O acesso ao servidor MCP não dá acesso às ferramentas. A permissão precisa ser concedida para cada ferramenta.
Criar uma objeto do servidor MCP¶
Crie um objeto especificando as ferramentas e outros metadados. Os clientes MCP que se conectam ao servidor, após a autenticação necessária, podem descobrir e invocar essas ferramentas.
Navegue até o banco de dados e esquema desejados para criar o servidor MCP.
Criar o servidor MCP:
Atualmente, o Snowflake oferece suporte aos seguintes tipos de ferramentas:
CORTEX_SEARCH_SERVICE_QUERY: ferramenta Cortex Search Service
CORTEX_ANALYST_MESSAGE: ferramenta Cortex Analyst
SYSTEM_EXECUTE_SQL: execução SQL
CORTEX_AGENT_RUN: ferramenta Cortex Agent
GENERIC: ferramenta para UDFs e procedimentos armazenados
Os exemplos a seguir mostram como configurar diferentes tipos de ferramentas:
Usando a ferramenta Analyst, seu cliente pode gerar SQL de texto em linguagem natural. Use o código a seguir para especificar a configuração da ferramenta.
Nota
O servidor MCP gerenciado pelo Snowflake oferece suporte apenas ao uso de exibições semânticas com o Cortex Analyst. Ele não oferece suporte a modelos semânticos.
Usando as solicitações da ferramenta de pesquisa, seu cliente pode realizar uma pesquisa não estruturada nos dados.
Para a ferramenta de execução SQL, seu cliente pode executar consultas SQL no Snowflake. Use o código a seguir para especificar a configuração da ferramenta.
Para a ferramenta Agent, seu cliente passa uma mensagem ao agente. O agente processa a solicitação e retorna uma resposta. Use o código a seguir para especificar a configuração da ferramenta.
Para suas ferramentas personalizadas, é necessário fornecer a função definida pelo usuário (User-Defined Function, UDF) ou a assinatura do procedimento armazenado na configuração da ferramenta. A ferramenta personalizada permite que você invoque UDFs e procedimentos armazenados como ferramentas pelo servidor MCP.
Você precisa especificar o seguinte na configuração da ferramenta:
type:functionpara UDF,procedurepara procedimento armazenado
Warehouse. Se você não especificar um warehouse, o warehouse padrão será usado.
Input schema: corresponde à assinatura da função
Use os seguintes exemplos para criar e configurar ferramentas personalizadas usando UDFs e procedimentos armazenados:
Os exemplos a seguir demonstram a criação de UDFs que podem ser usadas como ferramentas personalizadas:
Os exemplos a seguir demonstram a criação de procedimentos armazenados que podem ser usados como ferramentas personalizadas:
Os exemplos a seguir demonstram a configuração de ferramentas personalizadas para UDFs e procedimentos armazenados:
Para mostrar servidores MCP, use os seguintes comandos:
O seguinte exemplo mostra a saída do comando:
Para descrever um servidor MCP, use o seguinte comando:
O seguinte exemplo mostra a saída do comando:
Para descartar um servidor MCP, use o seguinte comando:
Controle de acesso¶
Você pode usar os privilégios a seguir para gerenciar o acesso ao servidor MCP e as ferramentas subjacentes.
Privilégio |
Objeto |
Descrição |
|---|---|---|
CREATE |
MCP SERVER |
Necessário para criar o servidor MCP |
OWNERSHIP |
MCP SERVER |
Necessário para atualizar a configuração do objeto |
MODIFY |
MCP SERVER |
Fornece atualizar, descartar, descrever, mostrar e usar ( |
USAGE |
MCP SERVER |
Necessário para conectar-se ao servidor MCP e ferramentas de descoberta |
USAGE |
Cortex Search Service |
Necessário para invocar a ferramenta Cortex Search no servidor MCP |
SELECT |
Exibição semântica |
Necessário para invocar a ferramenta Cortex Analyst no servidor MCP |
USAGE |
Cortex Agent |
Necessário para invocar o Cortex Agent como ferramenta no servidor MCP |
USAGE |
Função definida pelo usuário (UDF) ou procedimento armazenado |
Necessário para invocar a UDF ou o procedimento armazenado como ferramenta no servidor MCP |
Configurar a autenticação OAuth¶
Configure a autenticação no cliente MCP. O servidor MCP gerenciado pelo Snowflake oferece suporte ao OAuth 2.0, alinhado com a recomendação de autorização no protocolo MCP. O servidor MCP gerenciado pelo Snowflake não oferece suporte ao registro dinâmico de clientes.
Primeiro, crie a integração de segurança. Para mais informações sobre esse comando, consulte CREATE SECURITY INTEGRATION (Snowflake OAuth).
Em seguida, chame a função de sistema para recuperar seu ID de cliente e chaves para configuração do cliente. O nome da integração diferencia maiúsculas de minúsculas e deve estar em maiúsculas.
Interagir com o servidor MCP usando um cliente MCP personalizado¶
Se você está criando um cliente MCP personalizado, deve usar o ponto de extremidade de URL com o seguinte formato:
Para obter informações sobre a formatação do URL da sua conta, consulte Identificadores de conta.
Para obter informações sobre como interagir com o servidor MCP, consulte Criar um cliente MCP.
Nota
Atualmente, o servidor MCP do Snowflake oferece suporte apenas aos recursos da ferramenta.
Descobrir e invocar ferramentas¶
Os clientes MCP podem descobrir e invocar ferramentas com as solicitações tools/list e tools/call.
Para descobrir ou invocar ferramentas, emita uma chamada POST como mostrado na solicitação de ferramentas/lista:
Para a ferramenta Analyst, seu cliente passa mensagens na solicitação. A instrução SQL é listada na saída. Você deve passar o nome da ferramenta que está invocando na solicitação como o parâmetro name.
O exemplo a seguir mostra a resposta:
Para solicitações de ferramentas de pesquisa, seu cliente pode passar a consulta e os seguintes argumentos opcionais:
columns
limit
Os resultados da pesquisa e o ID da solicitação são retornados na saída. Você deve passar o nome da ferramenta que está invocando como o parâmetro name na solicitação.
O exemplo a seguir mostra a resposta:
Limitações¶
O servidor MCP gerenciado pelo Snowflake não oferece suporte aos seguintes constructos no protocolo MCP: recursos, prompts, raízes, notificações, negociações de versão, fases do ciclo de vida e amostragem.
Somente respostas sem streaming são compatíveis.