Le Model Context Protocol (MCP) établit un canal de communication entre les grands modèles de langage (LLM) et des outils externes. Cette rubrique explique comment configurer le MCP de Data Management (DMS) pour accéder en toute sécurité aux bases de données hébergées dans DMS à l'aide d'un serveur MCP compatible multicloud.
Informations générales
Les implémentations traditionnelles de MCP pour bases de données présentent les limites suivantes :
Compatibilité limitée avec les bases de données hétérogènes : les implémentations classiques ne prennent en charge que la connexion et l'exploitation de bases de données du même type, ce qui rend impossible une gestion unifiée multiplateforme.
Absence de gestion des comptes et des autorisations : elles ne disposent pas de fonctionnalité centralisée pour gérer indépendamment les identifiants et s'appuient sur une maintenance manuelle, source de risques de sécurité.
Opérations SQL limitées : seules les instructions SQL standard de base, saisies manuellement, sont prises en charge ; la syntaxe complexe ou non standard ne peut pas être analysée.
Aucune prise en charge native du NL2SQL : ces solutions ne permettent pas d'interroger les données en langage naturel (NL2SQL) et nécessitent l'intégration d'un LLM externe pour utiliser cette fonctionnalité.
DMS MCP résout ces problèmes en offrant aux LLM des capacités unifiées d'ingestion et d'accès aux données via des interfaces standardisées, levant ainsi les obstacles liés à la compatibilité et à la sécurité. De plus, DMS MCP débloque de nouvelles fonctionnalités, telles que la récupération des informations de schéma, la génération de code Data Access Object (DAO), l'analyse structurelle et le routage automatique des requêtes SQL pour récupérer avec précision les données destinées aux applications de niveau supérieur.
Fonctionnalités principales de DMS MCP
-
Accès sécurisé
Hébergement sécurisé des identifiants : DMS gère de manière sécurisée les noms d'utilisateur et les mots de passe des bases de données. Cela élimine la nécessité d'une manipulation manuelle et prévient les fuites d'informations sensibles.
Accès par réseau privé : accédez aux bases de données via un réseau privé sans exposer de points de terminaison publics, garantissant ainsi la sécurité et la confidentialité des données.
Contrôle d'accès granulaire : appliquez des autorisations précises au niveau de l'instance, de la base de données, de la table, de la colonne et de la ligne afin de prévenir les opérations non autorisées et de protéger les données.
Détection et blocage des instructions SQL à haut risque : des règles de sécurité intégrées identifient et bloquent en temps réel les instructions SQL potentiellement dangereuses pour atténuer les risques de sécurité.
Audit et traçabilité des requêtes SQL : toutes les opérations SQL sont journalisées pour assurer une traçabilité complète et un audit de conformité répondant aux exigences réglementaires.
-
Interrogation intelligente
Algorithme NL2SQL intégré : cette fonctionnalité convertit les questions en langage naturel en requêtes SQL en faisant correspondre intelligemment les tables pertinentes et en comprenant leur contexte métier. La requête est ensuite exécutée pour renvoyer rapidement les résultats.
Base de connaissances personnalisable : cette fonctionnalité inclut des métadonnées intégrées et une base de connaissances dédiée aux requêtes. Personnalisez les connaissances métier et les modèles de requête afin de créer une capacité d'interrogation intelligente adaptée à vos scénarios spécifiques.
-
Prise en charge de multiples sources de données
Gestion unifiée de sources de données diverses : DMS MCP prend en charge plus de 40 bases de données et entrepôts de données grand public, permettant un accès unifié à plusieurs types de données.
Gestion centralisée multi-environnements : gérez les sources de données des environnements de développement, de test et de production depuis une interface unique, améliorant ainsi l'efficacité des opérations et de la maintenance (O&M).
Intégration transparente avec les principales plateformes cloud, telles qu'Alibaba Cloud et AWS, ainsi qu'avec les bases de données et entrepôts de données auto-gérés, réduisant efficacement les coûts de maintenance.
Diagramme du flux de travail
Le diagramme suivant illustre le flux d'accès aux données lorsqu'un client envoie une requête.
Scénarios
Scénario 1 : Générer du code DAO (Data Access Object) avec des IDE alimentés par l'IA, tels que Tongyi Lingma
La comparaison suivante oppose les flux de travail de développement traditionnels au développement intelligent avec DMS MCP.
Flux de travail traditionnel : exécutez manuellement les instructions SQL de création de table à l'aide d'un outil de base de données, rédigez le code DAO dans un environnement de développement intégré (IDE), générez les données avec un outil de base de données, puis prévisualisez les données.
Flux de développement intelligent : concevez les tables dans un IDE alimenté par l'IA, laissez DMS MCP exécuter automatiquement les instructions SQL de création de table, générez automatiquement le code DAO dans l'IDE, utilisez MCP pour générer intelligemment les données, puis prévisualisez les résultats.
Scénario 2 : Obtenir directement des statistiques de données avec DMS NL2SQL
Les analystes marketing peuvent utiliser DMS NL2SQL pour obtenir des résultats statistiques en langage naturel, facilitant ainsi l'analyse des tendances des données.
Tarification
DMS MCP est actuellement en aperçu public et disponible gratuitement.
Si vous souhaitez obtenir plus d'informations sur cette solution, remplissez le formulaire pour fournir vos coordonnées ou rejoignez le groupe DingTalk (ID : 129600002740) pour contacter le support technique DMS.
Prérequis
Avant d'utiliser DMS MCP pour accéder aux bases de données hébergées dans DMS, vous devez enregistrer vos instances de base de données dans DMS et activer l'hébergement de sécurité pour chaque instance. Vous pouvez enregistrer les instances à l'aide de l'une des méthodes suivantes :
Méthode 1 : Enregistrer les instances de base de données Alibaba Cloud à l'aide de l'outil DMS MCP
Cette méthode prend uniquement en charge les instances de base de données Alibaba Cloud.
L'hébergement de sécurité est activé par défaut pour les instances enregistrées à l'aide de cet outil.
Le serveur DMS MCP fournit un outil addInstance pour vous aider à enregistrer rapidement des instances dans DMS. Dans votre agent intégré à MCP (une application conversationnelle basée sur l'IA), demandez au LLM d'enregistrer une instance en fournissant ses détails, tels que l'ID d'instance, le nom d'utilisateur de la base de données, le mot de passe et la région. Le LLM invoque alors automatiquement l'outil approprié.
Méthode 2 : Enregistrer les instances de base de données Alibaba Cloud, d'autres clouds ou auto-gérées via la console DMS
Cette méthode prend en charge les instances de base de données Alibaba Cloud, les instances hébergées sur d'autres clouds et les instances auto-gérées. Les étapes suivantes utilisent une base de données ApsaraDB RDS for MySQL d'Alibaba Cloud comme exemple.
Connectez-vous à DMS 5.0.
-
Sur la page d'accueil de la console, dans la section Database Instances située à gauche, cliquez sur l'icône Ajouter une instance
.RemarqueVous pouvez également choisir dans la barre de navigation supérieure, puis cliquez sur New.
-
Sur la page Add Instance, saisissez les informations relatives à l'instance.
Catégorie
Élément de configuration
Description
Data source
-
La valeur par défaut est Alibaba Cloud - MySQL. Vous pouvez modifier le type de base de données.
Basic information
Database type
Sélectionnez le type d'instance de base de données.
RemarqueAprès avoir sélectionné un type de base de données, DMS actualise automatiquement les éléments de configuration de la page Basic Information.
Instance region
Sélectionnez la région où réside l'instance de base de données.
Other primary accounts
Ce champ n'apparaît que si vous sélectionnez Cross Alibaba Cloud Account Instance. Sélectionnez le compte racine propriétaire de l'instance de base de données.
RemarqueSi le compte racine n'apparaît pas dans la liste, cliquez sur Add User pour ajouter le compte racine de l'acheteur. Pour plus de détails, consultez Ajouter un utilisateur.
Registration method
Sélectionnez la méthode d'enregistrement de l'instance de base de données. Les options sont Instance ID ou Connection string.
Instance ID ou Connection string
Saisissez l'Instance ID ou la Connection string.
RemarqueUne chaîne de connexion se compose d'un point de terminaison privé et d'un port. Pour RDS MySQL, le format est rm-XXXXXXX.mysql.rds.aliyuncs.com:3306.
Security Hosting
Conservez cette option activée.
L'activation de l'hébergement de sécurité empêche l'exposition directe des identifiants et permet un contrôle granulaire des autorisations.
Access method
Les méthodes d'accès suivantes sont disponibles :
-
Username and password logon : saisissez manuellement un nom d'utilisateur et un mot de passe de base de données existants.
-
KMS credential logon : sélectionnez manuellement un identifiant RDS créé dans KMS pour l'accès à la base de données.
RemarqueCette option n'apparaît que lors de l'enregistrement d'instances RDS.
Value-added feature package
Sélectionnez les packs de fonctionnalités selon vos besoins.
-
Security Collaboration ou Stable Change (choisissez l'un des deux) : Security Collaboration inclut toutes les capacités de Stable Change et ajoute des fonctionnalités DevOps pour personnaliser les flux de travail de développement et d'approbation. Stable Change fournit des solutions pour des opérations de base de données stables, telles que les modifications sans verrouillage et la révision SQL.
RemarqueSi vous ne sélectionnez ni Security Collaboration ni Stable Change, l'instance utilise par défaut la gestion flexible.
-
Sensitive Data Protection : cette fonctionnalité contrôle et masque les données sensibles. Activez-la en fonction de vos besoins métier. Pour plus de détails, consultez Activer Sensitive Data Protection.
Security rules
Ce champ n'apparaît que si vous sélectionnez Security Collaboration.
Vous pouvez choisir les règles de sécurité par défaut du système ou des règles de sécurité personnalisées pour un contrôle granulaire de la base de données.
Classification and grading template
Ce champ n'apparaît que lorsque Sensitive Data Protection est activé. Pour plus de détails, consultez Modèle de classification et de hiérarchisation.
Advanced information
-
Vous pouvez conserver les valeurs par défaut des paramètres de cette section. Pour plus de détails, consultez Enregistrer des instances ApsaraDB.
-
-
Après avoir configuré les paramètres, cliquez sur Test Connection en bas à gauche.
RemarqueSi le test de connexion échoue, vérifiez les informations de l'instance en vous basant sur le message d'erreur.
-
Une fois le message Connection successful affiché, cliquez sur Submit.
L'instance de base de données est enregistrée avec succès dans DMS.
Pour plus d'informations sur les procédures d'enregistrement, consultez Enregistrer des instances ApsaraDB et Enregistrer des instances de base de données d'autres clouds ou auto-gérées.
Modes d'utilisation
Le serveur DMS MCP prend en charge deux modes d'utilisation.
|
Mode |
Scénario applicable |
|
Mode 1 : Mode multi-instances |
Utilisez ce mode pour gérer et accéder à plusieurs instances de base de données réparties dans différents environnements. Enregistrez toutes les instances dans DMS et gérez-les via le serveur DMS MCP. |
|
Mode 2 : Mode base de données unique |
Utilisez ce mode lorsque vous accédez à une seule base de données. Configurez le paramètre CONNECTION_STRING dans le serveur pour spécifier la base de données cible. Au démarrage du service, le serveur DMS MCP accède directement à la base de données spécifiée. Format : Dans la console DMS, localisez la base de données dans la liste à gauche, double-cliquez sur son nom et utilisez la fenêtre SQL pour obtenir rapidement la valeur Après avoir ouvert la fenêtre SQL, consultez la valeur dans la barre d'informations de connexion en haut, par exemple : |
Démarrage rapide
Option 1 : Exécuter à l'aide d'un package PyPI
-
Obtenez un AccessKey ou un jeton Security Token Service (STS) disposant des autorisations AliyunDMSFullAccess pour Data Management (DMS).
Pour plus d'informations sur l'ajout d'autorisations, consultez Gestion des autorisations.
-
Ajoutez la configuration suivante au fichier de configuration de votre client MCP.
-
Mode multi-instances
{ "mcpServers": { "dms-mcp-server": { "command": "uvx", "args": [ "alibabacloud-dms-mcp-server@latest" ], "env": { "ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id", "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key", "ALIBABA_CLOUD_SECURITY_TOKEN": "sts_security_token optional, required when using STS Token" } } } } -
Mode base de données unique
{ "mcpServers": { "dms-mcp-server": { "command": "uvx", "args": [ "alibabacloud-dms-mcp-server@latest" ], "env": { "ALIBABA_CLOUD_ACCESS_KEY_ID": "access_id", "ALIBABA_CLOUD_ACCESS_KEY_SECRET": "access_key", "ALIBABA_CLOUD_SECURITY_TOKEN": "optional sts_security_token, required when using STS Token", "CONNECTION_STRING": "dbName@host:port" } } } }
-
Option 2 : Utiliser le service MCP hébergé dans DMS
Connectez-vous à DMS 5.0.
-
Activez le service MCP.
-
Dans le coin inférieur droit, placez le pointeur de la souris sur l'icône MCP
et cliquez sur Activate Now dans la boîte de dialogue qui s'affiche.La boîte de dialogue DMS MCP présente quatre fonctionnalités principales : Credential Security (hébergement intégré des identifiants), Secure Execution (accès par réseau privé et autorisations granulaires), Unified Compatibility (prise en charge de plus de 40 sources de données grand public) et Intelligent Querying (NL2SQL intégré). La boîte de dialogue propose également des liens rapides vers la documentation produit et les vidéos de démonstration.
-
Sélectionnez l'étendue d'activation du service MCP.
All databases : toutes les instances de base de données que vous avez enregistrées en suivant les étapes de la section Prérequis.
-
Specific database : l'une des instances de base de données que vous avez enregistrées en suivant les étapes de la section Prérequis.
RemarqueSi vous sélectionnez Specific database, vous devez également sélectionner une base de données cible.
Cliquez sur Confirm Activation.
-
-
Une fois le service activé, consultez les informations de configuration MCP.
RemarquePlacez le pointeur de la souris sur l'icône MCP
dans le coin inférieur droit pour afficher la configuration MCP dans la boîte de dialogue qui s'affiche. -
Intégrez le service DMS MCP à votre agent IA et commencez à l'utiliser.
RemarqueLorsque vous utilisez le service DMS MCP, vous devez définir le jeton Bearer dans l'en-tête Authorization en vous basant sur la valeur du champ Authorization dans l'MCP configuration example décrit à l'étape Étape 3.
Pour modifier l'étendue de base de données du serveur MCP, vous pouvez d'abord annuler le serveur MCP. Pour ce faire, placez le pointeur de la souris sur l'icône MCP
, cliquez sur Cancel Service, puis cliquez sur Confirm Cancellation dans la boîte de dialogue qui s'affiche. Une fois le service annulé, vous pouvez activer à nouveau le serveur MCP.
Option 3 : Utiliser le service DMS MCP hébergé sur d'autres plateformes
Vous pouvez utiliser le service DMS MCP sur Alibaba Cloud Model Studio, ModelScope et Function AI.
Outils pris en charge par DMS MCP
|
Nom de l'outil |
Description |
Mode pris en charge |
|
|
Enregistre une instance dans DMS. Si l'instance existe déjà, renvoie ses informations. |
Mode multi-instances |
|
|
Recherche une liste d'instances dans DMS. |
Mode multi-instances |
|
|
Obtient les informations détaillées d'une instance par hôte et port. |
Mode multi-instances |
|
|
Recherche des bases de données par schemaName. |
Mode multi-instances |
|
|
Obtient les informations détaillées d'une base de données spécifique. |
Mode multi-instances |
|
|
Recherche des tables dans une base de données spécifiée. |
Mode multi-instances et mode base de données unique |
|
|
Obtient les informations détaillées d'une table de base de données spécifique. |
Mode multi-instances et mode base de données unique |
|
|
Exécute un script SQL et renvoie le résultat. |
Mode multi-instances et mode base de données unique |
|
|
Crée un ticket de modification de données pour soumettre des demandes d'opérations DDL/DML. |
Mode multi-instances et mode base de données unique |
|
|
Interroge les détails du ticket, y compris l'état, le flux d'approbation et les journaux d'exécution. |
Mode multi-instances et mode base de données unique |
|
|
Soumet un ticket au flux d'approbation pour examen avant exécution. |
Mode multi-instances et mode base de données unique |
|
|
Convertit les questions en langage naturel en instructions SQL exécutables. |
Mode multi-instances |
|
|
Interroge les bases de données en langage naturel (NL2SQL + exécution SQL). |
Mode base de données unique |
|
|
Corrige automatiquement les instructions SQL comportant des erreurs de syntaxe ou de logique. |
Mode multi-instances et mode base de données unique |
|
|
Fournit des explications et des suggestions concernant les problèmes de syntaxe SQL. |
Mode multi-instances et mode base de données unique |
|
|
Analyse et optimise les instructions SQL pour améliorer l'efficacité d'exécution. |
Mode multi-instances et mode base de données unique |