Baseado no Model Context Protocol (MCP), o MaxCompute MCP Server (MCMCP) expõe metadados, recursos de computação e capacidades de gerenciamento de tabelas do MaxCompute como ferramentas estruturadas que agentes de IA podem invocar. O MCMCP permite que agentes de IA realizem análises de dados em larga escala, transformação de dados multimodais e operações e manutenção (O&M) inteligentes. Este tópico descreve o Remote MCP Server hospedado (recomendado) e o Local MCP Server.
Para garantir a segurança, revise e siga as precauções de segurança antes de começar.
Se você tiver dúvidas ou sugestões, forneça feedback por meio dos canais a seguir.
Visão geral
Os agentes chamam diretamente as ferramentas estruturadas fornecidas pelo MCMCP usando o protocolo MCP padrão. Não são necessários SDKs ou drivers adicionais. O MCMCP cobre todo o fluxo de trabalho de operação de dados, desde a navegação de metadados e análise SQL até o gerenciamento de tabelas.
Capacidades principais
Navegação e pesquisa de metadados de catálogo: Navegue hierarquicamente por projetos, schemas, tabelas, campos e partições. Há suporte para pesquisa em linguagem natural.
Gerenciamento de tabelas e manutenção de metadados: Crie tabelas (com opções de ciclo de vida, chave primária e atualizações parciais de colunas), insira pequenos volumes de dados e atualize comentários de tabelas, tags ou descrições de colunas.
Verificações de identidade e permissão: Visualize a identidade da conta atual e use as informações de autorização do MaxCompute para solucionar problemas de acesso.
-
Autenticação e autorização:
O Remote MCP usa OAuth da Alibaba Cloud para autorização.
O Local MCP suporta AccessKey/SecretKey (AK/SK), Security Token Service (STS), Credentials URI, ECS RAM Role e a cadeia de credenciais padrão da Alibaba Cloud.
-
Registro de cliente no lado do servidor (Client ID Metadata Documents, CIMD):
Em ambientes onde esse recurso está ativado, clientes no lado do servidor ou auto-hospedados podem usar uma URL de documento de metadados HTTPS como
client_idpara contornar o Dynamic Client Registration (DCR). No entanto, ainda é necessário consentimento explícito na página de confirmação de autorização após o login. Para mais informações, consulte Configurar clientes no lado do servidor (Client ID Metadata Documents). -
Análise e execução de SQL:
Suporta validação de instruções, estimativa de volume de dados verificados e uso de Compute Unit (CU), execução de consultas SQL somente leitura ou de escrita, consultas de status de instância e recuperação de resultados. Consultas SQL de escrita e alterações de metadados exigem confirmação do usuário.
-
Análise inteligente:
Gera rascunhos SQL somente leitura a partir de linguagem natural, diagnostica problemas de jobs e analisa o uso de cotas de computação. Os resultados indicam o escopo das evidências e fornecem ações recomendadas.
-
Análise de metadados de tabela:
Verifica estruturas de tabelas e metadados de partição sem verificar os dados da tabela.
-
Gerenciamento de SemanticSpec:
Crie e mantenha rascunhos de SemanticSpec que descrevem a semântica dos dados, visualize versões publicadas e use o DataScan para gerar e aplicar recomendações descobertas a partir de metadados semânticos.
-
Pesquisa e perguntas e respostas da base de conhecimento:
O Remote MCP inclui uma base de conhecimento integrada da documentação do MaxCompute que suporta pesquisas por palavras-chave e perguntas e respostas em linguagem natural, retornando respostas com citações.
Descoberta e leitura de Skills: O Remote MCP inclui recursos integrados de MCP Skill. Os clientes usam tools/list para descobrir ferramentas disponíveis, maxcompute_skill_list para recuperar o índice de Skills e maxcompute_skill_read para ler os arquivos de Skill necessários. Essa capacidade pode ser aplicada para análise semântica do Information Schema e orientação de feedback.
-
Análise de O&M e governança do Information Schema:
O Remote MCP inclui um pacote semântico integrado do Information Schema.
O Local MCP requer a instalação separada da Skill correspondente.
Informações de ferramentas multilíngues: O Remote MCP fornece títulos e descrições de ferramentas em chinês simplificado, chinês tradicional e inglês na saída de
tools/list, e indica se uma ferramenta depende de um modelo.
Visão geral da arquitetura

