L'ancien DMS MCP (alibabacloud-dms-mcp-server) a évolué vers Agent Data Gateway MCP et est désormais disponible sur le Marketplace MCP d'Alibaba Cloud Model Studio. Cette nouvelle version modifie l'intégration des sources de données, les noms des outils, les identifiants de ressources et les paramètres d'appel. Cette rubrique décrit la procédure de migration de l'ancien DMS MCP vers Agent Data Gateway MCP.
and published in the Alibaba Cloud Model Studio MCP Marketplace
Informations générales
L'ancien DMS MCP a évolué vers Agent Data Gateway MCP. Le nouveau MCP intègre la découverte des actifs de données, les requêtes d'autorisations, la récupération de connaissances et l'exécution SQL dans des outils MCP standardisés. Toutes les opérations respectent les contraintes existantes en matière d'identité, d'autorisations, de politique de sécurité et d'audit d'Agent Data Gateway.
Par rapport à la version précédente, le nouveau MCP introduit les modifications suivantes. Examinez ces changements avant d'effectuer la mise à niveau :
Enregistrement des sources de données : Synchronisez les sources de données DMS avec Agent Data Gateway avant d'y accéder via le nouveau MCP.
Noms des outils : Les anciens outils tels que
executeScriptetgetDatabasesont remplacés parexec_sqletmeta_database_search.Identifiants de ressources : Les anciens identifiants
db_id,database_idettable_guidsont remplacés parcatalogUuid,databaseUuidetqualifiedName.Authentification : Le jeton d'accès de l'ancien MCP se limitait aux autorisations utilisateur. Le jeton du nouveau MCP est conçu pour les agents et prend en charge un contrôle des autorisations plus granulaire et flexible.
Procédure
Synchroniser les sources de données DMS
Avant d'utiliser le nouveau MCP, synchronisez les sources de données DMS concernées avec Agent Data Gateway. DMS prévoit de synchroniser automatiquement les sources de données existantes pertinentes avec Agent Data Gateway avant le 30 novembre 2026. Pour utiliser le nouveau MCP avant cette date, synchronisez manuellement les sources de données DMS en suivant les étapes ci-dessous :
Connectez-vous à la console Agent Data Gateway.
Dans le volet de navigation de gauche, sélectionnez .
-
Sur la page Connection Management, cliquez sur DMS Instance Sync.
RemarqueVous pouvez également accéder à la page Overview de la console Agent Data Gateway, cliquer sur Get Started, puis sélectionner DMS data source sync dans la section Select Datasource.
Sélectionnez les sources de données à utiliser parmi les instances hébergées dans DMS, puis finalisez la synchronisation. Seules les instances DMS hébergées de manière sécurisée peuvent être synchronisées.
La synchronisation d'une source de données indique uniquement que la ressource est connectée à la passerelle. Cela ne signifie pas que l'agent actuel dispose des autorisations d'exécution SQL. Si une source de données est visible mais que l'exécution renvoie ACCESS_DENIED, vérifiez l'identité de l'agent et les autorisations de l'instance dans la console.
Créer une identité d'agent
Avant de vous connecter au MCP et de l'utiliser, créez une identité d'agent en suivant les étapes ci-dessous :
Connectez-vous à la console Agent Data Gateway.
Dans le volet de navigation de gauche, sélectionnez , puis cliquez sur Create Agent Identity.
-
Dans la boîte de dialogue qui s'affiche, configurez les paramètres d'identité de l'agent suivants, puis cliquez sur Submit :
Paramètre
Description
Name
Saisissez un nom pour l'identité de l'agent.
AccessToken Expiration Time
Définissez la durée de validité du jeton d'accès de l'agent. Une valeur vide indique que le jeton n'expire jamais.
Permission Mode
Sélectionnez le mode d'autorisation de l'identité de l'agent :
-
Permissions Follow User : L'agent hérite des autorisations de l'utilisateur actuel en temps réel.
-
Permission Narrowing Mode : Sélectionnez les autorisations de l'agent selon vos besoins, dans la limite des autorisations de l'utilisateur.
-
Independent permissions : L'agent n'hérite pas des autorisations de l'utilisateur actuel. Après la création de l'identité, l'agent obtient les autorisations d'accès aux données via des demandes d'autorisation.
-
Dans la boîte de dialogue, copiez et conservez en toute sécurité le jeton d'accès généré, puis cliquez sur Close. Le jeton d'accès n'est affiché qu'une seule fois lors de sa création et ne peut plus être consulté après la fermeture de la boîte de dialogue.
Se connecter à Agent Data Gateway MCP
Une fois les sources de données synchronisées, connectez-vous au nouveau MCP en utilisant l'une des méthodes suivantes.
Connexion directe à un endpoint MCP
-
Sélectionnez l'endpoint correspondant à la région de votre jeton d'accès dans le tableau suivant :
Région
Endpoint MCP
Chine (Hangzhou)
https://dgate-mcp-cn-hangzhou.aliyuncs.com/mcp/dgateChine (Shanghai)
https://dgate-mcp-cn-shanghai.aliyuncs.com/mcp/dgateChine (Pékin)
https://dgate-mcp-cn-beijing.aliyuncs.com/mcp/dgateChine (Shenzhen)
https://dgate-mcp-cn-shenzhen.aliyuncs.com/mcp/dgateChine (Zhangjiakou)
https://dgate-mcp-cn-zhangjiakou.aliyuncs.com/mcp/dgateChine (Hong Kong)
https://dgate-mcp-cn-hongkong.aliyuncs.com/mcp/dgateSingapour
https://dgate-mcp-ap-southeast-1.aliyuncs.com/mcp/dgateMalaisie (Kuala Lumpur)
https://dgate-mcp-ap-southeast-3.aliyuncs.com/mcp/dgateJapon (Tokyo)
https://dgate-mcp-ap-northeast-1.aliyuncs.com/mcp/dgate -
Ajoutez le contenu suivant à la configuration de votre client MCP. Remplacez la valeur de
urlpar l'endpoint déterminé à l'étape précédente, et remplacez la valeur deAuthorizationparBearer <ACCESS_TOKEN>, où<ACCESS_TOKEN>correspond au jeton d'accès que vous avez enregistré lors de la création d'une identité d'agent.{ "mcpServers": { "dgate": { "url": "https://dgate-mcp-cn-hangzhou.aliyuncs.com/mcp/dgate", "headers": { "Authorization": "Bearer <ACCESS_TOKEN>" } } } }L'emplacement du fichier de configuration et le point d'entrée de l'interface peuvent varier selon les clients. Toutefois, tant que les paramètres
urletAuthorizationsont correctement configurés, vous pouvez vous connecter au service. Après avoir enregistré la configuration, rechargez le service MCP. Certains clients nécessitent un redémarrage ou la création d'une nouvelle session pour actualiser la liste des outils.
Remplacer les outils MCP
Une fois connecté au nouveau MCP, remplacez les anciens outils MCP dans vos applications par les nouveaux. Le tableau suivant répertorie la correspondance et les descriptions entre les principaux outils de l'ancien DMS MCP et ceux du nouveau MCP.
|
Ancien outil DMS MCP |
Nouvel Agent Data Gateway MCP |
Description |
|
|
|
Remplacez l'ancien paramètre Pour les considérations liées à la mise à niveau de cet outil, consultez la section Considérations pour le remplacement de executeScript. |
|
|
|
La nouvelle version n'interroge plus directement via host + port + schema_name. Recherchez ou listez d'abord les bases de données pour obtenir le |
|
|
|
La nouvelle version désigne l'ancienne instance comme un catalogue. Recherchez et identifiez d'abord de manière unique l'instance cible pour obtenir le |
|
|
|
Obtenez d'abord le |
|
|
|
Remplacez l'ancien paramètre Pour les considérations et exemples liés à la mise à niveau de cet outil, consultez la section Exemple de remplacement de meta_table_list. |
|
|
|
Utilisez |
La chaîne de découverte des ressources dans la nouvelle version est unifiée comme suit :
catalogUuid
→ databaseUuid
→ table qualifiedName
→ columns, indexes, or SQL execution
Les anciens identifiants db_id, database_id et table_guid ne peuvent pas être utilisés directement avec le nouveau MCP. Utilisez les nouveaux outils de métadonnées pour obtenir à nouveau catalogUuid, databaseUuid et qualifiedName.
Mise à niveau de l'agent
Ajoutez le contenu suivant à l'invite système ou à l'invite de mise à niveau de votre agent pour l'aider à migrer en douceur vers le nouveau MCP :
You are using Agent Data Gateway MCP. Follow these call rules:
1. Do not call legacy DMS MCP tools such as executeScript, getDatabase,
getInstance, getTableDetailInfo, listTables, or searchDatabase.
2. The legacy instance is called a catalog in the new version:
Use meta_catalog_search to locate the instance and obtain the catalogUuid;
call meta_catalog_get when you need the details.
3. When you query databases:
- If the catalogUuid is known, call meta_database_list;
- If only the database name is known, call meta_database_search;
- After you obtain the databaseUuid, call meta_database_get for the details.
4. When you query tables, use meta_table_list and save the returned qualifiedName.
To query full table details, call meta_table_columns and
meta_table_indexes separately.
5. When you execute SQL, use exec_sql:
- Pass databaseUuid first;
- Submit only one SQL statement per call;
- Split multiple SQL statements into multiple sequential calls;
- If any statement fails, stop the subsequent calls and report the failure;
- Do not claim that multiple calls have transaction atomicity or are automatically rolled back.
6. When exec_sql returns NEEDS_CONFIRMATION, the user must review it first,
and then retry with the confirm reason; do not skip confirmation by default.
7. List tools use NextToken cursor-based pagination. When hasMore=true,
pass the returned NextToken as-is to get the next page instead of using legacy page-number pagination.
8. A visible data source does not mean that execution permission is granted. When ACCESS_DENIED occurs,
remind the user to check the agent identity and instance authorization, and do not retry the SQL repeatedly.
Annexe
Considérations pour le remplacement de executeScript
Dans les scénarios de bases de données physiques, l'ancien outil executeScript pouvait recevoir plusieurs instructions SQL et les exécuter séquentiellement, mais il ne garantissait pas l'atomicité des transactions pour l'ensemble du script. Dans les scénarios de bases de données logiques, une seule instruction SQL était autorisée. Le nouvel outil exec_sql ne prend actuellement en charge qu'une seule instruction SQL et ne permet pas l'exécution par lot de plusieurs instructions. Respectez les règles suivantes lors de la mise à niveau :
Divisez plusieurs instructions SQL en plusieurs appels
exec_sql.Exécutez les instructions une par une, dans l'ordre du script d'origine.
Si une instruction échoue, arrêtez les appels suivants et signalez l'échec.
Ne prétendez pas que plusieurs appels sont automatiquement annulés (rollback) ou possèdent une atomicité transactionnelle.
Lorsque
NEEDS_CONFIRMATIONest renvoyé, effectuez une révision manuelle, puis réessayez avec la raisonconfirm.L'ancien paramètre
logicne correspond à aucun nouveau paramètre. La ressource cible est exprimée par le nouveau paramètredatabaseUuid. Les bases de données logiques qui ne sont pas encore connectées à la passerelle ne peuvent pas être mises à niveau directement.
Exemple d'appel avec une seule instruction SQL :
{
"name": "exec_sql",
"arguments": {
"databaseUuid": "<database-uuid>",
"statement": "SELECT id, status FROM orders LIMIT 20",
"maxRows": 100,
"waitSeconds": 110
}
}
Exemple de remplacement de meta_table_list
L'ancien outil getTableDetailInfo est remplacé par deux requêtes : meta_table_columns et meta_table_indexes. Obtenez d'abord le qualifiedName de la table en utilisant meta_table_list, puis interrogez séparément les colonnes et les index :
{"name":"meta_table_columns","arguments":{"databaseUuid":"<database-uuid>","tableQualifiedName":"trade.orders"}}
{"name":"meta_table_indexes","arguments":{"databaseUuid":"<database-uuid>","tableQualifiedName":"trade.orders"}}
Les deux résultats constituent ensemble le résultat métier de l'ancien outil getTableDetailInfo.