CREATE MCP SERVER¶
Crée un nouveau serveur MCP (Model Context Protocol) ou remplace un serveur MCP existant.
- Voir aussi :
Syntaxe¶
Paramètres¶
nameChaîne qui indique l’identificateur du serveur MCP ; doit être unique pour le schéma dans lequel le serveur MCP est créé.
De plus, l’identificateur doit commencer par un caractère alphabétique et ne peut pas contenir d’espaces ou de caractères spéciaux à moins que toute la chaîne d’identificateur soit délimitée par des guillemets doubles (par exemple,
"My object"). Les identificateurs entre guillemets doubles sont également sensibles à la casse.Pour plus d’informations, voir Exigences relatives à l’identificateur.
FROM SPECIFICATION $$specification_yaml$$Spécifie la spécification YAML définissant les outils et la configuration du serveur MCP.
La spécification doit inclure un tableau
toolsavec une ou plusieurs définitions d’outils. Chaque outil doit spécifier :name: identificateur unique de l’outil.type: type d’outil (voir les types d’outils pris en charge)title: titre lisible par un humain pour l’outildescription: description de l’action de l’outil
Types d’outils pris en charge :
CORTEX_SEARCH_SERVICE_QUERY: outil Cortex Search ServiceCORTEX_ANALYST_MESSAGE: outil Cortex AnalystSYSTEM_EXECUTE_SQL: outil d’exécution SQLCORTEX_AGENT_RUN: outil Cortex AgentGENERIC: Custom tool for UDFs and stored procedures
Exigences spécifiques à l’outil :
Pour
CORTEX_SEARCH_SERVICE_QUERY,CORTEX_ANALYST_MESSAGEet les outils``CORTEX_AGENT_RUN`` :identifier: nom complet de l’objet sous-jacent (par exemple,database.schema.object_name)
For
GENERICtools:identifier: nom complet de l’UDF ou de la procédure stockéeconfig: objet de configuration spécifiant :type:function(pour l’UDF) ouprocedure(pour la procédure stockée)warehouse: entrepôt à utiliser pour l’exécutioninput_schema: JSON schéma définissant les paramètres de la fonction/procédure
Exigences en matière de contrôle d’accès¶
Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :
Privilège |
Objet |
|---|---|
CREATE MCP SERVER |
Schéma |
USAGE |
Schéma |
Pour les outils qui font référence à d’autres objets, des privilèges supplémentaires sont requis :
Privilège |
Objet |
|---|---|
USAGE |
Cortex Search Service (pour les outils CORTEX_SEARCH_SERVICE_QUERY) |
SELECT |
vue sémantique (pour les outils CORTEX_ANALYST_MESSAGE) |
USAGE |
Cortex Agent (pour les outils CORTEX_AGENT_RUN) |
USAGE |
User-defined function or stored procedure (for GENERIC tools) |
USAGE |
Warehouse (for GENERIC tools) |
Pour effectuer une opération sur un objet dans un schéma, il est nécessaire de disposer d’au moins un privilège sur la base de données parente et d’au moins un privilège sur le schéma parent.
Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.
Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.
Notes sur l’utilisation¶
Les clauses OR REPLACE et IF NOT EXISTS s’excluent mutuellement. Elles ne peuvent pas être utilisées dans la même instruction.
Les instructions CREATE OR REPLACE <objet> sont atomiques. En d’autres termes, lorsqu’un objet est remplacé, l’ancien objet est supprimé et le nouvel objet est créé dans une seule transaction.
Les instructions CREATE OR REPLACE <objet> sont atomiques. En d’autres termes, lorsqu’un objet est remplacé, l’ancien objet est supprimé et le nouvel objet est créé dans une seule transaction.
Lorsque vous configurez des noms d’hôte pour les connexions au serveur MCP, utilisez des traits d’union (
-) au lieu de traits de soulignement (_). Les serveurs MCP rencontrent des problèmes de connexion avec les noms d’hôtes contenant des traits de soulignement.La spécification du serveur MCP est stockée en tant que métadonnées et peut être vue à l’aide de DESCRIBE MCP SERVER.
Plusieurs outils peuvent être définis dans une seule spécification de serveur MCP.
Les noms d’outil doivent être uniques au sein d’un même serveur MCP.
Concernant les métadonnées :
Attention
Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.
Exemples¶
Exemple 1 : créer un serveur MCP avec les outils Cortex Search et Analyst
Exemple 2 : créer un serveur MCP avec un outil d’exécution SQL
Exemple 3 : créer un serveur MCP avec un outil UDF personnalisé**
Exemple 4 : créer un serveur MCP avec un outil de procédure stockée personnalisé
Exemple 5 : créer un serveur MCP avec l’outil Agent