O Model Context Protocol (MCP) estabelece um canal de comunicação entre modelos de linguagem grandes (LLMs) e ferramentas externas. Este tópico descreve como configurar o MCP do Data Management (DMS) para acessar com segurança os bancos de dados hospedados no DMS por meio de um servidor MCP compatível com multicloud.
Informações básicas
As implementações tradicionais de MCP para bancos de dados apresentam as seguintes limitações:
Compatibilidade limitada com bancos de dados heterogêneos: suportam conexões e operações apenas em bancos de dados do mesmo tipo, impedindo o gerenciamento unificado entre plataformas.
Ausência de gerenciamento de contas e permissões: não possuem capacidade centralizada para gerenciar credenciais independentemente e dependem de manutenção manual, introduzindo riscos de segurança.
Operações SQL limitadas: aceitam apenas instruções SQL básicas e padrão inseridas manualmente, sem capacidade de analisar sintaxes complexas ou fora do padrão.
Falta de suporte nativo a NL2SQL: não oferecem consultas de linguagem natural para SQL (NL2SQL), exigindo integração com um LLM externo para usar esse recurso.
O DMS MCP resolve esses problemas ao fornecer aos LLMs capacidades unificadas de ingestão e acesso a dados por meio de interfaces padronizadas, superando desafios de compatibilidade e segurança. Além disso, habilita novos recursos, como recuperação de informações de schema, geração de código Data Access Object (DAO), análise estrutural e roteamento automático de SQL para obter dados com precisão para aplicações de camada superior.
Recursos principais do DMS MCP
-
Acesso seguro
Hospedagem segura de credenciais: o DMS gerencia nomes de usuário e senhas de bancos de dados com segurança, eliminando a manipulação manual e evitando vazamentos de informações sensíveis.
Acesso por rede privada: acesse bancos de dados por uma rede privada sem expor endpoints públicos, garantindo a segurança e a privacidade dos dados.
Controle de acesso refinado: aplique permissões precisas nos níveis de instância, banco de dados, tabela, coluna e linha para evitar operações não autorizadas e proteger os dados.
Detecção e bloqueio de instruções SQL de alto risco: regras de segurança integradas identificam e bloqueiam instruções SQL potencialmente perigosas em tempo real para mitigar riscos.
Auditoria e rastreabilidade de SQL: todas as operações SQL são registradas em log para garantir rastreabilidade completa e auditoria de conformidade, atendendo aos requisitos regulatórios.
-
Consulta inteligente
Algoritmo NL2SQL integrado: converte perguntas em linguagem natural em consultas SQL combinando tabelas relevantes e compreendendo o contexto de negócios. A consulta é executada para retornar resultados rapidamente.
Base de conhecimento personalizável: inclui metadados integrados e uma base de conhecimento de consultas. Personalize o conhecimento de negócios e padrões de consulta para criar uma capacidade de consulta inteligente adaptada aos seus cenários específicos.
-
Suporte a múltiplas fontes de dados
Gerenciamento unificado de diversas fontes de dados: o DMS MCP suporta mais de 40 bancos de dados e data warehouses principais, permitindo acesso unificado a vários tipos de dados.
Gerenciamento centralizado de múltiplos ambientes: gerencie fontes de dados em ambientes de desenvolvimento, teste e produção a partir de uma única interface, aumentando a eficiência de operações e manutenção (O&M).
Integra-se perfeitamente com plataformas de nuvem principais, como Alibaba Cloud e AWS, além de bancos de dados e data warehouses autogerenciados, reduzindo efetivamente os custos de manutenção.
Diagrama de fluxo de trabalho
O diagrama a seguir mostra o fluxo de trabalho de acesso a dados quando um cliente envia uma solicitação.
Cenários
Cenário 1: Gerar código DAO (Data Access Object) com IDEs de IA como Tongyi Lingma
A comparação a seguir contrasta fluxos de trabalho de desenvolvimento tradicionais com o desenvolvimento inteligente usando o DMS MCP.
Fluxo de trabalho tradicional: execute manualmente instruções SQL de criação de tabelas usando uma ferramenta de banco de dados, escreva código DAO em um ambiente de desenvolvimento integrado (IDE), construa dados usando uma ferramenta de banco de dados e visualize os dados.
Fluxo de trabalho de desenvolvimento inteligente: projete tabelas em uma IDE de IA, permita que o DMS MCP execute automaticamente instruções SQL de criação de tabelas, gere código DAO automaticamente na IDE, use o MCP para construir dados de forma inteligente e visualize os resultados.
Cenário 2: Usar o NL2SQL do DMS para obter estatísticas de dados diretamente
Analistas de marketing podem usar o NL2SQL do DMS para recuperar resultados estatísticos em linguagem natural, facilitando a análise de tendências de dados.
Preços
O DMS MCP está atualmente em preview público e disponível sem custo.
Se precisar de mais informações sobre esta solução, preencha o formulário para fornecer seus dados de contato ou entre no grupo do DingTalk (ID: 129600002740) para falar com o suporte técnico do DMS.
Preparativos
Antes de usar o DMS MCP para acessar bancos de dados hospedados no DMS, registre suas instâncias de banco de dados no DMS e ative a hospedagem de segurança para cada instância. Use um dos métodos a seguir para registrar instâncias:
Método 1: Registrar instâncias de banco de dados da Alibaba Cloud usando a ferramenta DMS MCP
Este método suporta apenas instâncias de banco de dados da Alibaba Cloud.
Instâncias registradas com esta ferramenta têm a hospedagem de segurança ativada automaticamente por padrão.
O DMS MCP Server fornece a ferramenta addInstance para ajudar você a registrar instâncias rapidamente no DMS. Em seu agente integrado ao MCP (aplicação de IA conversacional), instrua o LLM a registrar uma instância fornecendo detalhes como ID da instância, nome de usuário do banco de dados, senha e região. O LLM invocará automaticamente a ferramenta apropriada.
Método 2: Registrar instâncias de banco de dados da Alibaba Cloud, de outras nuvens ou autogerenciadas pelo console do DMS
Este método suporta instâncias de banco de dados da Alibaba Cloud, instâncias em outras nuvens e instâncias autogerenciadas. Os passos a seguir usam um banco de dados Alibaba Cloud ApsaraDB RDS for MySQL como exemplo.
Faça login no DMS 5.0.
-
Na seção Database Instances do painel de navegação à esquerda, clique em no ícone Add Instance
.NotaAlternativamente, escolha na barra de navegação superior e clique em New na página Instances.
-
Na página Add Instance, insira as informações da instância.
Categoria
Item de configuração
Descrição
Data source
-
O padrão é Alibaba Cloud - MySQL. É possível alterar o tipo de banco de dados.
Basic information
Database type
Selecione o tipo de instância de banco de dados.
NotaApós selecionar um tipo de banco de dados, o DMS atualiza automaticamente os itens de configuração na página Basic Information.
Instance region
Selecione a região onde a instância de banco de dados reside.
Other primary accounts
Este campo aparece apenas se você selecionar Cross Alibaba Cloud Account Instance. Selecione a conta raiz proprietária da instância de banco de dados.
NotaSe a conta raiz não aparecer na lista, clique em Add User para adicionar a conta raiz do comprador. Para detalhes, consulte Adicionar usuário.
Registration method
Selecione como registrar a instância de banco de dados. As opções são Instance ID ou Connection string.
Instance ID ou Connection string
Insira o Instance ID ou a Connection string.
NotaUma string de conexão consiste em um endpoint privado e porta. Para RDS MySQL, o formato é rm-XXXXXXX.mysql.rds.aliyuncs.com:3306.
Security Hosting
Mantenha esta opção ativada.
Ativar a hospedagem de segurança impede a exposição direta de credenciais e permite controle de permissões refinado.
Access method
Os seguintes métodos de acesso estão disponíveis:
-
Username and password logon: insira manualmente um nome de usuário e senha existentes do banco de dados.
-
KMS credential logon: selecione manualmente uma credencial RDS criada no KMS para acesso ao banco de dados.
NotaEsta opção aparece apenas ao registrar instâncias RDS.
Value-added feature package
Selecione pacotes de recursos conforme necessário.
-
Security Collaboration ou Stable Change (escolha um): o Security Collaboration inclui todas as capacidades do Stable Change e adiciona recursos DevOps para personalizar fluxos de trabalho de desenvolvimento e aprovação. O Stable Change fornece soluções para operações estáveis de banco de dados, como alterações sem bloqueio e revisão de SQL.
NotaSe você não selecionar Security Collaboration ou Stable Change, a instância usará o Flexible Management por padrão.
-
Sensitive Data Protection: este recurso controla e mascara dados sensíveis. Ative-o conforme suas necessidades de negócios. Para detalhes, consulte Ativar Sensitive Data Protection.
Security rules
Este campo aparece apenas se você selecionar Security Collaboration.
Escolha regras de segurança padrão do sistema ou regras de segurança personalizadas para controle refinado do banco de dados.
Classification and grading template
Este campo aparece apenas quando o Sensitive Data Protection está ativado. Para detalhes, consulte Modelo de classificação e graduação.
Advanced information
-
Mantenha os valores padrão para os parâmetros nesta seção. Para detalhes, consulte Registrar instâncias ApsaraDB.
-
-
Após inserir as informações necessárias, clique em Test Connection no canto inferior esquerdo.
NotaSe o teste de conexão falhar, revise as informações da instância inseridas e corrija quaisquer erros com base na mensagem de erro.
-
Após a mensagem Connection successful aparecer, clique em Submit.
A instância de banco de dados foi registrada com sucesso no DMS.
Para mais informações sobre os procedimentos de registro, consulte Registrar instâncias ApsaraDB e Registrar instâncias de banco de dados de outras nuvens ou autogerenciadas.
Modos de uso
O DMS MCP Server suporta dois modos de uso.
|
Modo |
Cenário aplicável |
|
Modo 1: Modo multi-instância |
Use este modo para gerenciar e acessar múltiplas instâncias de banco de dados em diferentes ambientes. Registre todas as instâncias no DMS e gerencie-as por meio do DMS MCP Server. |
|
Modo 2: Modo banco de dados único |
Indicado para acesso a um único banco de dados. Configure o parâmetro CONNECTION_STRING no servidor para especificar o banco de dados alvo. Ao iniciar o serviço, o DMS MCP Server acessa diretamente o banco de dados especificado. Formato: No console do DMS, localize o banco de dados na lista à esquerda, clique duas vezes em seu nome e use a janela SQL para obter rapidamente o valor de Após abrir a janela SQL, visualize o valor na barra de informações de conexão na parte superior, por exemplo: |
Início rápido
Opção 1: Executar usando um pacote PyPI
-
Obtenha uma AccessKey ou um token do Security Token Service (STS) com as permissões AliyunDMSFullAccess para o Data Management (DMS).
Para mais informações sobre como adicionar permissões, consulte Gerenciamento de autorização.
-
Adicione a seguinte configuração ao arquivo de configuração do seu cliente MCP.
-
Modo multi-instância
{ "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" } } } } -
Modo banco de dados único
{ "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" } } } }
-
Opção 2: Usar o serviço MCP hospedado no DMS
Faça login no DMS 5.0.
-
Ative o serviço MCP.
-
No canto inferior direito, passe o ponteiro do mouse sobre o ícone MCP
e clique em Activate Now na caixa de diálogo exibida.A caixa de diálogo DMS MCP exibe quatro recursos principais: Credential Security (hospedagem de credenciais integrada), Secure Execution (acesso por rede privada e permissões refinadas), Unified Compatibility (suporte a mais de 40 fontes de dados principais) e Intelligent Querying (NL2SQL integrado). A caixa de diálogo também fornece links rápidos para documentação do produto e vídeos de demonstração.
-
Selecione o escopo de ativação para o serviço MCP.
All databases: todas as instâncias de banco de dados registradas seguindo os passos na seção Pré-requisitos.
-
Specific database: uma das instâncias de banco de dados registradas seguindo os passos na seção Pré-requisitos.
NotaSe você selecionar Specific database, também deverá selecionar um banco de dados alvo.
Clique em Confirm Activation.
-
-
Após a ativação do serviço, visualize as informações de configuração do MCP.
NotaPasse o ponteiro do mouse sobre o ícone MCP
no canto inferior direito para visualizar a configuração do MCP na caixa de diálogo exibida. -
Integre o serviço DMS MCP ao seu agente de IA e comece a usá-lo.
NotaAo usar o serviço DMS MCP, defina o Bearer Token no cabeçalho Authorization com base no valor do campo Authorization no MCP configuration example descrito no Passo 3.
Para alterar o escopo de bancos de dados do MCP Server, cancele primeiro o serviço. Passe o ponteiro do mouse sobre o ícone MCP
, clique em Cancel Service e, em seguida, clique em Confirm Cancellation na caixa de diálogo exibida. Após o cancelamento, ative o MCP Server novamente.
Opção 3: Usar o serviço DMS MCP hospedado em outras plataformas
Use o serviço DMS MCP no Alibaba Cloud Model Studio, ModelScope e Function AI.
Ferramentas suportadas pelo DMS MCP
|
Nome da ferramenta |
Descrição |
Modo suportado |
|
|
Registra uma instância no DMS. Se a instância já existir, retorna suas informações. |
Modo multi-instância |
|
|
Busca uma lista de instâncias no DMS. |
Modo multi-instância |
|
|
Obtém informações detalhadas da instância por host e porta. |
Modo multi-instância |
|
|
Busca bancos de dados por schemaName. |
Modo multi-instância |
|
|
Obtém informações detalhadas de um banco de dados específico. |
Modo multi-instância |
|
|
Busca tabelas em um banco de dados especificado. |
Modo multi-instância e modo banco de dados único |
|
|
Obtém informações detalhadas de uma tabela de banco de dados específica. |
Modo multi-instância e modo banco de dados único |
|
|
Executa um script SQL e retorna o resultado. |
Modo multi-instância e modo banco de dados único |
|
|
Cria um ticket de alteração de dados para enviar solicitações de operação DDL/DML. |
Modo multi-instância e modo banco de dados único |
|
|
Consulta detalhes do ticket, incluindo status, fluxo de trabalho de aprovação e logs de execução. |
Modo multi-instância e modo banco de dados único |
|
|
Envia um ticket para o fluxo de trabalho de aprovação para revisão antes da execução. |
Modo multi-instância e modo banco de dados único |
|
|
Converte perguntas em linguagem natural em instruções SQL executáveis. |
Modo multi-instância |
|
|
Consulta bancos de dados usando linguagem natural (NL2SQL + execução SQL). |
Modo banco de dados único |
|
|
Corrige automaticamente instruções SQL com erros de sintaxe ou lógica. |
Modo multi-instância e modo banco de dados único |
|
|
Fornece explicações e sugestões para problemas de sintaxe SQL. |
Modo multi-instância e modo banco de dados único |
|
|
Analisa e otimiza instruções SQL para melhorar a eficiência de execução. |
Modo multi-instância e modo banco de dados único |