El antiguo DMS MCP (alibabacloud-dms-mcp-server) se actualizó a Agent Data Gateway MCP y se publicó en el Alibaba Cloud Model Studio MCP Marketplace. El nuevo MCP modifica la incorporación de orígenes de datos, los nombres de las herramientas, los identificadores de recursos y los parámetros de llamada. En este tema se describe cómo actualizar del DMS MCP heredado a Agent Data Gateway MCP.
y se publicó en el Alibaba Cloud Model Studio MCP Marketplace
Contexto
El antiguo DMS MCP se actualizó a Agent Data Gateway MCP. El nuevo MCP empaqueta el descubrimiento de activos de datos, las consultas de permisos, la recuperación de conocimiento y la ejecución de SQL en herramientas MCP estándar. Todas las operaciones respetan las restricciones de identidad, permisos, políticas de seguridad y auditoría existentes de Agent Data Gateway.
En comparación con la versión heredada, el nuevo MCP introduce cambios en los siguientes aspectos. Revise estos cambios antes de actualizar:
Registro de orígenes de datos: sincronice los orígenes de datos de DMS con Agent Data Gateway antes de acceder a ellos mediante el nuevo MCP.
Nombres de herramientas: las herramientas heredadas como
executeScriptygetDatabasese reemplazaron porexec_sqlymeta_database_search.Identificadores de recursos: los identificadores heredados
db_id,database_idytable_guidse reemplazaron porcatalogUuid,databaseUuidyqualifiedName.Autenticación: el token de acceso del MCP heredado solo puede seguir los permisos del usuario. El token del nuevo MCP está diseñado para agentes y admite un control de permisos más detallado y flexible.
Procedimiento
Sincronizar los orígenes de datos de DMS
Antes de usar el nuevo MCP, sincronice los orígenes de datos de DMS correspondientes con Agent Data Gateway. DMS planea sincronizar automáticamente los orígenes de datos existentes con Agent Data Gateway antes del 30 de noviembre de 2026. Para usar el nuevo MCP antes de esa fecha, sincronice manualmente los orígenes de datos de DMS con los siguientes pasos:
Inicie sesión en la consola de Agent Data Gateway.
En el panel de navegación izquierdo, elija .
-
En la página Connection Management, haga clic en DMS Instance Sync.
NotaComo alternativa, en la página Overview de la consola de Agent Data Gateway, haga clic en Get Started y luego en DMS data source sync dentro de la sección Select Datasource.
Seleccione los orígenes de datos que desea usar entre las instancias alojadas en DMS y complete la sincronización. Solo se pueden sincronizar las instancias de DMS alojadas de forma segura.
Sincronizar un origen de datos solo indica que el recurso se conectó al gateway. No significa que el agente actual haya obtenido permisos de ejecución de SQL. Si un origen de datos es visible pero la ejecución devuelve ACCESS_DENIED, compruebe la identidad del agente y los permisos de la instancia en la consola.
Crear una identidad de agente
Antes de conectarse y usar el MCP, cree una identidad de agente con los siguientes pasos:
Inicie sesión en la consola de Agent Data Gateway.
En el panel de navegación izquierdo, elija y luego haga clic en Create Agent Identity.
-
En el cuadro de diálogo que aparece, configure los siguientes parámetros de identidad del agente y haga clic en Submit:
Parámetro
Descripción
Name
Introduzca un nombre para la identidad del agente.
AccessToken Expiration Time
Establezca la hora de caducidad del token de acceso del agente. Un valor vacío indica que el token nunca caduca.
Permission Mode
Seleccione el modo de permisos de la identidad del agente:
-
Permissions Follow User: el agente hereda los permisos del usuario actual en tiempo real.
-
Permission Narrowing Mode: seleccione los permisos del agente según sea necesario dentro del alcance de los permisos del usuario.
-
Independent permissions: el agente no hereda los permisos del usuario actual. Después de crear la identidad, el agente obtiene permisos de datos mediante solicitudes de permiso.
-
En el cuadro de diálogo, copie y guarde de forma segura el token de acceso generado, y luego haga clic en Close. El token de acceso se muestra una sola vez cuando se crea y no se puede volver a consultar después de cerrar el cuadro de diálogo.
Conectarse a Agent Data Gateway MCP
Después de sincronizar los orígenes de datos, conéctese al nuevo MCP con los siguientes métodos.
Conexión directa a un endpoint de MCP
-
Seleccione el endpoint que corresponde a la región de su token de acceso en la siguiente tabla:
Región
Endpoint de MCP
China (Hangzhou)
https://dgate-mcp-cn-hangzhou.aliyuncs.com/mcp/dgateChina (Shanghai)
https://dgate-mcp-cn-shanghai.aliyuncs.com/mcp/dgateChina (Beijing)
https://dgate-mcp-cn-beijing.aliyuncs.com/mcp/dgateChina (Shenzhen)
https://dgate-mcp-cn-shenzhen.aliyuncs.com/mcp/dgateChina (Zhangjiakou)
https://dgate-mcp-cn-zhangjiakou.aliyuncs.com/mcp/dgateChina (Hong Kong)
https://dgate-mcp-cn-hongkong.aliyuncs.com/mcp/dgateSingapore
https://dgate-mcp-ap-southeast-1.aliyuncs.com/mcp/dgateMalaysia (Kuala Lumpur)
https://dgate-mcp-ap-southeast-3.aliyuncs.com/mcp/dgateJapan (Tokyo)
https://dgate-mcp-ap-northeast-1.aliyuncs.com/mcp/dgate -
Agregue el siguiente contenido a la configuración de su cliente MCP. Reemplace el valor de
urlcon el endpoint determinado en el paso anterior, y sustituya el valor deAuthorizationporBearer <ACCESS_TOKEN>, donde<ACCESS_TOKEN>es el token de acceso que guardó cuando Create an agent identity.{ "mcpServers": { "dgate": { "url": "https://dgate-mcp-cn-hangzhou.aliyuncs.com/mcp/dgate", "headers": { "Authorization": "Bearer <ACCESS_TOKEN>" } } } }La ubicación del archivo de configuración y la entrada de la interfaz pueden variar entre clientes. Sin embargo, mientras
urlyAuthorizationestén configurados correctamente, podrá conectarse al servicio. Después de guardar la configuración, vuelva a cargar el servicio MCP. Algunos clientes requieren reiniciar la aplicación o crear una nueva sesión para actualizar la lista de herramientas.
Reemplazar las herramientas de MCP
Una vez conectado al nuevo MCP, reemplace las herramientas heredadas de sus aplicaciones por las nuevas. A continuación se muestra una tabla con la asignación y la descripción de las principales herramientas del DMS MCP heredado frente a las del nuevo MCP.
|
Herramienta heredada de DMS MCP |
Nuevo Agent Data Gateway MCP |
Descripción |
|
|
|
Reemplace el parámetro heredado Para conocer las consideraciones al actualizar esta herramienta, consulte Considerations for replacing executeScript. |
|
|
|
La nueva versión ya no realiza consultas directas mediante host + puerto + schema_name. Primero busque o liste las bases de datos para obtener el |
|
|
|
La nueva versión denomina catálogo a la instancia heredada. Primero busque e identifique de forma única la instancia de destino para obtener el |
|
|
|
Primero obtenga el |
|
|
|
Reemplace el parámetro heredado Para conocer las consideraciones y ejemplos al actualizar esta herramienta, consulte meta_table_list replacement example. |
|
|
|
Use |
La cadena de descubrimiento de recursos de la nueva versión se unificó de la siguiente manera:
catalogUuid
→ databaseUuid
→ table qualifiedName
→ columns, indexes, or SQL execution
Los identificadores heredados db_id, database_id y table_guid no se pueden usar directamente con el nuevo MCP. Utilice las nuevas herramientas de metadatos para obtener nuevamente catalogUuid, databaseUuid y qualifiedName.
Actualizar el agente
Agregue el siguiente contenido al prompt del sistema o al prompt de actualización de su agente para facilitar la transición al nuevo 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.
Apéndice
Consideraciones para reemplazar executeScript
En escenarios de bases de datos físicas, la herramienta heredada executeScript podía recibir varias instrucciones SQL y ejecutarlas en secuencia, aunque sin garantizar la atomicidad transaccional de todo el script. En escenarios de bases de datos lógicas, solo se permitía una instrucción SQL. La nueva herramienta exec_sql actualmente solo admite una única instrucción SQL y no permite la ejecución por lotes de múltiples instrucciones. Siga estas reglas durante la actualización:
Divida las múltiples instrucciones SQL en varias llamadas a
exec_sql.Ejecute las instrucciones una por una en el orden original del script.
Si alguna instrucción falla, detenga las llamadas posteriores y reporte el error.
No asuma que múltiples llamadas se revierten automáticamente ni que tienen atomicidad transaccional.
Cuando se devuelva
NEEDS_CONFIRMATION, complete una revisión manual y luego reintente con el motivoconfirm.El parámetro heredado
logicno tiene equivalente en la nueva versión. El recurso de destino se expresa mediante el nuevodatabaseUuid. Las bases de datos lógicas que aún no están conectadas al gateway no se pueden actualizar directamente.
Ejemplo de llamada con una sola instrucción SQL:
{
"name": "exec_sql",
"arguments": {
"databaseUuid": "<database-uuid>",
"statement": "SELECT id, status FROM orders LIMIT 20",
"maxRows": 100,
"waitSeconds": 110
}
}
Ejemplo de reemplazo de meta_table_list
La herramienta heredada getTableDetailInfo se reemplazó por dos consultas: meta_table_columns y meta_table_indexes. Primero obtenga el qualifiedName de la tabla mediante meta_table_list y luego consulte las columnas y los índices por separado:
{"name":"meta_table_columns","arguments":{"databaseUuid":"<database-uuid>","tableQualifiedName":"trade.orders"}}
{"name":"meta_table_indexes","arguments":{"databaseUuid":"<database-uuid>","tableQualifiedName":"trade.orders"}}
Ambos resultados en conjunto conforman el resultado de negocio de la antigua getTableDetailInfo.