Azure
Interaja e gerencie serviços do Azure usando linguagem natural.
Documentação
Azure MCP (Model Context Protocol) para Claude Desktop
Uma implementação do Model Context Protocol (MCP) que permite ao Claude Desktop interagir com os serviços do Azure. Esta integração permite que o Claude consulte e gerencie recursos do Azure diretamente por meio de conversas em linguagem natural.
Recursos
- Gerenciamento de Recursos do Azure: Interface com o cliente de Gerenciamento de Recursos do Azure
- Gerenciamento de Assinaturas: Liste e gerencie assinaturas do Azure
- Gerenciamento de Locatários: Liste e selecione locatários do Azure
- Autenticação Automática: Utiliza DefaultAzureCredential para métodos de autenticação flexíveis
- Tratamento de Erros: Tratamento robusto de erros com novas tentativas para falhas transitórias
- Formatação Limpa de Respostas: Respostas formatadas adequadamente e compatíveis com o Claude Desktop
Pré-requisitos
- Node.js (v18 ou superior)
- Aplicativo Claude Desktop
- Conta do Azure com permissões apropriadas
- Azure CLI (opcional, para autenticação baseada em CLI)
Instalação
Instalação Manual
- Clone o repositório:
git clone https://github.com/Streen9/azure-mcp.git
cd azure-mcp
- Instale as dependências:
npm install
- Configure o Claude Desktop:
- Abra
claude_desktop_config.json - Adicione a seguinte configuração MCP:
- Abra
{
"mcpServers": {
"sequential-thinking": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-sequential-thinking"
]
},
"azure": {
"command": "tsx",
"args": [
"C:/Users/[YourUsername]/path/to/azure-mcp/src/launcher.ts"
]
}
}
}
Autenticação
O servidor suporta múltiplos métodos de autenticação por meio do DefaultAzureCredential:
- Variáveis de Ambiente
- Identidade Gerenciada
- Azure CLI
- Visual Studio Code
- Navegador Interativo
O servidor tentará automaticamente esses métodos em sequência até que um seja bem-sucedido.
Uso
- Feche o Claude Desktop se estiver em execução (verifique o Gerenciador de Tarefas)
- Inicie o Claude Desktop
- No chat, agora você pode fazer perguntas relacionadas ao Azure, como:
- "Você pode obter todas as contas e assinaturas disponíveis do Azure?"
- "Liste todos os grupos de recursos na minha assinatura"
- "Mostre-me todas as máquinas virtuais em um grupo de recursos específico"
Exemplo de Conversa
You: Can you get all the available Azure accounts and subscriptions?
Claude: I'll help you list all available Azure tenants and subscriptions.
[Claude will then use the Azure MCP to fetch and display the information]
Desenvolvimento
Estrutura do Projeto
azure-mcp/
├── src/
│ ├── launcher.ts # Server entry point
│ ├── AzureServer.ts # Main MCP server implementation
│ └── LoggerService.ts # Logging utility
├── package.json
└── README.md
Componentes Principais
- AzureMCPServer: Classe principal do servidor que implementa o protocolo MCP
- HandleCallTool: Processa solicitações de ferramentas recebidas
- ExecuteWithRetry: Implementa lógica de novas tentativas para operações resilientes
Solução de Problemas
-
Problemas de Autenticação:
- Certifique-se de estar conectado via Azure CLI (
az login) - Verifique as variáveis de ambiente se estiver usando uma entidade de serviço
- Confirme se sua conta do Azure possui as permissões necessárias
- Certifique-se de estar conectado via Azure CLI (
-
Problemas de Conexão:
- Verifique a configuração do Claude Desktop
- Confira se os caminhos no arquivo de configuração correspondem à sua instalação
- Certifique-se de que nenhuma outra instância esteja em execução
-
Erros Comuns:
NO_TENANT: Selecione um locatário usando a ferramenta 'select-tenant'NO_CLIENTS: Garanta a inicialização e autenticação adequadasCODE_EXECUTION_FAILED: Verifique as permissões do Azure e a conexão
Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
Contribuidores
- @calclavia - Integração com smithery.ai
Agradecimentos
- Equipe do Claude Desktop pela implementação do MCP
- Equipe do SDK do Azure pelo SDK abrangente
- Model Context Protocol por permitir a integração de serviços de IA
Nota de Segurança
Esta implementação segue as melhores práticas de segurança do Azure:
- Sem credenciais codificadas
- Implementação segura da cadeia de credenciais
- Tratamento adequado de erros e sanitização
Para preocupações de segurança ou vulnerabilidades, por favor, crie uma issue.