O MCMCP possui uma arquitetura em camadas com as seguintes camadas, de cima para baixo:
Ecossistema de agentes de usuário: Suporta conexões de clientes MCP como Claude Code, Codex, Qwen Code, Cursor e Qoder.
Coleção de MaxCompute Skills: Os agentes podem concluir tarefas mais complexas combinando pacotes semânticos, comandos comuns, modelos de desenvolvimento e limites de uso.
Serviço MCMCP: Encapsula capacidades como MaxCompute OpenAPI, StorageAPI e CatalogAPI em ferramentas MCP.
Capacidades subjacentes do MaxCompute: Inclui capacidades do produto, como metadados, mecanismos de computação e armazenamento.
Métodos de conexão
O Remote MCP Server é o método de conexão recomendado. Este método não exige um servidor local nem o armazenamento de uma chave de acesso em um processo local.
O Local MCP Server destina-se a auto-hospedagem, entrada/saída padrão (stdio), desenvolvimento e depuração locais, ou cenários em que você precisa controlar credenciais diretamente.
|
Caso de uso |
Método de conexão |
Descrição |
|
O cliente MCP suporta Streamable HTTP e OAuth baseado em navegador. |
Conexão direta ao Remote MCP |
Não requer a instalação de um serviço local ou a configuração de uma chave de acesso. |
|
Requer uma chave de acesso, credencial temporária STS, credentials URI, ECS instance RAM role ou a cadeia de credenciais padrão. |
Modo |
Usa o Remote MCP por padrão e recorre às ferramentas locais do SDK se o Remote MCP estiver indisponível. |
|
Deve usar exclusivamente o serviço hospedado e não pode recorrer a ferramentas locais em caso de falha. |
Modo |
Usa exclusivamente o Remote MCP. Retorna um erro se o Remote MCP estiver indisponível. |
|
Auto-hospedagem, desenvolvimento e depuração locais, ou cenários que exigem as ferramentas originais do SDK. |
Modo |
Requer a instalação do grupo de dependências opcionais |
Se o seu cliente MCP suportar OAuth baseado em navegador, conecte-se diretamente ao Remote MCP. Se você usar uma chave de acesso ou credenciais temporárias STS, instale o Local MCP Server e use o modo default.
Conectar usando OAuth baseado em navegador
O Remote MCP fornece serviços usando Streamable HTTP, um método de transporte MCP baseado em HTTP. Para conectar-se diretamente, seu cliente deve suportar Streamable HTTP e OAuth baseado em navegador.
Selecionar um endpoint
Selecione um endpoint com base na rede do seu cliente e no site da conta Alibaba Cloud. O endpoint MCP deve ser consistente dentro de uma única configuração de cliente. Não misture endpoints de rede pública e Virtual Private Cloud (VPC).
Endpoint público
-
Se você não precisar fixar o serviço em uma região específica, selecione o endpoint padrão que corresponde ao site da sua conta:
Site da conta
Endpoint MCP
Alibaba Cloud China Website
https://mcp.maxcompute.aliyun.com/mcpAlibaba Cloud International Website
https://mcp-intl.maxcompute.aliyun.com/mcp -
Se você precisar fixar o serviço em uma região específica, gere o endpoint usando o site da sua conta e o ID da região:
Site da conta
Endpoint MCP público fixado por região
Alibaba Cloud China Website
https://mcp.<regionId>.maxcompute.aliyun.com/mcpAlibaba Cloud International Website
https://mcp-intl.<regionId>.maxcompute.aliyun.com/mcp
As regras de nome de domínio servem apenas para gerar endpoints e não podem ser usadas para verificar se o serviço está disponível em uma região específica. Selecione uma região onde o serviço esteja disponível. Para acessar projetos em outras regiões, você deve especificar o ID da região de destino na conversa ou nos parâmetros da ferramenta.
A seleção do site da conta aplica-se apenas a conexões diretas usando OAuth baseado em navegador. O servidor local não requer configuração de site da conta. Você só precisa configurar a região e o tipo de rede.
Endpoint VPC
Nas regiões onde o serviço VPC está disponível, gere o endpoint com base no site da sua conta:
|
Site da conta |
Endpoint MCP VPC fixado por região |
|
Alibaba Cloud China Website |
|
|
Alibaba Cloud International Website |
|
Independentemente de usar um endpoint público ou VPC, o serviço utiliza a região do endpoint atual quando nenhuma região é especificada na conversa ou nos parâmetros da ferramenta. Por exemplo, ao conectar-se ao endpoint cn-hangzhou, a região padrão é cn-hangzhou. Se você se conectar ao endpoint cn-hongkong, a região padrão é cn-hongkong.
Pré-requisitos
Um ambiente de rede que possa acessar os nomes de domínio de endpoint mencionados anteriormente.
Um cliente MCP que suporte MCP Streamable HTTP e autorização OAuth baseada em navegador.
Uma conta Alibaba Cloud com permissões para acessar o MaxCompute.
Limitações
Escopo de permissão: Suas permissões no MaxCompute e no Resource Access Management (RAM) determinam os projetos, schemas, tabelas e instâncias que você pode acessar.
Confirmação de operação de escrita: Operações de escrita exigem confirmação explícita do usuário no lado do cliente. O gateway não fornece um segundo prompt de confirmação.
Configuração do cliente
Diferentes clientes MCP podem usar nomes diferentes para campos de configuração. Defina o endpoint MCP como o endpoint escolhido. O exemplo a seguir usa o endpoint MCP público de China (Hangzhou) para o Alibaba Cloud China Website.
Para outra região de serviço ou site de conta, selecione o endereço correspondente na tabela de endpoint público.
Se o seu cliente for executado em um ambiente VPC, use o endereço
/mcpda seção de endpoint VPC.
A configuração geral é a seguinte.
{
"mcpServers": {
"maxcompute-mcp": {
"type": "streamable-http",
"url": "https://mcp.cn-hangzhou.maxcompute.aliyun.com/mcp"
}
}
}
Se o seu cliente usar nomes de campo como endpoint, server_url ou transport, configure-os de acordo com a documentação do cliente. Continue usando o endereço /mcp das tabelas anteriores como URL.
Claude Code
Recomendamos adicionar o servidor MCP HTTP pela linha de comando:
claude mcp add --transport http --scope user maxcompute-mcp \
https://mcp.cn-hangzhou.maxcompute.aliyun.com/mcp
Após adicionar o servidor, verifique o status da conexão:
claude mcp list
claude mcp login maxcompute-mcp
Você também pode inserir /mcp em uma sessão do Claude Code para visualizar o status da conexão e acionar o login. Para usar este servidor apenas no projeto atual, altere --scope user para --scope local ou use o escopo de projeto exigido pela sua equipe.
Codex
Recomendamos adicionar o servidor MCP Streamable HTTP pela linha de comando:
codex mcp add maxcompute-mcp \
--url https://mcp.cn-hangzhou.maxcompute.aliyun.com/mcp
Após adicionar o serviço, visualize a lista de serviços e inicie o logon:
codex mcp list
codex mcp login maxcompute-mcp
Para configurar manualmente, adicione o seguinte a ~/.codex/config.toml:
[mcp_servers."maxcompute-mcp"]
url = "https://mcp.cn-hangzhou.maxcompute.aliyun.com/mcp"
Qwen Code
Recomendamos adicionar o servidor MCP HTTP pela linha de comando:
qwen mcp add --transport http --scope user maxcompute-mcp \
https://mcp.cn-hangzhou.maxcompute.aliyun.com/mcp
Se a distribuição do seu cliente usar um nome de comando diferente, substitua qwen pelo nome real do comando. Após adicionar o servidor, inicie o Qwen Code e insira /mcp em uma sessão para verificar o status da conexão e as ferramentas disponíveis. Você também pode adicioná-lo manualmente em ~/.qwen/settings.json:
{
"mcpServers": {
"maxcompute-mcp": {
"httpUrl": "https://mcp.cn-hangzhou.maxcompute.aliyun.com/mcp"
}
}
}
Se o arquivo já contiver outras configurações, mescle apenas a seção mcpServers. Não sobrescreva as configurações existentes. A menos que seu cliente ou ambiente corporativo tenha requisitos adicionais, você não precisa configurar o cabeçalho Authorization manualmente. O cliente conclui o processo de logon por meio do fluxo OAuth durante a primeira conexão.
Primeira conexão e autorização OAuth
Na primeira conexão, o cliente MCP inicia automaticamente o fluxo de autorização OAuth e abre a página de autorização da Alibaba Cloud em um navegador.
Fluxo de autorização
-
Autorize o aplicativo de terceiros na primeira conexão.
Escopo de autorização: Esta autorização é para o aplicativo OAuth
maxcompute-mcp. Ela não concede acesso aos dados do MaxCompute.Conta autorizadora: Isso deve ser feito por uma conta raiz ou um administrador RAM com a permissão
AliyunRAMFullAccess. A permissão administrativa é usada apenas para autorizar o aplicativo de terceiros e não deve ser usada como identidade de tempo de execução para acesso diário aos dados do MaxCompute. Os projetos, schemas, tabelas e instâncias que cada identidade conectada pode acessar ainda são determinados pelas suas próprias permissões no MaxCompute e no RAM.Depois que uma conta raiz autoriza o aplicativo, outros usuários RAM dessa conta podem fazer login e concluir sua própria autenticação OAuth. Usuários RAM individuais não precisam da permissão
AliyunRAMFullAccess.
Adicione o MaxCompute MCP Server no seu cliente MCP e inicie uma conexão. Isso ocorre na primeira conexão com
/mcpou na primeira chamada a uma ferramenta comotools/list.O cliente detecta a necessidade de logon e abre automaticamente um navegador para a página OAuth da Alibaba Cloud.
Confirme se a conta e as informações de autorização na página estão corretas e clique em Agree ou Authorize.
O navegador conclui o callback. O cliente salva o token e reconecta-se automaticamente ao serviço MCP. Normalmente, você não precisa autorizar novamente na mesma sessão.
Notas de uso
Verifique a origem da página: A página OAuth deve vir de um domínio oficial da Alibaba Cloud. Se o nome de domínio, a conta ou as informações de autorização parecerem incomuns, não prossiga.
Use a conta correta: Conclua a autorização com a conta Alibaba Cloud que tem permissão para acessar os dados alvo do MaxCompute. Essa conta determina quais projetos e tabelas são acessíveis. Os resultados podem diferir se você trocar de conta.
Proteja informações sensíveis: Não compartilhe seu token de acesso, token de atualização, código de autorização ou parâmetros da URL de callback com outras pessoas.
Se a página de autorização mostrar uma mensagem "Call not authorized" e afirmar que a autorização atual requer um administrador com permissão
AliyunRAMFullAccess, significa que o usuário RAM atual não pode autorizar aplicativos de terceiros para a conta raiz. Nesse caso, peça ao proprietário da conta raiz ou a um administrador RAM com essa permissão que faça logon novamente no MaxCompute MCP Server e clique em Authorize. Se a página ainda mostrar o status de autorização falha anterior, o administrador deve excluir o aplicativo na seção de gerenciamento de aplicativos OAuth do console Resource Access Management (RAM) e iniciar o logon e a autorização novamente a partir do cliente MCP. Não conceda a permissãoAliyunRAMFullAccessa uma conta de uso diário a longo prazo apenas para contornar este prompt.
Seleção de conta para sistemas empresariais compartilhados
Ao conectar o Remote MCP a um agente empresarial interno ou outro sistema compartilhado multiusuário, determine primeiro se deve preservar a identidade do usuário final:
Para isolar dados por permissões de funcionários e reter auditoria no nível do usuário, faça com que cada usuário conclua o login OAuth separadamente. As chamadas MCP usam a identidade Alibaba Cloud de cada usuário, e suas permissões no MaxCompute e no RAM determinam os dados que eles podem acessar.
Se o sistema puder usar apenas uma única identidade de logon compartilhada, crie um usuário RAM dedicado e conceda apenas as permissões mínimas necessárias do MaxCompute. Nesse caso, todas as solicitações compartilham as permissões e o principal de auditoria dessa identidade. O próprio sistema é responsável pela autenticação de usuários, isolamento de sessões e auditoria de operações.
Não use uma conta raiz ou uma conta de administrador com a permissão
AliyunRAMFullAccesscomo identidade de tempo de execução de longo prazo para um LLM, agente empresarial interno ou cliente MCP compartilhado. A autorização inicial do aplicativo e o acesso diário aos dados devem usar limites de permissão diferentes.
Configurar clientes no lado do servidor (Client ID Metadata Documents)
Plataformas de agentes empresariais internos, serviços web e outros clientes MCP no lado do servidor normalmente não podem receber um callback de navegador local e não são adequados para registro dinâmico de cliente (DCR) para cada instância de implantação. Em ambientes que suportam Client ID Metadata Documents (CIMD), esses clientes podem usar uma URL de documento de metadados HTTPS diretamente como client_id:
-
Hospede um documento de metadados do cliente em um endereço HTTPS público que o cliente possa acessar consistentemente. O campo
client_iddo documento deve corresponder exatamente a esta URL, eredirect_urisdeve listar todas as URLs de callback em uso:{ "client_id": "https://client.example.com/oauth/client.json", "client_name": "Sample Enterprise Agent", "redirect_uris": ["https://client.example.com/oauth/callback"] } -
Na configuração OAuth do cliente MCP, defina a URL do documento como o
client_id(o nome do campo pode variar dependendo do cliente).Clientes que suportam CIMD pularão o DCR e iniciarão a autorização diretamente com a URL do documento.
Clientes que não suportam CIMD operarão usando seu método de registro original.
Quando um usuário inicia uma conexão, ele ainda conclui o logon OAuth da Alibaba Cloud em um navegador. Após o logon, o serviço exibe uma página de confirmação de autorização que lista o nome do aplicativo, a URL
client_ide o domínio de callback declarados no documento. O serviço emite um código de autorização somente depois que o usuário clica explicitamente em Agree.O serviço revalida o documento durante cada tentativa de autorização. O documento deve ser acessível via HTTPS,
client_iddeve corresponder à URL da solicitação, e a URL de callback deve corresponder exatamente a um dos valores deredirect_uris. Se alguma dessas condições não for atendida, o serviço rejeita a autorização.
Restrições e observações:
Essa capacidade está disponível por ambiente. Um cliente pode verificar o campo
client_id_metadata_document_supportedna resposta de/.well-known/oauth-authorization-serverpara determinar se o ponto de entrada atual a suporta. Se o campo não existir, o cliente recorre automaticamente ao DCR ou ao registro manual.Este método suporta apenas clientes públicos. O documento não deve conter configurações confidenciais como
client_secret, e o cliente deve usar PKCE.Em um modelo de participação aberta, a página de confirmação de autorização é o limite de confiança. Não clique em Agree em nome de outros nem encaminhe a página de confirmação ou a URL de callback para terceiros.
O documento de metadados é informação pública. Não inclua tokens, chaves, nomes de domínio internos ou endereços de rede interna no documento.
Verificar a conexão
Após concluir a autorização, recomendamos verificar a conexão e as permissões seguindo estas etapas.
No seu agente de IA, insira os seguintes prompts em ordem:
"Check the status of the MaxCompute MCP connection."
"List the MaxCompute projects visible to the current identity. Return the first 10."
"Check what schemas and tables are under the
<project>project."
Se a lista de projetos estiver vazia ou se você receber um erro de permissão, verifique se sua conta Alibaba Cloud tem as permissões necessárias para o projeto MaxCompute alvo.
Conectar usando o servidor local
O servidor local é adequado para clientes MCP que suportam apenas entrada/saída padrão (stdio), cenários que requerem um serviço Streamable HTTP local ou cenários onde você precisa usar uma chave de acesso, credencial temporária STS, credentials URI, uma ECS instance RAM role ou a cadeia de credenciais padrão da Alibaba Cloud.
Modos de execução
|
Modo |
Comportamento |
Caso de uso |
|
|
Usa o Remote MCP por padrão. Recorre às ferramentas locais do SDK se o Remote MCP estiver indisponível. |
A maioria dos cenários que usam uma chave de acesso ou credencial temporária STS. |
|
|
Usa exclusivamente o Remote MCP. Retorna um erro se estiver indisponível. |
Cenários que não devem recorrer a ferramentas locais. |
|
|
Usa exclusivamente ferramentas locais do SDK. |
Auto-hospedagem e desenvolvimento e depuração locais. |
Todos os três modos suportam stdio e Streamable HTTP.
Você pode selecionar um modo usando a opção CLI --mode, a variável de ambiente MAXCOMPUTE_MCP_MODE ou o campo de nível superior mode na configuração JSON. Se você não configurar um modo, o servidor usará default.
Instalação
Requer Python 3.10 ou posterior.
-
Use
pipouuvpara instalar o pacote base do Python Package Index (PyPI).-
Para instalar usando
pip, execute o seguinte comando:python -m pip install alibabacloud-maxcompute-mcp-server -
Para instalar em um ambiente isolado usando
uv, execute o seguinte comando:uv tool install alibabacloud-maxcompute-mcp-server
Verifique o ponto de entrada da linha de comando:
alibabacloud-maxcompute-mcp-server --help -
-
Para usar o modo
localou a capacidade de fallback local do mododefault, você deve instalar as dependências opcionaislocal.-
Para instalar usando
pip, execute o seguinte comando:python -m pip install "alibabacloud-maxcompute-mcp-server[local]" -
Para instalar em um ambiente isolado usando
uv, execute o seguinte comando:uv tool install "alibabacloud-maxcompute-mcp-server[local]"
-
Configurar região, rede e credenciais
Configuração mínima
Especifique apenas a região e o tipo de rede.
{
"maxcompute": {
"region": "cn-hangzhou",
"network": "public"
}
}
O parâmetro network suporta public e vpc. O parâmetro defaultProject especifica um projeto padrão opcional. Para conectar-se ao Remote MCP, você não precisa configurar protocol, namespaceId ou o endereço do Remote MCP.
Arquivo de configuração
Salve a configuração em um caminho protegido na sua máquina local. Especifique o arquivo usando a opção --config ou a variável de ambiente MAXCOMPUTE_CATALOG_CONFIG. Alternativamente, você pode usar variáveis de ambiente em vez de criar um arquivo JSON: MAXCOMPUTE_REGION, MAXCOMPUTE_NETWORK e a opcional MAXCOMPUTE_DEFAULT_PROJECT.
Configuração de credenciais
Forneça credenciais do ambiente do processo MCP ou da cadeia de credenciais padrão da Alibaba Cloud. Use chaves de acesso estáticas apenas para fins de desenvolvimento e depuração:
export ALIBABA_CLOUD_ACCESS_KEY_ID="<accessKeyId>"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="<accessKeySecret>"
# If using STS, also set the following variable
export ALIBABA_CLOUD_SECURITY_TOKEN="<securityToken>"
# A dynamic credentials service can be used instead of the preceding static environment variables
export ALIBABA_CLOUD_CREDENTIALS_URI="<credentialsUri>"
Para ambientes como ECS instance RAM roles, você pode usar diretamente a cadeia de credenciais padrão da Alibaba Cloud.
Lembrete de segurança
Não coloque chaves de acesso, credenciais temporárias STS, credentials URI ou tokens de acesso nos args do cliente MCP, e não confirme essas credenciais em um repositório de código.
Compatibilidade com versões anteriores de configurações
Configurações anteriores de nível superior do MaxCompute, configurações de nível superior do ODPS, configurações nomeadas e configurações puras de variáveis de ambiente permanecem válidas. O servidor local pode identificar a região e o tipo de rede a partir dos endpoints padrão Front End (FE) ou CatalogAPI:
Um endpoint público corresponde a um MCP de rede pública na mesma região.
Um endpoint VPC corresponde a um MCP VPC na mesma região.
Se a região ou o tipo de rede na configuração não corresponder ao ambiente real, o servidor local retorna um erro de configuração.
Regras de região e nome de domínio: Ao configurar a região e a rede, o Local MCP Server gera automaticamente os endpoints FE, CatalogAPI e MCP para a região especificada.
Regiões na China continental usam o domínio mcp.
A região China (Hong Kong) e outras regiões fora da China continental usam o domínio mcp-intl. Você não precisa configurar manualmente o site da conta.
Nota: Você não pode usar as regras de nome de domínio para verificar se o serviço está disponível em uma região específica. Selecione uma região onde o serviço esteja disponível.
Configurar o cliente MCP
Para iniciar o modo default usando um arquivo de configuração:
{
"mcpServers": {
"maxcompute-mcp": {
"command": "alibabacloud-maxcompute-mcp-server",
"args": [
"--config",
"/path/to/config.json"
]
}
}
}
Se o arquivo executável não estiver no PATH do cliente MCP, altere o parâmetro command para o caminho de instalação real.
Alternar o modo de execução
No parâmetro args, especifique o modo de execução usando a opção --mode:
--mode remote: Força o uso do Remote MCP.--mode local: Força o uso de ferramentas locais do SDK. Você deve primeiro instalar o grupo de dependências opcionaislocal.
Transporte Streamable HTTP
alibabacloud-maxcompute-mcp-server \
--config /path/to/config.json \
--mode default \
--transport streamable-http \
--host 127.0.0.1 \
--port 8000
Após a inicialização, defina o endpoint do cliente MCP como http://127.0.0.1:8000/mcp. Por padrão, o servidor local escuta no endereço de loopback local 127.0.0.1. Altere o endereço de escuta apenas se outros hosts confiáveis precisarem acessar este processo.
Capacidades das ferramentas MCP
Normalmente, você não precisa especificar parâmetros de ferramentas manualmente. Em vez disso, descreva seu objetivo em linguagem natural.
Conexões diretas via OAuth baseado em navegador e o modo Remote MCP do iniciador local publicam as mesmas ferramentas. Apenas o modo local publica as ferramentas originais do SDK local. Embora os conjuntos de ferramentas tenham nomes diferentes, suas capacidades e casos de uso se sobrepõem amplamente.
Use a tabela a seguir para selecionar uma ferramenta. Para parâmetros detalhados, campos de resultado completos e fluxos de trabalho avançados, consulte as definições de ferramentas retornadas por tools/list e as descrições posteriores neste tópico.
Capacidade | Ferramenta Remote MCP | Ferramenta Local MCP | Limites principais de uso |
Verificação de conexão |
| Verifique com | A resposta de |
Capacidades do gateway |
| Não aplicável | Visualize a versão do gateway, versões suportadas do protocolo MCP e plug-ins e ferramentas disponíveis. |
Visualizar projetos e schemas |
|
| As permissões MaxCompute e RAM da identidade atual determinam o escopo visível. Para projetos tradicionais de dois níveis, geralmente você pode omitir o |
Metadados de tabela e partição |
|
| Primeiro, pesquise tabelas candidatas e depois leia suas informações de campo e partição. Para pesquisas de catálogo, você deve especificar o No modo Para encontrar a maior partição de nível superior que contém dados, use |
Análise SQL e instâncias |
|
| Antes de executar uma consulta, valide ou estime o volume de dados verificados e o uso de CU.
Falhas internas do MaxCompute, como uma tarefa de estimativa de uso de recursos falha, retornam erros de ferramenta categorizados e não são relatadas incorretamente como SQL inválido. Um Remote MCP deve usar explicitamente No Local MCP,
|
Rascunhos SQL em linguagem natural |
| Não aplicável | Você deve passar a O parâmetro A análise do modelo pode consumir MaxAgent Credits. |
Diagnóstico de jobs |
| Não aplicável | Especifique um job usando seu A ferramenta fornece sugestões de diagnóstico com base no status do job, detalhes de execução e logs. Ela não executa, reexecuta ou cancela o job. Se as evidências estiverem incompletas, a ferramenta retorna |
Visualizar cotas |
| Não aplicável | Esta ferramenta retorna a lista e os detalhes das cotas de computação que a identidade atual pode visualizar através do seu endpoint FE associado. Esta ferramenta não modifica cotas. |
Análise de cotas |
| Não aplicável | Analisa o consumo de recursos de cotas e jobs nos últimos 7 dias na região selecionada. Apenas cotas secundárias Subscription com capacidade fixa retornam utilização de capacidade. Cotas Pay-As-You-Go e Spot não retornam uma porcentagem de capacidade. Esta ferramenta é somente leitura. A análise do modelo pode consumir MaxAgent Credits. |
Análise de integridade de metadados de tabela |
| Não aplicável | Lê apenas os metadados de tabela e partição que a identidade atual pode acessar. Não verifica dados de tabela, chama o modelo ou consome MaxAgent Credits. Conclusões que não podem ser comprovadas por metadados são listadas em |
Verificações de conta e permissão |
|
| Verifica apenas a identidade atual e autorizações existentes. Não concede ou modifica permissões. |
CRUDL de SemanticSpec |
| Nenhuma ferramenta correspondente | O namespace é definido como o Criar, atualizar e excluir são operações de escrita. Atualizações de conteúdo de rascunho usam revisões para controle de concorrência. |
Sugestões e publicação de SemanticSpec |
| Nenhuma ferramenta correspondente | A atualização apenas aciona o DataScan e não aplica ou publica automaticamente. Aplicar e publicar exigem chamadas explícitas e devem ser confirmados pelo usuário como operações de escrita. |
Gerenciamento de tabelas e manutenção de metadados |
|
| Estas operações modificam recursos ou metadados do MaxCompute. Antes de chamá-las, exiba o projeto e a tabela alvo, resuma as alterações e obtenha confirmação explícita do usuário. |
Pesquisa e perguntas e respostas da base de conhecimento |
| Não aplicável | Pesquise trechos da documentação do MaxCompute ou recupere informações de documentos para responder a perguntas. Você pode especificar uma |
Descoberta e leitura de Skills |
| Não aplicável | A disponibilidade de Skills depende da configuração atual do serviço e da resposta de |
Análise semântica do Information Schema | Pacote semântico integrado do Information Schema | Requer instalação separada da Skill | Requer permissões de Information Schema no nível do tenant e um projeto executável na mesma região. Visualizações históricas têm latência e limitações de escopo de consulta e não devem ser usadas para determinar status em tempo real. |
Configuração de sessão local | Não aplicável |
| A alternância de configuração afeta o processo Local MCP e é mais adequada para uso com stdio ou cliente único. |
Informações de exibição da lista de ferramentas
-
Informações de exibição de ferramentas multilíngues
O Remote MCP fornece informações de exibição multilíngues para cada objeto de ferramenta na resposta
tools/list. Clientes que suportam esta extensão podem ler_meta["com.aliyun.maxcompute/display"]e exibir o título e a descrição em chinês simplificado (zh-CN), chinês tradicional (zh-TW) ou inglês (en), com base no idioma da interface.Os clientes devem confiar no conjunto de ferramentas retornado por cada chamada
tools/listem vez de manter um catálogo de ferramentas separado. Se o idioma selecionado estiver ausente ou a versão da extensão não for suportada, recorra aos campos padrãotitle,nameedescription. Para indicar uma dependência de modelo, marque uma ferramenta como suportada por MaxAgent apenas quando_meta["com.aliyun.maxcompute/model_backed"]fortrue. As informações de exibição destinam-se apenas à apresentação da UI e não devem ser usadas para decisões de permissão, faturamento ou segurança. -
Capacidades de análise inteligente
SQL em linguagem natural, diagnóstico de jobs e análise de cotas são as três ferramentas de análise inteligente do Remote MCP. Todas são somente leitura. Elas não executam automaticamente o SQL gerado, reexecutam ou cancelam jobs, ou modificam a capacidade da cota e configurações de agendamento.
A análise do modelo pode consumir MaxAgent Credits, e uma única chamada de ferramenta pode acionar várias chamadas de modelo. Quando as capacidades do modelo ou evidências necessárias estiverem indisponíveis, a ferramenta poderá retornar um resultado
partial. Use os camposwarningsemissing_evidencepara avaliar em quais conclusões você pode confiar.
Pré-requisitos para análise inteligente
O cliente MCP está conectado ao Remote MCP por meio de OAuth baseado em navegador ou do iniciador local.
A identidade autenticada atual tem as permissões necessárias para o projeto, job ou cota alvo do MaxCompute.
A região na solicitação corresponde à região onde os recursos alvo estão localizados.
Ao usar capacidades de modelo MaxAgent, a identidade atual possui uma cota válida do MaxAgent e MaxAgent Credits suficientes na região selecionada.
Para consultar metadados do tenant ou jobs históricos usando a ferramenta Generate SQL, a identidade atual deve atender aos requisitos do Information Schema.
Se você precisar de utilização histórica da capacidade da cota ou dados de consumo de jobs, as capacidades de observação histórica correspondentes devem estar disponíveis na região do serviço alvo.
A análise de cotas não requer permissões do Information Schema ou um projeto executável.
Se as capacidades do modelo estiverem indisponíveis, a ferramenta poderá retornar um resultado
partial, mas preservará quaisquer evidências determinísticas que já tenha coletado.
Normalmente, você só precisa declarar seu objetivo na conversa, e o agente seleciona a ferramenta e preenche seus parâmetros. Você também pode chamar a ferramenta MCP diretamente usando os exemplos JSON neste tópico.
Resultados da análise inteligente
Todas as três ferramentas retornam resultados MCP estruturados. Preste atenção especial aos seguintes campos:
ok: Indica se o protocolo de chamada da ferramenta foi concluído com sucesso.ok=truenão garante que as evidências estejam completas.data: Contém dados de negócios, como rascunhos SQL, resultados de diagnóstico ou observações de cota.meta.outcomeoumetadata.outcome: Indica o status do resultado de negócio.warnings: Descreve limitações não fatais, degradações ou comportamentos de fallback.missing_evidence: Lista quaisquer evidências que não puderam ser obtidas e os motivos.usage: Mostra o número de chamadas de modelo e o uso de tokens relatado pelo modelo.
Valores comuns de outcome incluem:
|
Status |
Descrição |
|
|
A ferramenta obteve evidências suficientes e concluiu a análise. |
|
|
A ferramenta foi concluída com sucesso, mas algumas evidências, como planos de execução, logs, dados históricos ou detalhes de permissão, estavam indisponíveis. Você ainda pode usar os fatos que foram retornados. |
|
|
A pergunta ou o escopo de dados é muito amplo e requer mais informações do usuário. |
|
|
A entrada, o escopo de autorização ou o conteúdo gerado viola restrições de segurança somente leitura. |
|
|
O modelo ou a consulta MaxCompute atingiu o tempo limite. |
|
|
Uma chamada de backend ou de modelo falhou e nenhum resultado utilizável foi gerado. |
Não trate um resultado partial como uma chamada de API falha. Use o campo missing_evidence para determinar quais perguntas as conclusões atuais podem responder e se você precisa complementar permissões, escopo ou realizar um diagnóstico mais profundo. Ao solucionar problemas, não copie informações de autenticação ou respostas completas de backend.
Generate SQL
Casos de uso
Gere uma consulta SQL com base em uma pergunta de negócios.
Gere uma consulta SQL que une tabelas em vários projetos ou schemas.
Verifique referências de campos e tabelas, propriedades somente leitura e o dialeto MaxCompute antes da execução.
Execute a validação SQLCost de backend e a estimativa de uso de recursos simultaneamente quando o projeto de execução for conhecido.
Gere consultas SQL do Information Schema no nível do tenant com base em metadados, histórico de jobs, uso de cotas ou problemas de permissão e governança.
Parâmetros
|
Parâmetro |
Obrigatório |
Descrição |
|
|
Sim |
A pergunta original do usuário, com no máximo 2.000 caracteres. Não concatene instruções DDL, schemas de tabelas ou prompts adicionais. |
|
|
Não |
Uma região do MaxCompute. Se omitida, a região padrão do serviço é usada. |
|
|
Não |
Um escopo rígido para descoberta de dados, com no máximo 16 itens. Você pode limitá-lo a um projeto, um projeto/schema ou tabelas específicas. Em todas as fontes, você pode especificar no máximo 20 tabelas exatas no total. |
|
|
Não |
O contexto de execução onde o chamador tem permissão para criar uma instância de consulta. Para SQL de tabelas de negócios, é usado para validação SQLCost de backend. Para SQL do Information Schema, é usado para formar parâmetros reutilizáveis para execução subsequente. Não define o escopo de descoberta de dados. |
O parâmetro sources é uma restrição de escopo, não uma dica de recuperação. Quando sources é fornecido, a ferramenta consulta apenas dentro dos projetos, schemas ou tabelas especificados e não procurará dados fora desses limites. Se uma pergunta puder abranger vários projetos ou schemas, você pode fornecer várias fontes, mas todas devem estar na mesma região.
Se sources for omitido, a ferramenta determina automaticamente se deve descobrir tabelas de negócios ou ler visualizações suportadas do Information Schema no nível do tenant com base na semântica da pergunta. A ferramenta não concede automaticamente acesso a visualizações do sistema com base em correspondências de palavras-chave ou parâmetros do chamador.
Exemplo: Escopo de dados conhecido
Prompt em linguagem natural:
In sales_dw.dwd in the China (Shanghai) region, generate an SQL query to count the number of paid orders and the total payment amount for each channel over the last 30 days, sorted by payment amount in descending order. Only generate and validate the SQL, do not execute it yet.
Argumentos equivalentes da ferramenta:
{
"question": "Count the number of paid orders and the total payment amount for each channel over the last 30 days, sorted by payment amount in descending order",
"region": "cn-shanghai",
"sources": [
{
"project": "sales_dw",
"schema": "dwd"
}
],
"analysis_context": {
"project": "sales_dw",
"schema": "dwd"
}
}
Exemplo: Restringir a tabelas específicas
{
"question": "Find the team with the highest points in each race and calculate their cumulative season points",
"region": "cn-shanghai",
"sources": [
{
"project": "analytics",
"schema": "formula_1",
"tables": ["constructors", "constructorresults", "races"]
}
]
}
Exemplo: SQL de análise de jobs históricos
{
"question": "Query the 20 jobs with the highest CU consumption in the last 7 days. Return the instance ID, project, submitter, and CU hours",
"region": "cn-shanghai",
"analysis_context": {
"project": "<A project where the current identity can create query instances in this region>"
}
}
Neste cenário, não passe sources. A ferramenta carrega a Skill integrada do Information Schema e a documentação de campos para as visualizações alvo. Ela gera uma consulta contra SYSTEM_CATALOG.INFORMATION_SCHEMA.TASKS_HISTORY e impõe uma janela de partição ds de no máximo 14 dias e uma cláusula LIMIT (intervalo: 1 a 100).
O SQL gerado deve passar por uma verificação de lista de permissões (lista de permissões de visualização do sistema, somente leitura, instrução única, nome totalmente qualificado e restrições de escopo). Se a validação for bem-sucedida, um rascunho SQL e os execute_args opcionais são retornados.
Como o MaxCompute SQLCost atualmente não suporta o Information Schema no nível do tenant, este modo ignora explicitamente a estimativa de uso de recursos. Durante a execução real, maxcompute_sql_execute realiza as mesmas verificações de segurança novamente.
Resultados e execução subsequente
A ferramenta retorna o seguinte: query_domain, uma instrução SQL somente leitura validada estruturalmente, as tabelas físicas ou visualizações do sistema usadas, suposições, avisos e uma estimativa opcional de uso de recursos. A ferramenta não executa o SQL. Se o resultado incluir execute_args, você pode passá-lo sem modificações para maxcompute_sql_execute após a confirmação do usuário.
O cliente não precisa construir ou interpretar configurações internas de execução para o Information Schema. A ferramenta de execução reconhece automaticamente as visualizações do sistema, adiciona as configurações necessárias no lado do servidor e valida independentemente o SQL novamente. A política OBO na solicitação SQL define o limite superior da autorização delegada. Todas as consultas ainda são enviadas sob a identidade MaxCompute do chamador MCP atual, e o MaxCompute as valida com base nas permissões reais.
Fluxo de trabalho recomendado
Primeiro, gere e revise o SQL. Verifique as suposições, a justificativa para a seleção da tabela e os resultados da validação.
Para consultas que consomem muitos recursos ou têm um escopo amplo, verifique o volume estimado de dados verificados e o uso de CU.
Execute a consulta somente após o consentimento explícito do usuário.
FAQ
-
Nenhum SQL foi gerado para uma pergunta sobre tabela de negócios
A consulta é muito ampla e o parâmetro
sourcesnão foi fornecido. Especifique o projeto, schema ou uma tabela específica. Para consultas do Information Schema, não adicione uma tabela de negócios como fonte para contornar uma falha de descoberta. Em vez disso, você deve especificar o objeto a ser analisado, as métricas e a janela de tempo. -
Vários conjuntos de dados semelhantes foram encontrados
Não deixe o agente adivinhar. Selecione explicitamente o escopo de dados correto.
-
O SQLCost não foi executado
No modo de tabela de negócios, isso geralmente ocorre porque nenhum
analysis_contextfoi fornecido. No modo Information Schema, a ferramenta sempre o ignora porque o MaxCompute SQLCost atualmente não suporta visualizações do sistema no nível do tenant. O resultado da estimativa de uso de recursos seráunavailable. -
A ferramenta retornou
rejected:O conteúdo gerado contém operações de escrita, múltiplas instruções ou referências de tabela que contornam
sources. -
O SQL do Information Schema foi rejeitado:
A consulta usa tabelas físicas desconhecidas ou mistas, não usa o nome completo da visualização do sistema, não possui uma cláusula
LIMITou é executada em uma visualização histórica que não possui a janeladspadrão de 1 a 14 dias.
Diagnóstico de jobs
Cenários
Identifique erros de compilação SQL, colunas ausentes ou erros de sintaxe.
Analise jobs falhos, jobs de longa duração ou jobs com uso incomum de recursos.
Revise planos de execução, progresso de estágios, resumos de uso de recursos e sinais de erro na linha do tempo.
Investigue logs de workers falhos ou outras evidências se a análise inicial for inconclusiva.
Entradas
Para cada chamada, especifique o job usando um dos seguintes métodos:
Os parâmetros
instance_ideproject.Uma URL Logview HTTPS suportada.
|
Parâmetro |
Obrigatório |
Descrição |
|
|
Condicional |
O ID da instância do MaxCompute. Se você usar este parâmetro, também especifique |
|
|
Condicional |
O projeto que contém a instância. Você pode omitir este parâmetro se a URL Logview incluir o nome do projeto. |
|
|
Condicional |
Uma URL Logview suportada. O serviço analisa esta URL localmente. Ele não envia solicitações ou redireciona para a URL. |
|
|
Não |
O schema para execução do job. Isso é tipicamente omitido para projetos tradicionais de dois níveis. |
|
|
Não |
A região onde o job é executado. |
|
|
Não |
A janela de tempo para comparação histórica. O padrão é 7 dias. O valor pode variar de 1 a 30 dias. |
|
|
Não |
|
Não inclua logs brutos, planos de execução, resultados de diagnóstico existentes ou tokens Logview como parâmetros separados. O token temporário em uma URL Logview é informação sensível. Não o copie em tickets, documentação ou logs de chat.
Exemplo: Diagnosticando um job falho
{
"instance_id": "<INSTANCE_ID>",
"project": "sales_dw",
"region": "cn-shanghai",
"depth": "standard"
}
Prompt em linguagem natural:
Diagnose job <INSTANCE_ID> in sales_dw. First, identify the failed stage and the most likely cause.
Provide actionable recommendations for a fix. Do not rerun or cancel the job.
Exemplo: Realizando uma investigação profunda
Perform a deep dive on this job. The initial analysis did not explain the root cause.
Check the available logs from failed workers and stage evidence.
Distinguish between confirmed facts, inferences, and missing evidence.
Na próxima chamada, o agente deve usar a mesma referência de job e definir depth=deep. A análise de investigação profunda ainda está sujeita a limites de contagem de leituras, tamanho de log e tempos limite. Ela não lerá logs indefinidamente.
Como interpretar os resultados
root_cause.kind: A categoria da causa principal, como erro de sintaxe SQL, skew de dados, varredura completa de tabela, UDF lenta, contenção de recursos, job de longa duração ou sobrecarga de execução.root_cause.confidence: O nível de confiança com base nas evidências disponíveis. Isso não é uma probabilidade de sucesso.findings: Os problemas identificados e seus níveis de gravidade.recommendations: Recomendações somente leitura para correções, como modificar o SQL, verificar a distribuição de dados ou ajustar o cronograma de execução.evidence: As evidências de suporte de dados de status, plano, estágio, log e linha do tempo.missing_evidence: Uma declaração explícita indicando que o plano, progresso do estágio, logs de worker ou dados de comparação histórica estão indisponíveis.
Um job bem-sucedido não significa que não há problemas. O custo de um job pequeno e bem-sucedido pode ser dominado por sobrecarga de compilação, agendamento e inicialização. Nesse caso, a ferramenta pode relatar que "a sobrecarga de execução é dominante" em vez de fabricar um gargalo de recursos.
Análise de cotas
Cenários
Visualize o uso atual de CPU e a utilização histórica de capacidade de cotas de nível 2 Subscription.
Encontre cotas de computação com jobs ativos nos últimos 7 dias, incluindo cotas Subscription, Pay-As-You-Go e Spot.
Compare cotas com base no consumo real de jobs e encontre jobs com alto uso de CPU.
Analise o nível de capacidade das cotas Subscription. Para cotas Pay-As-You-Go e Spot, analise apenas o consumo de jobs e jobs anormais.
Realize diagnósticos adicionais de jobs em jobs de alto consumo ou anormais.
Parâmetros de entrada
|
Parâmetro |
Obrigatório |
Descrição |
|
|
Não |
A região onde a cota está localizada. |
|
|
Não |
O apelido exato e visível ao usuário da cota de computação. Se você omitir este parâmetro, a ferramenta encontra cotas com jobs ativos na região selecionada dos últimos 7 dias. |
|
|
Não |
O problema de recurso a ser analisado. Se você omitir este parâmetro, a ferramenta encontra os jobs com maior consumo de recursos. |
A ferramenta aceita apenas os três parâmetros opcionais listados acima. Ela não aceita projetos, usuários, estruturas de tabelas, SQL pré-gerado, limiares ou contextos de diagnóstico. A ferramenta não envia consultas SQL do Information Schema. Ela não exige que a identidade atual tenha permissões do Information Schema ou permissões para executar projetos.
A janela de análise de jobs é de no máximo 7 dias. Os resultados cobrem apenas o escopo dos jobs retornados na resposta. Se as evidências estiverem incompletas, a ferramenta indica as informações ausentes usando partial, warnings ou missing_evidence. A utilização histórica de capacidade aplica-se apenas a cotas de nível 2 Subscription que possuem capacidade fixa. Cotas Pay-As-You-Go e Spot não possuem um denominador de capacidade fixa. Portanto, a ferramenta não retorna porcentagens de capacidade ou recomendações de planejamento de capacidade para elas.
Nome e Apelido da Cota
As cotas do MaxCompute possuem dois identificadores:
Nickname: O nome visível ao usuário. Este é o valor usado para o parâmetro
quota_nicknamee para selecionar uma cota durante a execução SQL, comoteam_etl_quota.Name: O nome físico interno retornado pela API de cota. Ele identifica o objeto de cota e não pode ser usado como valor para
quota_nickname.
Ao especificar quota_nickname, passe o Nickname exato. Se você omitir este parâmetro, a ferramenta encontra as cotas que foram usadas por jobs nos últimos 7 dias. Se o escopo dos resultados for limitado, a saída declara claramente o que não está coberto.
Exemplo: Analisar uma cota
{
"region": "cn-shanghai",
"quota_nickname": "team_etl_quota",
"question": "Analyze the 10 jobs with the highest CPU usage in the last 7 days and describe any verifiable abnormal signals"
}
Consulta em linguagem natural:
Analyze team_etl_quota in cn-shanghai. Find the jobs with the highest CPU consumption in the last 7 days. Attribute a job as abnormal only if there are direct abnormal signals for the job. Otherwise, state that the cause is unknown. Provide only recommendations. Do not modify quotas or jobs.
Exemplo: Comparar cotas ativas na janela
Omita quota_nickname:
{
"region": "cn-shanghai",
"question": "Compare compute quotas with active jobs in the last 7 days, sorted by job CPU usage. List capacity utilization separately for Subscription quotas, but do not calculate capacity percentages for Pay-As-You-Go and Spot quotas"
}
Consulta em linguagem natural:
Compare my compute quotas in cn-shanghai that had active jobs in the last 7 days, including Subscription, Pay-As-You-Go, and Spot.
Sort them by job CPU usage and list high-consumption jobs. Add capacity utilization only for Subscription quotas.
Snapshot atual, consumo histórico e utilização histórica
Não confunda estes três conceitos:
|
Dados |
Significado |
Suporte atual |
|
|
O uso atual de CPU. Isso não é uma porcentagem de 0 a 1. |
Aplica-se apenas a cotas Subscription e é válido apenas quando |
|
Jobs de alto consumo |
O consumo acumulado de CPU e memória de jobs nos últimos 7 dias. |
Suporta cotas Subscription, Pay-As-You-Go e Spot. Valores desconhecidos não são incluídos na classificação ou agregação. |
|
Utilização histórica de cota |
Os níveis médio, pico e P90 de uma capacidade fixa ao longo do tempo. |
Aplica-se apenas a cotas de nível 2 Subscription que possuem capacidade fixa. |
O consumo acumulado de CPU e memória de jobs não é o mesmo que a utilização histórica de uma cota. Se uma cota não tiver capacidade fixa ou dados históricos, a ferramenta não infere o nível médio, pico ou P90 a partir do consumo de jobs. A ferramenta também não gera recomendações de planejamento de capacidade para cotas Pay-As-You-Go ou Spot.
Requisitos do Information Schema
O Generate SQL pode usar visualizações do Information Schema no nível do tenant. A análise de cotas para utilização de capacidade e evidências de jobs não usa o Information Schema. O Generate SQL permite apenas visualizações que estão na lista de permissões do lado do servidor, como:
SYSTEM_CATALOG.INFORMATION_SCHEMA.TASKSSYSTEM_CATALOG.INFORMATION_SCHEMA.TASKS_HISTORY
Quando o Generate SQL usa essas visualizações, ele deve atender às seguintes condições:
A identidade autenticada atual deve ter permissões de leitura para o Information Schema no nível do tenant. Contas raiz geralmente têm esse acesso por padrão. O acesso para usuários RAM ou funções RAM depende da configuração definida pelo administrador do tenant.
A identidade atual deve ter pelo menos um projeto MaxCompute visível na região alvo. Este projeto é usado para enviar consultas SQL somente leitura do Information Schema. A identidade também deve ter as permissões necessárias para criar instâncias de consulta.
A região alvo deve fornecer as visualizações no nível do tenant mencionadas acima e suas dependências de backend.
Limitações de segurança e escopo:
O Generate SQL lê visualizações no nível do tenant registradas por Skills integradas, mas não pode consultar visualizações de sistema desconhecidas ou misturar consultas com tabelas físicas.
Antes que o modelo selecione uma visualização do sistema, o Generate SQL carrega a Skill raiz do Information Schema. Ele usa a granularidade de dados, a atualidade e as colunas da visualização para determinar a fonte de fatos necessária. Depois que uma visualização é selecionada, o Generate SQL carrega a documentação completa de colunas para essa visualização.
Rascunhos de visualização do sistema para o Generate SQL devem incluir um intervalo de tempo e uma cláusula
LIMIT.As consultas são sempre somente leitura. Elas não modificam cotas, configurações de agendamento ou jobs.
Latência de dados
TASKS_HISTORY não é uma interface em tempo real. Ela tipicamente tem um atraso de sincronização de dados de cerca de 5 minutos. Jobs que acabaram de ser concluídos podem não estar imediatamente disponíveis. Tente novamente mais tarde. O atraso pode ser maior dependendo da região, visualização e volume de dados. Portanto, não use visualizações históricas para verificar status em tempo real no nível de segundos. Para verificar o status em tempo real de um job, use o status de Instância SQL ou uma ferramenta de diagnóstico de jobs.
Erros de permissão e visualização
O chamador não possui permissões no nível do tenant: O Generate SQL retorna explicitamente um erro de permissão do Information Schema.
Nenhum projeto de execução na mesma região: O Generate SQL retorna uma mensagem indicando que falta um projeto visível ao chamador para executar a consulta do Information Schema.
Dependência de backend para uma visualização do sistema indisponível: O resultado indica que a visualização está indisponível. O texto do erro pode mostrar que o proprietário da visualização do sistema não é o mesmo que a identidade autenticada atual. Não atribua incorretamente o problema à conta do chamador com base nessas informações.
Casos de uso para ferramentas de análise inteligente
De problema de negócios a execução e diagnóstico
1. Use maxcompute_generate_sql to generate and validate the SQL for channel revenue over the last 30 days.
2. After reviewing and confirming the SQL, use maxcompute_sql_execute to run execute_args.
3. If the job fails or slows down significantly, use maxcompute_diagnose_job to analyze the instance.
De hotspots de cota a causas raiz de jobs
1. Omit quota_nickname and use maxcompute_analyze_quota_usage to find compute quotas that have had jobs in the last 7 days.
2. Find high-consumption jobs based on actual job consumption. Check capacity utilization only for Subscription quotas.
3. Call maxcompute_diagnose_job for instances with abnormal signals.
4. Optimize the SQL or scheduling based on job evidence. Do not automatically scale up based only on historical consumption.
Analisando jobs históricos para uma cota conhecida
Analyze the owner distribution and CPU consumption of failed jobs for team_etl_quota over the last 7 days.
Investigate the cause for the failed instance with the highest CPU consumption.
A análise de cotas não gera ou executa SQL do Information Schema. Os resultados podem cobrir apenas alguns jobs de alto consumo e não podem ser usados para calcular o número total de jobs falhos. Para analisar mais detalhadamente uma instância, chame a ferramenta de diagnóstico de jobs.
Recomendações para usar a ferramenta de análise inteligente
Forneça apenas os campos de escopo suportados pela ferramenta atual. Para geração de SQL, use
region,sourcese o opcionalanalysis_context. Para diagnóstico de jobs, use o projeto e Instance ID ou uma URL Logview. Para análise de cotas, useregione o apelido exato da cota. Não inclua campos de contexto de outras ferramentas na chamada atual.Para gerar SQL para um escopo de dados conhecido, forneça
sources. Isso evita um processo amplo de descoberta que pode resultar em zero candidatos ou múltiplos conjuntos de dados ambíguos.Para diagnóstico de jobs, use
standardprimeiro. Usedeepapenas quando os resultados forem inconclusivos ou quando for necessária uma investigação mais aprofundada.Para análise de cotas, compare primeiro os dados de consumo de jobs retornados. Em seguida, investigue detalhadamente algumas cotas e instâncias de alta demanda. Não trate resultados parciais como uma lista completa.
Sempre distinga entre fatos confirmados, julgamentos do modelo e
missing_evidence.Os usuários devem confirmar separadamente quaisquer operações de dimensionamento, agendamento, migração, execução SQL, reexecução ou cancelamento.
Regras gerais de chamada
As ferramentas podem acessar apenas os recursos do MaxCompute que a identidade atual está autorizada a acessar. Não equipare a visibilidade da ferramenta com a autorização de recursos.
Após descobrir tabelas candidatas, leia a estrutura precisa da tabela antes de gerar ou executar SQL. Não adivinhe colunas, partições ou o schema com base no nome da tabela.
O cliente deve obter confirmação explícita do usuário antes de realizar operações de escrita. Essas operações incluem escrita de SQL, criação de tabelas, inserção de dados, atualização de metadados e modificação de SemanticSpec. O gateway não realiza confirmação secundária interativa para o cliente.
Para grandes conjuntos de resultados, use paginação, restrinja o escopo da consulta ou leia de uma instância assíncrona. O Local MCP também pode gravar em um arquivo usando o
file://output_urilocal. Este caminho refere-se à máquina onde o Local MCP está localizado, não à máquina do cliente MCP.O
execution_modeparamaxcompute_sql_executeassume o padrãowlm. Ao usar MaxQA (MCQA v2), passe explicitamenteexecution_mode=maxqae oquota_nameinterativo. Não passesettings.odps.task.wlm.quotaao mesmo tempo. Para chamadas subsequentes de status, resultado ou cancelamento, passe apenas oprojecteinstance_id. Não passe ou salve a conexão ou cookie MaxQA do lado do servidor.
Casos de uso
-
Navegar por projetos e tabelas
List the MaxCompute projects I can access, and see what schemas are in my_project. View the columns, partition keys, and table comment for the user_info table in the default schema of my_project. -
Executar consultas SQL com segurança
First, view the structure of the orders table, and then estimate the scanned data volume and CU usage for this SQL query: SELECT COUNT(*) FROM orders WHERE dt='2026-05-01'Run a read-only query in my_project: SELECT * FROM default.orders WHERE dt='2026-05-01' LIMIT 100 -
Processar grandes consultas assincronicamente
Run this query asynchronously. After the instanceId is returned, poll its status and read the first 100 rows of the result upon completion. -
Exportar grandes resultados (apenas Local MCP)
Run this query synchronously and write the full result to file:///tmp/maxcompute-result/orders.jsonl; In the response, return only a preview and the final outputPath.O
output_urigrava no sistema de arquivos local da máquina que executa o Local MCP, não na máquina do cliente. O Remote MCP não suporta gravação em arquivos locais no servidor. Use os parâmetros de paginação demaxcompute_sql_fetch_resultpara ler os resultados em páginas. -
Verificar identidade e permissões
View the current MaxCompute identity used by MCP, and list my permissions in my_project. -
Pesquisar metadados
Search for tables in my_project whose names contain 'orders'. -
Visualizar cotas
List the MaxCompute quotas available to my current identity, and view the details of the default quota. -
Pesquisa e perguntas e respostas da base de conhecimento
How do I use dynamic partition inserts in MaxCompute? Search the documentation and provide an answer with citations.What is the difference between ODPS clustered tables and regular tables? When is it appropriate to use a clustered table? -
Usar o Information Schema para análise de governança e O&M
Analyze the top 10 tables that consume the most storage in the current tenant.Which tasks consumed the most compute resources in the last week? Summarize by owner and project.O Remote MCP inclui um pacote semântico integrado do Information Schema, então você pode usar prompts como esses diretamente. Para o Local MCP, você deve primeiro instalar a Skill correspondente no seu ambiente de cliente ou agente para habilitar esses cenários.
-
Manter metadados de negócios da tabela
First, read the current structure of default.orders, then change the table comment to "Orders fact table", and change the comment for the buyer_id column to "Buyer ID".A ferramenta
update_tablesuporta as seguintes alterações:Comentário da tabela:
description.Rótulos:
labels.Ciclo de vida:
expiration.days,expiration.partitionDays.Comentários de colunas:
columns.setComments.Alterar uma coluna de nível superior de NOT NULL para NULL:
columns.setNullable.Adicionar novas colunas:
columns.add.
Esta ferramenta não pode ser usada para remover colunas, alterar tipos de colunas, reordenar colunas, inserir colunas no meio, alterar uma coluna anulável para NOT NULL ou modificar a nulidade de colunas aninhadas.
-
Criar uma tabela e inserir uma pequena quantidade de dados
Create a test table demo_user in my_project.default, with columns id BIGINT and name STRING, a partition column dt STRING, and a 7-day lifecycle.Insert two rows of test data into the demo_user table, in the dt='2026-05-18' partition.Essas operações modificam recursos do MaxCompute. Conceda permissões apenas em um projeto de teste ou um projeto controlado.
-
Gerenciar SemanticSpec
Create a SemanticSpec named sales_metrics that references my_project.default.orders. Set the description to "Sales metrics semantic layer" and add a "certified" label.Read the dataReferences, semanticModel, and metricDefinitions from the USER_DRAFT of sales_metrics. Then, use the returned revision_id as the expected_draft_revision_id to update the metric definitions.Para atualizar o conteúdo de um SemanticSpec, use a revisão atual do resultado de leitura para evitar sobrescrever modificações concorrentes. Recomendamos gerar, aplicar e publicar alterações em três etapas separadas. A ação de atualização apenas aciona um DataScan e não aplica ou publica alterações automaticamente.
A Skill
maxcompute-semantic-specno Remote MCP fornece regras para o formato completo da seção, tratamento de conflitos de revisão e polling de status do DataScan. Se o cliente não carregar recursos de Skill automaticamente, primeiro chamemaxcompute_skill_listpara verificar se a Skill está disponível e, em seguida, chamemaxcompute_skill_readpara ler o ponto de entrada e os arquivos de referência. A resposta detools/listconfirma a disponibilidade real de uma Skill.
Solução de problemas
Se uma mensagem de erro incluir um Request ID, registre o Request ID, o nome da ferramenta, o carimbo de data/hora com fuso horário e o código de erro higienizado para solução de problemas. Não registre ou distribua tokens, códigos de autorização, SQL de negócios sensível, informações sensíveis de conta ou qualquer conteúdo Logview que não deva ser compartilhado externamente.
O cliente MCP não consegue encontrar ferramentas
Para conexões diretas via OAuth baseado em navegador, certifique-se de que o endpoint do serviço Remote MCP inclui
/mcpe que a mesma configuração de cliente não mistura endpoints de rede pública e VPC.Certifique-se de que o cliente usado para a conexão direta OAuth baseada em navegador suporta Streamable HTTP, OAuth e
tools/list.Verifique se o
commanddo iniciador local aponta para o executável instaladoalibabacloud-maxcompute-mcp-server. No mesmo ambiente de tempo de execução, verifique sealibabacloud-maxcompute-mcp-server --helpé executado com sucesso.Verifique se
MAXCOMPUTE_CATALOG_CONFIGaponta para um arquivo de configuração legível, ou se tantoMAXCOMPUTE_REGIONquantoMAXCOMPUTE_NETWORKestão definidos.Verifique se o modo
defaultselecionou o modolocalporque o Remote MCP está indisponível. Se as dependências locais estiverem ausentes, instalealibabacloud-maxcompute-mcp-server[local]conforme indicado pela mensagem de erro.Verifique se a lista de ferramentas disponíveis inclui a ferramenta alvo. O Remote MCP usa nomes de ferramentas
maxcompute_*, enquanto o modolocalusa os nomes originais das ferramentas do SDK. Os dois não são diretamente intercambiáveis.Após modificar a configuração, reinicie o Cursor, Claude Code ou o cliente MCP correspondente.
Falhas de autenticação, conexão ou permissão
Para conexões diretas via OAuth baseado em navegador, verifique se o usuário concluiu a autorização OAuth da Alibaba Cloud. Se a página OAuth não abrir, verifique se o cliente suporta MCP OAuth e se o navegador local ou a porta de callback está bloqueada.
Se você receber um erro 401 com uma conexão direta OAuth baseada em navegador, reautorize e verifique se o token de acesso salvo pelo cliente é válido.
Verifique se o iniciador local obteve uma AccessKey válida, credencial temporária STS, credential URI ou uma credencial da cadeia de credenciais padrão. Certifique-se de que o token de segurança STS não expirou. O iniciador local não requer OAuth baseado em navegador.
Verifique se a
regione anetworksão consistentes com o ambiente alvo do MaxCompute e se os endereços de serviço FE e CatalogAPI na configuração original apontam para a mesma região e tipo de rede.Verifique se seu ambiente VPC pode acessar o endpoint VPC do CatalogAPI e o endpoint VPC do MCP na mesma região. Uma configuração VPC não pode ser usada para conectar-se a um endpoint MCP de rede pública.
O modo
remoteretorna um erro quando o Remote MCP está indisponível. O mododefaulttenta usar a ferramenta local do SDK.Se ocorrer um erro 403, certifique-se de que a conta Alibaba Cloud atual tenha permissões MaxCompute e RAM para o projeto alvo.
Verifique se o ID da região alvo na conversa ou nos parâmetros da ferramenta está correto. Se não for especificado explicitamente, o serviço usa a região padrão do ponto de entrada atual.
Ao usar uma credentials URI, certifique-se de que a máquina que executa o iniciador possa acessar
ALIBABA_CLOUD_CREDENTIALS_URI.Use
maxcompute_access_checkdo Remote MCP oucheck_accessdo modolocalpara verificar sua identidade atual antes de solucionar problemas da ferramenta específica.
Falhas na pesquisa de metadados
A ferramenta Remote MCP maxcompute_schema_search_metadata e a ferramenta Local MCP search_meta_data no modo local usam a mesma sintaxe de consulta Catalog. Causas comuns de erros incluem:
Você está usando
search_meta_datano modolocal, masnamespaceIdouMAXCOMPUTE_NAMESPACE_IDnão está configurado. O Remote MCP não requer esta configuração.A instrução de consulta está sem
type=TABLE,type=RESOURCEoutype=SCHEMA.A consulta usa condições de projeto e região incompatíveis.
Falhas na análise, execução ou recuperação de resultados SQL
Se a resolução do nome da tabela SQL falhar, primeiro use maxcompute_schema_describe_table do Remote MCP ou get_table_schema do Local MCP para ler o schema da tabela, para que o agente possa usar a referência precisa da tabela retornada. Os formatos comuns de nome de tabela são schema.table ou project.schema.table para um modelo de 3 camadas, e table ou project.table para um modelo de 2 camadas.
Se o Remote MCP rejeitar uma instrução SQL como operação de escrita, confirme se o usuário pretende realizar a escrita e use explicitamente mode=write após receber a confirmação. Não modifique o modo para contornar a verificação somente leitura.
Se uma execução SQL atingir o tempo limite ou o resultado for truncado:
-
Priorize a execução assíncrona.
O Remote MCP usa
maxcompute_sql_get_statusemaxcompute_sql_fetch_resultpara continuar consultando.O Local MCP realiza consultas de acompanhamento usando
get_instance_statuseget_instance.
O Remote MCP usa
limitecursorpara paginar e restringir o escopo da consulta. O Local MCP também pode usaroutput_uri=file:///path/to/result.jsonlpara gravar na máquina onde o Local MCP está localizado.Antes de executar a operação, chame a ferramenta de estimativa de uso de recursos correspondente e limite o consumo de recursos com base nas definições de parâmetros em
tools/list.
Pacotes semânticos
O pacote semântico do Information Schema suporta cenários de operações de sistema e governança. Ele é construído sobre visualizações de metadados INFORMATION_SCHEMA no nível do tenant do MaxCompute e transforma metadados de baixo nível em métricas, entidades e runbooks que um agente pode entender e consultar diretamente.
Remote MCP
O MaxCompute Remote MCP suporta leitura e gerenciamento de pacotes semânticos (SemanticSpec). Um pacote semântico armazena termos de negócios, definições de métricas, relacionamentos de tabelas e exemplos de consultas, que um agente referencia para entender perguntas de negócios e gerar SQL.
O Remote MCP inclui um pacote semântico integrado do Information Schema. Após a conexão do Remote MCP, perguntas de governança e operações sobre armazenamento, custo, permissões e jobs podem ser feitas diretamente no agente, sem instalar Skills adicionais.
Proprietários de dados também podem gerar sugestões semânticas por meio de conversas, revisá-las e, em seguida, atualizar e publicar o pacote semântico.
A análise de cotas usa um caminho de dados separado e somente leitura e não executa SQL do Information Schema.
-
Pré-requisitos
Antes de usar pacotes semânticos, ative o MaxAgent e, em seguida, conecte-se ao Remote MCP e conclua a autenticação conforme descrito em Guia do serviço MaxCompute MCP. Para as permissões necessárias para gerenciar pacotes semânticos e acessar dados, consulte visão geral do pacote semântico.
-
Ferramentas de pacotes semânticos
As seguintes ferramentas aplicam-se ao Remote MCP. O modo
localdo iniciador local não fornece essas ferramentas. As ferramentas disponíveis na conexão atual são determinadas pela lista de ferramentas (tools/list) que o cliente recupera.Na maioria dos casos, descrever o objetivo na conversa é suficiente. O agente seleciona as ferramentas.
Ferramenta
Finalidade
maxcompute_semanticspec_listEncontra pacotes semânticos visíveis para a identidade atual
maxcompute_semanticspec_getVisualiza informações do pacote semântico e lê o rascunho, sugestões do sistema ou conteúdo atualmente publicado
maxcompute_semanticspec_createCria um pacote semântico e especifica seu escopo de dados
maxcompute_semanticspec_updateAtualiza informações do pacote semântico ou conteúdo do rascunho
maxcompute_semanticspec_refresh_suggestionsInicia uma varredura semântica para gerar ou atualizar sugestões do sistema
maxcompute_datascan_get_latest_job_statusVerifica o status de um job de varredura semântica
maxcompute_semanticspec_apply_suggestionsAplica sugestões selecionadas do sistema ao rascunho
maxcompute_semanticspec_publishPublica conteúdo semântico revisado
maxcompute_semanticspec_deleteExclui um pacote semântico
-
Exemplos
-
Para analisar dados com um pacote semântico publicado, insira um prompt como:
List the semantic packages visible in <region_id> and find the order analysis semantic package of the <project_name> project. Read its published content, explain how "valid order count" is defined, and then generate SQL that summarizes the last 7 days by channel. Do not execute it yet.Verifique se o SQL gerado usa a definição de métrica esperada e, em seguida, execute a consulta de acordo com o fluxo de trabalho do cliente. Ler um pacote semântico não concede permissões de consulta em tabelas.
-
Para manter um pacote semântico, insira um prompt como:
Prepare to refresh the system suggestions for <semantic_spec_name>. First show the data scope and the planned operations, and start the scan only after I confirm. When the scan is complete, show the suggestions for my review.Após a atualização das sugestões do sistema, revise o conteúdo antes de decidir se deve aplicá-lo ao rascunho e publicá-lo. A atualização não aplica ou publica sugestões automaticamente.
ImportanteUma varredura semântica pode enviar consultas MaxCompute e consumir recursos de computação. Atualizar um rascunho ou aplicar sugestões substitui toda a seção de conteúdo selecionada. Antes de atualizar ou aplicar, leia e retenha quaisquer definições manuais que ainda sejam necessárias e, em seguida, verifique o resultado. Execute operações de criação, modificação, varredura, publicação e exclusão somente após o alvo e o impacto serem confirmados no cliente.
-
Local MCP
O Local MCP fornece apenas ferramentas locais do MaxCompute MCP. Para usar os seguintes cenários semânticos com o Local MCP, instale a Information Schema Skill no ambiente do cliente ou agente:
|
Cenário |
Capacidade |
|
Diagnóstico de pressão de armazenamento |
Identifica as tabelas que mais consomem armazenamento, riscos de inflação de partições e problemas de atualização de dados. |
|
Diagnóstico de pressão de custos |
Detalha o consumo de computação por proprietário, projeto e tipo de job para identificar jobs de alto consumo. |
|
Análise de aumento de falhas de jobs |
Investiga jobs falhos por tipo, proprietário e projeto para ajudar a identificar causas raiz. |
|
Auditoria de exposição de permissões |
Audita distribuições de concessões no nível de tabela para identificar contas de alto privilégio e riscos de concessão excessiva. |
|
Monitoramento de tabelas quentes |
Identifica tabelas acessadas frequentemente e aponta tabelas obsoletas com base no último tempo de acesso. |
|
Análise de lacunas de governança de metadados |
Mede a cobertura de comentários de tabelas e colunas para identificar lacunas de governança. |
|
Análise de desempenho de jobs |
Analisa durações médias e P99 de jobs para identificar jobs lentos de cauda longa e anomalias de fila. |
|
Auditoria de túnel de dados |
Rastreia volumes de upload e download do Tunnel para verificar comportamentos anormais de transferência. |
|
Auditoria de funções de usuário |
Revisa mapeamentos de usuário para função para verificar atribuições de funções de administrador. |
|
Análise de ciclo de vida de partições |
Monitora tendências de crescimento de contagem de partições e verifica se as políticas de ciclo de vida estão sendo aplicadas. |
Precauções de segurança
Use o Remote MCP Server sempre que possível. Não configure uma AccessKey de longo prazo em um Local MCP Server apenas para avaliação.
-
Use clientes confiáveis
Configure e acesse endpoints de produção apenas por meio de clientes MCP confiáveis. Não faça solicitações MCP a partir de páginas não confiáveis.
-
Conclua a autorização OAuth você mesmo
Conclua as etapas na página de confirmação OAuth você mesmo. Não permita que outros façam isso em seu nome.
-
Use uma conta com privilégio mínimo
As permissões de uma conta determinam quais recursos do MaxCompute o MCP pode acessar. Use uma conta com apenas as permissões necessárias.
-
Não vaze credenciais sensíveis
Não compartilhe tokens, tokens de atualização, códigos de autorização, chaves ou URLs de callback em chats, tickets, documentos ou capturas de tela.
Não confirme sua AccessKey, token STS,
config.jsonou Credentials URI no Git.
-
Confirme explicitamente operações de escrita
Antes de executar uma operação de escrita, confirme se o cliente exibe o projeto alvo, tabela, SQL ou um resumo das alterações. Verifique se as informações estão corretas antes de prosseguir.
Canais de feedback
Para fornecer feedback sobre o serviço Remote MCP, compatibilidade de clientes, erros de ferramentas, problemas de documentação ou sugestões de recursos, use os seguintes canais:
Você também pode instruir o agente a ler skill://maxcompute-mcp-feedback/SKILL.md para obter o link do modelo de problema, campos de diagnóstico sugeridos e regras de higienização. Este recurso não cria um problema no GitHub, faz upload de logs ou salva seu feedback.
Antes de enviar, certifique-se de que o problema não contenha nenhum dos seguintes itens: tokens, cookies, AccessKeys, URLs de callback OAuth com parâmetros de consulta, SQL sensível, dados de clientes ou conteúdo Logview sensível.
Para problemas de permissão no nível da conta, faturamento, Service-Level Agreements (SLAs), falhas de produção, vulnerabilidades de segurança ou dados confidenciais, entre em contato com o suporte oficial da Alibaba Cloud ou canais de segurança. Não relate esses problemas em um problema público.